# module iptables
modprobe ip_tables
# nat: irc, ftp
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_nat
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] '
iptables -A LOG_DROP -j ACCEPT
iptables -P OUTPUT DROP
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport
21 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
21 -j ACCEPT
.../...
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport
22 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
22 -j ACCEPT
.../...
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport
80 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
80 -j ACCEPT
# module iptables
modprobe ip_tables
# nat: irc, ftp
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_nat
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] '
iptables -A LOG_DROP -j ACCEPT
iptables -P OUTPUT DROP
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport
21 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
21 -j ACCEPT
.../...
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport
22 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
22 -j ACCEPT
.../...
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport
80 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
80 -j ACCEPT
# module iptables
modprobe ip_tables
# nat: irc, ftp
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_nat
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] '
iptables -A LOG_DROP -j ACCEPT
iptables -P OUTPUT DROP
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport
21 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
21 -j ACCEPT
.../...
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport
22 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
22 -j ACCEPT
.../...
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport
80 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
80 -j ACCEPT
Hello.
Après m'être quelque peu plongé dans les manpages d'iptables, j'en
resors avec le script suivant, qui a pour but de me "protéger" de ce
monde tellement agressif qu'est internet :]
Quelques notes pour comprendre le script:
- l'iface connectée au net est eth0, elle dispose d'une ip statique a
priori (aucun changement en + d'un an de connexion).
- l'iface connectée au LAN rj-45 est eth1, ip fixe : 192.168.1.2
- l'iface connectée au LAN wireless est wlan0, ip fixe : 192.168.2.1
Je dispose
- d'un serveur ftp (pure-ftpd) sur port 21
- d'openssh sur port 22
- d'un serveur http (apache2) sur port 80
qui doivent etre disponibles de partout (LANs & internet)
Les deux LAN doivent avoir acces à internet (NAT).
Que pensez vous du script suivant ?
# flush all rules
iptables -F
iptables -X
# accept all on lan (eth1 & wlan0)
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A INPUT -i wlan0 -j ACCEPT
iptables -A OUTPUT -o wlan0 -j ACCEPT
# accept & log FTP from internet
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 21 -j
LOG_ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport 21
-j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
21 -j ACCEPT
# LANs 192.168.1 (wired) et 192.168.2 (wireless) connectés au net
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT
# masquerade des LANs
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
# log de tout ce qui a pas passé le firewall
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
Merci de me faire part de tous vos commentaires & suggestions.
Hello.
Après m'être quelque peu plongé dans les manpages d'iptables, j'en
resors avec le script suivant, qui a pour but de me "protéger" de ce
monde tellement agressif qu'est internet :]
Quelques notes pour comprendre le script:
- l'iface connectée au net est eth0, elle dispose d'une ip statique a
priori (aucun changement en + d'un an de connexion).
- l'iface connectée au LAN rj-45 est eth1, ip fixe : 192.168.1.2
- l'iface connectée au LAN wireless est wlan0, ip fixe : 192.168.2.1
Je dispose
- d'un serveur ftp (pure-ftpd) sur port 21
- d'openssh sur port 22
- d'un serveur http (apache2) sur port 80
qui doivent etre disponibles de partout (LANs & internet)
Les deux LAN doivent avoir acces à internet (NAT).
Que pensez vous du script suivant ?
# flush all rules
iptables -F
iptables -X
# accept all on lan (eth1 & wlan0)
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A INPUT -i wlan0 -j ACCEPT
iptables -A OUTPUT -o wlan0 -j ACCEPT
# accept & log FTP from internet
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 21 -j
LOG_ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport 21
-j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
21 -j ACCEPT
# LANs 192.168.1 (wired) et 192.168.2 (wireless) connectés au net
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT
# masquerade des LANs
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
# log de tout ce qui a pas passé le firewall
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
Merci de me faire part de tous vos commentaires & suggestions.
Hello.
Après m'être quelque peu plongé dans les manpages d'iptables, j'en
resors avec le script suivant, qui a pour but de me "protéger" de ce
monde tellement agressif qu'est internet :]
Quelques notes pour comprendre le script:
- l'iface connectée au net est eth0, elle dispose d'une ip statique a
priori (aucun changement en + d'un an de connexion).
- l'iface connectée au LAN rj-45 est eth1, ip fixe : 192.168.1.2
- l'iface connectée au LAN wireless est wlan0, ip fixe : 192.168.2.1
Je dispose
- d'un serveur ftp (pure-ftpd) sur port 21
- d'openssh sur port 22
- d'un serveur http (apache2) sur port 80
qui doivent etre disponibles de partout (LANs & internet)
Les deux LAN doivent avoir acces à internet (NAT).
Que pensez vous du script suivant ?
# flush all rules
iptables -F
iptables -X
# accept all on lan (eth1 & wlan0)
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A INPUT -i wlan0 -j ACCEPT
iptables -A OUTPUT -o wlan0 -j ACCEPT
# accept & log FTP from internet
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 21 -j
LOG_ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport 21
-j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
21 -j ACCEPT
# LANs 192.168.1 (wired) et 192.168.2 (wireless) connectés au net
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT
# masquerade des LANs
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
# log de tout ce qui a pas passé le firewall
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
Merci de me faire part de tous vos commentaires & suggestions.
"grosnours [F.T.]" writes:# module iptables
modprobe ip_tables
# nat: irc, ftp
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_nat
La première et les deux dernières lignes sont superflues (merci
kmod). Je remplacerais les deux autres par une ligne dans
/etc/modules.conf :
above iptable_nat ip_nat_ftp ip_nat_irc
(valable avec un noyau 2.4, il me semble que ça ne fonctionne plus
tout à fait pareil en 2.6).
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] '
iptables -A LOG_DROP -j ACCEPT
Je suppose que le LOG_DROP est une coquille ?
iptables -P OUTPUT DROP
Pourquoi pas.
Je regrouperais tout ça dans une règle de ce style :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
"grosnours [F.T.]" <grosnours@remove.to.answer.brutele.be> writes:
# module iptables
modprobe ip_tables
# nat: irc, ftp
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_nat
La première et les deux dernières lignes sont superflues (merci
kmod). Je remplacerais les deux autres par une ligne dans
/etc/modules.conf :
above iptable_nat ip_nat_ftp ip_nat_irc
(valable avec un noyau 2.4, il me semble que ça ne fonctionne plus
tout à fait pareil en 2.6).
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] '
iptables -A LOG_DROP -j ACCEPT
Je suppose que le LOG_DROP est une coquille ?
iptables -P OUTPUT DROP
Pourquoi pas.
Je regrouperais tout ça dans une règle de ce style :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
"grosnours [F.T.]" writes:# module iptables
modprobe ip_tables
# nat: irc, ftp
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_nat
La première et les deux dernières lignes sont superflues (merci
kmod). Je remplacerais les deux autres par une ligne dans
/etc/modules.conf :
above iptable_nat ip_nat_ftp ip_nat_irc
(valable avec un noyau 2.4, il me semble que ça ne fonctionne plus
tout à fait pareil en 2.6).
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] '
iptables -A LOG_DROP -j ACCEPT
Je suppose que le LOG_DROP est une coquille ?
iptables -P OUTPUT DROP
Pourquoi pas.
Je regrouperais tout ça dans une règle de ce style :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
# flush all rules
iptables -F
iptables -X
Il manque la suppression des règles et des chaînes utilisateurs dans la
table nat :
iptables -t nat -F
iptables -t nat -X
# accept all on lan (eth1 & wlan0)
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A INPUT -i wlan0 -j ACCEPT
iptables -A OUTPUT -o wlan0 -j ACCEPT
On peut limiter le trafic sur ces interfaces aux adresses IP de leur réseau
:
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -d 192.168.1.2 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -s 192.168.1.2 -j ACCEPT
iptables -A INPUT -i wlan0 -s 192.168.2.0/24 -d 192.168.2.1 -j ACCEPT
iptables -A OUTPUT -o wlan0 -d 192.168.2.0/24 -s 192.168.2.1 -j ACCEPT
# accept & log FTP from internet
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 21 -j
LOG_ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport 21
-j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
21 -j ACCEPT
Pour le ftp, il ne suffit pas seulement d'accepter le trafic sur le port
ftp/21 mais il faut aussi accepter le trafic sur le port ftp-data/20 :
# FTP actif
iptables -A OUTPUT -o eth0 -p tcp --sport 20
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20
-m state --state ESTABLISHED -j ACCEPT
# FTP passif
iptables -A INPUT -i eth0 -p tcp --dport 62000:62999 --sport 1024:
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 62000:62999 --dport 1024:
-m state --state ESTABLISHED -j ACCEPT
en ayant configuré PureFTPd avec l'otpion '-p 62000:62999' (ports auorisés
pour le mode passif).
Je regrouperais tout ça dans une règle de ce style :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
# LANs 192.168.1 (wired) et 192.168.2 (wireless) connectés au net
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT
Il manque l'autorisation de forwarder le trafic Internet pour le réseau
wireless.
On ne devrait autoriser en entrée que le trafic des connexions existantes ou
le trafic des nouvelles connexions en rapport avec des connexions existantes
(ftp, irc).
Et ici aussi on peut limiter le trafic aux adresses IP des deux réseaux
Ce qui nous donne globalement :
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -d 192.168.1.0/24
-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -s 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -o wlan0 -i eth0 -d 192.168.2.0/24
-m state --state ESTABLISHED,RELATED -j ACCEPT# masquerade des LANs
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
Vous nous avez indiqué que votre adresse IP Internet était fixe ou changeait
très rarement, il serait alors préférable de faire du source NAT au lieu de
faire du masquerading :
Il faudrait quand même laisser le trafic icmp utile sous peine
d'avoir des
problèmes, ainsi que le trafic dns :
# ICMP
iptables -A INPUT -i eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type parameter-problem -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
# DNS
iptables -A OUTPUT -o eth0 -p udp --dport 53
-m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 53
-m state --state ESTABLISHED -j ACCEPT
Merci de me faire part de tous vos commentaires & suggestions.
De rien, en espérant n'avoir rien oublié.
# flush all rules
iptables -F
iptables -X
Il manque la suppression des règles et des chaînes utilisateurs dans la
table nat :
iptables -t nat -F
iptables -t nat -X
# accept all on lan (eth1 & wlan0)
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A INPUT -i wlan0 -j ACCEPT
iptables -A OUTPUT -o wlan0 -j ACCEPT
On peut limiter le trafic sur ces interfaces aux adresses IP de leur réseau
:
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -d 192.168.1.2 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -s 192.168.1.2 -j ACCEPT
iptables -A INPUT -i wlan0 -s 192.168.2.0/24 -d 192.168.2.1 -j ACCEPT
iptables -A OUTPUT -o wlan0 -d 192.168.2.0/24 -s 192.168.2.1 -j ACCEPT
# accept & log FTP from internet
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 21 -j
LOG_ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport 21
-j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
21 -j ACCEPT
Pour le ftp, il ne suffit pas seulement d'accepter le trafic sur le port
ftp/21 mais il faut aussi accepter le trafic sur le port ftp-data/20 :
# FTP actif
iptables -A OUTPUT -o eth0 -p tcp --sport 20
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20
-m state --state ESTABLISHED -j ACCEPT
# FTP passif
iptables -A INPUT -i eth0 -p tcp --dport 62000:62999 --sport 1024:
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 62000:62999 --dport 1024:
-m state --state ESTABLISHED -j ACCEPT
en ayant configuré PureFTPd avec l'otpion '-p 62000:62999' (ports auorisés
pour le mode passif).
Je regrouperais tout ça dans une règle de ce style :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
# LANs 192.168.1 (wired) et 192.168.2 (wireless) connectés au net
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT
Il manque l'autorisation de forwarder le trafic Internet pour le réseau
wireless.
On ne devrait autoriser en entrée que le trafic des connexions existantes ou
le trafic des nouvelles connexions en rapport avec des connexions existantes
(ftp, irc).
Et ici aussi on peut limiter le trafic aux adresses IP des deux réseaux
Ce qui nous donne globalement :
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -d 192.168.1.0/24
-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -s 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -o wlan0 -i eth0 -d 192.168.2.0/24
-m state --state ESTABLISHED,RELATED -j ACCEPT
# masquerade des LANs
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
Vous nous avez indiqué que votre adresse IP Internet était fixe ou changeait
très rarement, il serait alors préférable de faire du source NAT au lieu de
faire du masquerading :
Il faudrait quand même laisser le trafic icmp utile sous peine
d'avoir des
problèmes, ainsi que le trafic dns :
# ICMP
iptables -A INPUT -i eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type parameter-problem -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
# DNS
iptables -A OUTPUT -o eth0 -p udp --dport 53
-m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 53
-m state --state ESTABLISHED -j ACCEPT
Merci de me faire part de tous vos commentaires & suggestions.
De rien, en espérant n'avoir rien oublié.
# flush all rules
iptables -F
iptables -X
Il manque la suppression des règles et des chaînes utilisateurs dans la
table nat :
iptables -t nat -F
iptables -t nat -X
# accept all on lan (eth1 & wlan0)
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A INPUT -i wlan0 -j ACCEPT
iptables -A OUTPUT -o wlan0 -j ACCEPT
On peut limiter le trafic sur ces interfaces aux adresses IP de leur réseau
:
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -d 192.168.1.2 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -s 192.168.1.2 -j ACCEPT
iptables -A INPUT -i wlan0 -s 192.168.2.0/24 -d 192.168.2.1 -j ACCEPT
iptables -A OUTPUT -o wlan0 -d 192.168.2.0/24 -s 192.168.2.1 -j ACCEPT
# accept & log FTP from internet
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 21 -j
LOG_ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --dport 21
-j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED -p tcp --sport
21 -j ACCEPT
Pour le ftp, il ne suffit pas seulement d'accepter le trafic sur le port
ftp/21 mais il faut aussi accepter le trafic sur le port ftp-data/20 :
# FTP actif
iptables -A OUTPUT -o eth0 -p tcp --sport 20
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20
-m state --state ESTABLISHED -j ACCEPT
# FTP passif
iptables -A INPUT -i eth0 -p tcp --dport 62000:62999 --sport 1024:
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 62000:62999 --dport 1024:
-m state --state ESTABLISHED -j ACCEPT
en ayant configuré PureFTPd avec l'otpion '-p 62000:62999' (ports auorisés
pour le mode passif).
Je regrouperais tout ça dans une règle de ce style :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
# LANs 192.168.1 (wired) et 192.168.2 (wireless) connectés au net
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT
Il manque l'autorisation de forwarder le trafic Internet pour le réseau
wireless.
On ne devrait autoriser en entrée que le trafic des connexions existantes ou
le trafic des nouvelles connexions en rapport avec des connexions existantes
(ftp, irc).
Et ici aussi on peut limiter le trafic aux adresses IP des deux réseaux
Ce qui nous donne globalement :
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -d 192.168.1.0/24
-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -s 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -o wlan0 -i eth0 -d 192.168.2.0/24
-m state --state ESTABLISHED,RELATED -j ACCEPT# masquerade des LANs
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
Vous nous avez indiqué que votre adresse IP Internet était fixe ou changeait
très rarement, il serait alors préférable de faire du source NAT au lieu de
faire du masquerading :
Il faudrait quand même laisser le trafic icmp utile sous peine
d'avoir des
problèmes, ainsi que le trafic dns :
# ICMP
iptables -A INPUT -i eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type parameter-problem -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
# DNS
iptables -A OUTPUT -o eth0 -p udp --dport 53
-m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 53
-m state --state ESTABLISHED -j ACCEPT
Merci de me faire part de tous vos commentaires & suggestions.
De rien, en espérant n'avoir rien oublié.
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j
ACCEPT
Hmm, ca ne pose pas de probleme je suppose si un paquet arrive sur un
port non prévu initiallement (21/22/80) ?
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
Il y a une réelle raison à mettre DROP en default policy ? (j'ai
regroupé plusieurs scripts trouvés un peu partout pour faire le mien).
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j
ACCEPT
Hmm, ca ne pose pas de probleme je suppose si un paquet arrive sur un
port non prévu initiallement (21/22/80) ?
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
Il y a une réelle raison à mettre DROP en default policy ? (j'ai
regroupé plusieurs scripts trouvés un peu partout pour faire le mien).
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j
ACCEPT
Hmm, ca ne pose pas de probleme je suppose si un paquet arrive sur un
port non prévu initiallement (21/22/80) ?
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
Il y a une réelle raison à mettre DROP en default policy ? (j'ai
regroupé plusieurs scripts trouvés un peu partout pour faire le mien).
iptables -t nat -F
iptables -t nat -X
il faut faire pareil pour la table mangle ? (je compte faire un peu de
QoS)
On peut limiter le trafic sur ces interfaces aux adresses IP de leur
réseau
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -d 192.168.1.2 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -s 192.168.1.2 -j ACCEPT
iptables -A INPUT -i wlan0 -s 192.168.2.0/24 -d 192.168.2.1 -j ACCEPT
iptables -A OUTPUT -o wlan0 -d 192.168.2.0/24 -s 192.168.2.1 -j ACCEPT
Euh, il se passe quoi lorsqu'une machine 192.168.1.x veut parler à une
192.168.2.y ?
Pour le ftp, il ne suffit pas seulement d'accepter le trafic sur le port
ftp/21 mais il faut aussi accepter le trafic sur le port ftp-data/20 :
# FTP actif
iptables -A OUTPUT -o eth0 -p tcp --sport 20
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20
-m state --state ESTABLISHED -j ACCEPT
# FTP passif
iptables -A INPUT -i eth0 -p tcp --dport 62000:62999 --sport 1024:
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 62000:62999 --dport 1024:
-m state --state ESTABLISHED -j ACCEPT
en ayant configuré PureFTPd avec l'otpion '-p 62000:62999' (ports
auorisés pour le mode passif).
La correction d'arnaudJe regrouperais tout ça dans une règle de ce style :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
est-elle + ou - "appréciable" en termes de sécurité ? (je ne cherche pas
le grand débat mais quelques indications ;)
# masquerade des LANs
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
Vous nous avez indiqué que votre adresse IP Internet était fixe ou
changeait très rarement, il serait alors préférable de faire du source
NAT au lieu de faire du masquerading :
D'après ce que j'ai lu, le masquerading c'est du SNAT pour les ips
dynamiques. Je suppose que ca ne changera rien au point de vue de
l'utilisation interne aux lans.
Il faudrait quand même laisser le trafic icmp utile sous peine d'avoir
des problèmes, ainsi que le trafic dns :
# ICMP
iptables -A INPUT -i eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type parameter-problem -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
Les règles
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
affectent-elles sérieusement la sécurité ?
iptables -t nat -F
iptables -t nat -X
il faut faire pareil pour la table mangle ? (je compte faire un peu de
QoS)
On peut limiter le trafic sur ces interfaces aux adresses IP de leur
réseau
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -d 192.168.1.2 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -s 192.168.1.2 -j ACCEPT
iptables -A INPUT -i wlan0 -s 192.168.2.0/24 -d 192.168.2.1 -j ACCEPT
iptables -A OUTPUT -o wlan0 -d 192.168.2.0/24 -s 192.168.2.1 -j ACCEPT
Euh, il se passe quoi lorsqu'une machine 192.168.1.x veut parler à une
192.168.2.y ?
Pour le ftp, il ne suffit pas seulement d'accepter le trafic sur le port
ftp/21 mais il faut aussi accepter le trafic sur le port ftp-data/20 :
# FTP actif
iptables -A OUTPUT -o eth0 -p tcp --sport 20
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20
-m state --state ESTABLISHED -j ACCEPT
# FTP passif
iptables -A INPUT -i eth0 -p tcp --dport 62000:62999 --sport 1024:
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 62000:62999 --dport 1024:
-m state --state ESTABLISHED -j ACCEPT
en ayant configuré PureFTPd avec l'otpion '-p 62000:62999' (ports
auorisés pour le mode passif).
La correction d'arnaud
Je regrouperais tout ça dans une règle de ce style :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
est-elle + ou - "appréciable" en termes de sécurité ? (je ne cherche pas
le grand débat mais quelques indications ;)
# masquerade des LANs
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
Vous nous avez indiqué que votre adresse IP Internet était fixe ou
changeait très rarement, il serait alors préférable de faire du source
NAT au lieu de faire du masquerading :
D'après ce que j'ai lu, le masquerading c'est du SNAT pour les ips
dynamiques. Je suppose que ca ne changera rien au point de vue de
l'utilisation interne aux lans.
Il faudrait quand même laisser le trafic icmp utile sous peine d'avoir
des problèmes, ainsi que le trafic dns :
# ICMP
iptables -A INPUT -i eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type parameter-problem -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
Les règles
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
affectent-elles sérieusement la sécurité ?
iptables -t nat -F
iptables -t nat -X
il faut faire pareil pour la table mangle ? (je compte faire un peu de
QoS)
On peut limiter le trafic sur ces interfaces aux adresses IP de leur
réseau
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -d 192.168.1.2 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -s 192.168.1.2 -j ACCEPT
iptables -A INPUT -i wlan0 -s 192.168.2.0/24 -d 192.168.2.1 -j ACCEPT
iptables -A OUTPUT -o wlan0 -d 192.168.2.0/24 -s 192.168.2.1 -j ACCEPT
Euh, il se passe quoi lorsqu'une machine 192.168.1.x veut parler à une
192.168.2.y ?
Pour le ftp, il ne suffit pas seulement d'accepter le trafic sur le port
ftp/21 mais il faut aussi accepter le trafic sur le port ftp-data/20 :
# FTP actif
iptables -A OUTPUT -o eth0 -p tcp --sport 20
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20
-m state --state ESTABLISHED -j ACCEPT
# FTP passif
iptables -A INPUT -i eth0 -p tcp --dport 62000:62999 --sport 1024:
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 62000:62999 --dport 1024:
-m state --state ESTABLISHED -j ACCEPT
en ayant configuré PureFTPd avec l'otpion '-p 62000:62999' (ports
auorisés pour le mode passif).
La correction d'arnaudJe regrouperais tout ça dans une règle de ce style :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
et la même chose pour OUTPUT si tu tiens à y garder DROP comme
politique par défaut.
est-elle + ou - "appréciable" en termes de sécurité ? (je ne cherche pas
le grand débat mais quelques indications ;)
# masquerade des LANs
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
Vous nous avez indiqué que votre adresse IP Internet était fixe ou
changeait très rarement, il serait alors préférable de faire du source
NAT au lieu de faire du masquerading :
D'après ce que j'ai lu, le masquerading c'est du SNAT pour les ips
dynamiques. Je suppose que ca ne changera rien au point de vue de
l'utilisation interne aux lans.
Il faudrait quand même laisser le trafic icmp utile sous peine d'avoir
des problèmes, ainsi que le trafic dns :
# ICMP
iptables -A INPUT -i eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type parameter-problem -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp --icmp-type destination-unreachable
-j ACCEPT
Les règles
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
affectent-elles sérieusement la sécurité ?