Conseil iptables
scomp
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
tufs Messages postés 1272 Statut Contributeur -
tufs Messages postés 1272 Statut Contributeur -
Bonjour
J'aimerais avoir des conseils pour une règle iptable que je viens de créer en parcourant le net.
Mon réseau et :
Un réseau local en 10.150.20.0 connecté sur proxy squid (eth0 - 10.150.20.1/24) avec (eth1 - 192.168.0.1/24) en sortie internet (jaimerais que le proxy face office de firewall + proxy)
Voici la règle que j'ai créé
-----------------------------
# Vider les tables
iptables -F
iptables -X
# Interdire toutes les connexions entrantes et sortantes
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# pour accepter tous sur la machine locale
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Activer ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
# Autoriser les requettes DNS et WWW
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
# Autoriser le ping
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
# accepter que le proxy ai une connexion internet directe
iptables -A OUTPUT -o eth1 -m state --state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -m state --state ESTABLISHED -p tcp --sport 80 -j ACCEPT
# LAN = Acces internet complet
#iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
#iptables -A FORWARD -o eth1 -i ppp0 -j ACCEPT
# Activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Rendre le proxy transparent
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.150.20.1:3128
# MASQUERADE eth0 vers eth1
iptables -t nat -A POSTROUTING -s 10.150.20.0/24 -j MASQUERADE
# Toutes les règles qui n'on pas passé seront refusées
iptables -A INPUT -j DROP
iptables -A FORWARD -j DROP
iptables -A OUTPUT -j DROP
------------------------------------
Pensez vous que les règles sont correctes
Merci
J'aimerais avoir des conseils pour une règle iptable que je viens de créer en parcourant le net.
Mon réseau et :
Un réseau local en 10.150.20.0 connecté sur proxy squid (eth0 - 10.150.20.1/24) avec (eth1 - 192.168.0.1/24) en sortie internet (jaimerais que le proxy face office de firewall + proxy)
Voici la règle que j'ai créé
-----------------------------
# Vider les tables
iptables -F
iptables -X
# Interdire toutes les connexions entrantes et sortantes
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# pour accepter tous sur la machine locale
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Activer ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
# Autoriser les requettes DNS et WWW
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
# Autoriser le ping
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
# accepter que le proxy ai une connexion internet directe
iptables -A OUTPUT -o eth1 -m state --state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -m state --state ESTABLISHED -p tcp --sport 80 -j ACCEPT
# LAN = Acces internet complet
#iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
#iptables -A FORWARD -o eth1 -i ppp0 -j ACCEPT
# Activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Rendre le proxy transparent
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.150.20.1:3128
# MASQUERADE eth0 vers eth1
iptables -t nat -A POSTROUTING -s 10.150.20.0/24 -j MASQUERADE
# Toutes les règles qui n'on pas passé seront refusées
iptables -A INPUT -j DROP
iptables -A FORWARD -j DROP
iptables -A OUTPUT -j DROP
------------------------------------
Pensez vous que les règles sont correctes
Merci
8 réponses
salut
je vois pas l'interet de ta derniere regle si tu mets (au debut) DROP par defaut
d'un point de vue secure je te dirais de refuser le ping ou alors d'imposer une limite au nombre de ping
je ne sais plus si c'est faisable mais je te dirais de ne garder le ESTABLISHED et RELATED seulement pour les connexions que tu as specifie.
apres je vais m'arreter la sinon je vais dire encore plus de betises
je vois pas l'interet de ta derniere regle si tu mets (au debut) DROP par defaut
d'un point de vue secure je te dirais de refuser le ping ou alors d'imposer une limite au nombre de ping
je ne sais plus si c'est faisable mais je te dirais de ne garder le ESTABLISHED et RELATED seulement pour les connexions que tu as specifie.
apres je vais m'arreter la sinon je vais dire encore plus de betises
Salut,
au lieu de
echo 1 > /proc/sys/net/ipv4/ip_forward
edite plutôt le fichier /etc/sysctl
et mets la ligne
iptables -A INPUT -j DROP
iptables -A FORWARD -j DROP
iptables -A OUTPUT -j DROP
Inutile, tu as déjà fixé la politique de tes chaînes au début de script
Tu as 2 cartes reséaux eth0 et eth1 mais je ne vois pas de communication entre les interfaces (chaîne FORWARD)
au lieu de
echo 1 > /proc/sys/net/ipv4/ip_forward
edite plutôt le fichier /etc/sysctl
et mets la ligne
net.ipv4.ip_forward = 1# Toutes les règles qui n'on pas passé seront refusées
iptables -A INPUT -j DROP
iptables -A FORWARD -j DROP
iptables -A OUTPUT -j DROP
Inutile, tu as déjà fixé la politique de tes chaînes au début de script
Tu as 2 cartes reséaux eth0 et eth1 mais je ne vois pas de communication entre les interfaces (chaîne FORWARD)
Est-ce que cette règle est bonne
#Fowarding du lan vers l'Internet
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --sport 80 -j ACCEPT
Merci
#Fowarding du lan vers l'Internet
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --sport 80 -j ACCEPT
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut
à voir =>>
# Cela bloqueras les scans de ports dit < furtifs >> n accepte que les paquets TCP avec le flag SYN
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state NEW,RELATED -p tcp --tcp-flags ! ALL SYN -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j DROP
# Filtrage des broadcasts
iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP
# Delais à l etablissement de certaines connection ( FTP ou SMTP )
iptables -A INPUT -p tcp --destination-port auth -j REJECT --reject-with tcp-reset
à voir =>>
# Cela bloqueras les scans de ports dit < furtifs >> n accepte que les paquets TCP avec le flag SYN
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state NEW,RELATED -p tcp --tcp-flags ! ALL SYN -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j DROP
# Filtrage des broadcasts
iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP
# Delais à l etablissement de certaines connection ( FTP ou SMTP )
iptables -A INPUT -p tcp --destination-port auth -j REJECT --reject-with tcp-reset
Dans tes règles de forward il est toujours bien de préciser l'interface d'entrée et/ou sortie.
Sinon mis à part ça ce que tu as fais semble correcte et suis les conseils ci-dessus.
Par contre au niveau de ta règle de Prerouting et Postrouting tu les as testé ? Elles fonctionnent ?
Sinon mis à part ça ce que tu as fais semble correcte et suis les conseils ci-dessus.
Par contre au niveau de ta règle de Prerouting et Postrouting tu les as testé ? Elles fonctionnent ?
Bonjour et merci pour les conseils
Non je n'ai pas tester encore le tous, je le fait ce weekend
Est-ce correcte ?
#Forwarding du lan vers l'Internet
iptables -A FORWARD -o eth0 -p tcp --sport 80 -i eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 80 -o eth1 -j ACCEPT
Merci
Non je n'ai pas tester encore le tous, je le fait ce weekend
Est-ce correcte ?
#Forwarding du lan vers l'Internet
iptables -A FORWARD -o eth0 -p tcp --sport 80 -i eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 80 -o eth1 -j ACCEPT
Merci
re
à voir =>
Editez le fichier /etc/sysctl.conf et rajoute ses lignes Protection antispoofing
Astuces pour debugger le script de firewall lances la commande suivante =>
sh -x /etc/init.d/fw les erreurs seront + facile à identifier ont sait jamais !!!
Pour info => le firewall peut avoir 3 interfaces
bonne chance .....
à voir =>
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Editez le fichier /etc/sysctl.conf et rajoute ses lignes Protection antispoofing
net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.rp_filter = 1
Astuces pour debugger le script de firewall lances la commande suivante =>
sh -x /etc/init.d/fw les erreurs seront + facile à identifier ont sait jamais !!!
Pour info => le firewall peut avoir 3 interfaces
eth0 = interface externe connectées à internet eth1 = reliant le firewall au reseaux interne eth2 = interface de la DMZ la zone ou se trouvent les serveurs accesibles depuis internet
bonne chance .....