Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:iptables-pare-feu-pour-un-client [01/11/2015 17:49] milou [Sauvegarder ses règles] |
doc:reseau:iptables-pare-feu-pour-un-client [30/08/2018 13:53] Beta-Pictoris |
||
---|---|---|---|
Ligne 125: | Ligne 125: | ||
> **La cinquième ligne ''Chain OUTPUT (policy ACCEPT)''** concerne les paquets sortants (**''OUTPUT''**). | > **La cinquième ligne ''Chain OUTPUT (policy ACCEPT)''** concerne les paquets sortants (**''OUTPUT''**). | ||
+ | === Lien utile === | ||
+ | |||
+ | En complément, voir ce post sur le forum : | ||
+ | * [[https://debian-facile.org/viewtopic.php?id=18221]] | ||
====Quelques définitions==== | ====Quelques définitions==== | ||
Ligne 220: | Ligne 224: | ||
===Autoriser les échanges avec les serveurs DNS=== | ===Autoriser les échanges avec les serveurs DNS=== | ||
<code root> | <code root> | ||
- | iptables -t filter -A OUTPUT -p udp -m udp\ | + | iptables -t filter -A OUTPUT -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT |
- | --dport 53 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT | + | iptables -t filter -A INPUT -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
- | + | ||
- | iptables -t filter -A INPUT -p udp -m udp\ | + | |
- | --sport 53 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | + | |
</code> | </code> | ||
Ligne 297: | Ligne 298: | ||
iptables -t filter -A OUTPUT -p tcp -m multiport\ | iptables -t filter -A OUTPUT -p tcp -m multiport\ | ||
--dports 80,443,8000 -m conntrack --ctstate\ | --dports 80,443,8000 -m conntrack --ctstate\ | ||
- | NEW,RELATED,ESTABLISHED -j ACCEPT | + | NEW,ESTABLISHED -j ACCEPT |
| | ||
iptables -t filter -A INPUT -p tcp -m multiport\ | iptables -t filter -A INPUT -p tcp -m multiport\ | ||
--sports 80,443,8000 -m conntrack --ctstate\ | --sports 80,443,8000 -m conntrack --ctstate\ | ||
- | RELATED,ESTABLISHED -j ACCEPT | + | ESTABLISHED -j ACCEPT |
</code> | </code> | ||
===Pour IMAP et SMTP (utilisation de messagerie icedove) === | ===Pour IMAP et SMTP (utilisation de messagerie icedove) === | ||
- | <code root>iptables -A INPUT -m multiport -p tcp --sport 25,2525,587,465,143,993,995 -m state --state RELATED,ESTABLISHED -j ACCEPT | + | <code root>iptables -A INPUT -m multiport -p tcp --sport 25,2525,587,465,143,993,995 -m state --state ESTABLISHED -j ACCEPT |
- | iptables -A OUTPUT -m multiport -p tcp --dport 25,2525,143,465,587,993,995 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT </code> | + | iptables -A OUTPUT -m multiport -p tcp --dport 25,2525,143,465,587,993,995 -m state --state NEW,ESTABLISHED -j ACCEPT </code> |
Pour la liste des ports selon les serveurs de messagerie utilisés voir : [[https://www.arclab.com/en/amlc/list-of-smtp-and-imap-servers-mailserver-list.html|list of smtp and imap servers mailserver]] | Pour la liste des ports selon les serveurs de messagerie utilisés voir : [[https://www.arclab.com/en/amlc/list-of-smtp-and-imap-servers-mailserver-list.html|list of smtp and imap servers mailserver]] | ||
Ligne 315: | Ligne 316: | ||
<code root>iptables -A INPUT -i eth0 -s 192.168.0.0/24 -d 192.168.0.22 -p tcp\ | <code root>iptables -A INPUT -i eth0 -s 192.168.0.0/24 -d 192.168.0.22 -p tcp\ | ||
- | --dport 631 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT | + | --dport 631 -m state --state NEW,ESTABLISHED -j ACCEPT |
iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.0.0/24 -p tcp\ | iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.0.0/24 -p tcp\ | ||
Ligne 325: | Ligne 326: | ||
<code root>iptables -A INPUT -i eth0 -s 192.168.1.0/24 -d 192.168.0.22 -p tcp\ | <code root>iptables -A INPUT -i eth0 -s 192.168.1.0/24 -d 192.168.0.22 -p tcp\ | ||
- | --dport 631 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT | + | --dport 631 -m state --state NEW,ESTABLISHED -j ACCEPT |
iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.1.0/24 -p tcp\ | iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.1.0/24 -p tcp\ | ||
Ligne 335: | Ligne 336: | ||
Par exemple : | Par exemple : | ||
- | iptables -A INPUT -i eth0 -s 192.168.0.22 -d 192.168.0.1 -p tcp --sport 631 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT | + | iptables -A INPUT -i eth0 -s 192.168.0.22 -d 192.168.0.1 -p tcp --sport 631 -m state --state NEW,ESTABLISHED -j ACCEPT |
- | iptables -A OUTPUT -o eth0 -s 192.168.0.1 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT | + | iptables -A OUTPUT -o eth0 -s 192.168.0.1 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,ESTABLISHED -j ACCEPT |
Ligne 375: | Ligne 376: | ||
===Faire des tests === | ===Faire des tests === | ||
+ | |||
* Sur l'interface lo | * Sur l'interface lo | ||
<code user>ping localhost</code> | <code user>ping localhost</code> | ||
Ligne 403: | Ligne 405: | ||
* Ping sur un domaine : | * Ping sur un domaine : | ||
- | <code root>ping google.fr</code> | + | <code user>ping google.fr</code> |
<code config retour de la commande>PING google.fr (173.194.40.152) 56(84) bytes of data. | <code config retour de la commande>PING google.fr (173.194.40.152) 56(84) bytes of data. | ||
Ligne 652: | Ligne 654: | ||
/sbin/iptables -P FORWARD DROP | /sbin/iptables -P FORWARD DROP | ||
# Allow trafic with DNS server | # Allow trafic with DNS server | ||
- | /sbin/iptables -t filter -A OUTPUT -p udp -m udp --dport 53 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT | + | /sbin/iptables -t filter -A OUTPUT -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT |
- | /sbin/iptables -t filter -A INPUT -p udp -m udp --sport 53 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | + | /sbin/iptables -t filter -A INPUT -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
#Allow trafic on internal network | #Allow trafic on internal network | ||
/sbin/iptables -t filter -A INPUT -i lo -j ACCEPT | /sbin/iptables -t filter -A INPUT -i lo -j ACCEPT | ||
Ligne 661: | Ligne 663: | ||
/sbin/iptables -A INPUT -i eth0 -p icmp -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT | /sbin/iptables -A INPUT -i eth0 -p icmp -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT | ||
#Get web | #Get web | ||
- | /sbin/iptables -t filter -A OUTPUT -p tcp -m multiport --dports 80,443,8000 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT | + | /sbin/iptables -t filter -A OUTPUT -p tcp -m multiport --dports 80,443,8000 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT |
- | /sbin/iptables -t filter -A INPUT -p tcp -m multiport --sports 80,443,8000 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | + | /sbin/iptables -t filter -A INPUT -p tcp -m multiport --sports 80,443,8000 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
#Allow mailing protocols (IMAP and SMTP) | #Allow mailing protocols (IMAP and SMTP) | ||
- | /sbin/iptables -A INPUT -m multiport -p tcp --sport 25,2525,587,465,143,993,995 -m state --state RELATED,ESTABLISHED -j ACCEPT | + | /sbin/iptables -A INPUT -m multiport -p tcp --sport 25,2525,587,465,143,993,995 -m state --state ESTABLISHED -j ACCEPT |
- | /sbin/iptables -A OUTPUT -m multiport -p tcp --dport 25,2525,143,465,587,993,995 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT | + | /sbin/iptables -A OUTPUT -m multiport -p tcp --dport 25,2525,143,465,587,993,995 -m state --state NEW,ESTABLISHED -j ACCEPT |
#Allow cups | #Allow cups | ||
- | iptables -A INPUT -i eth0 -s 192.168.0.0/24 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT | + | iptables -A INPUT -i eth0 -s 192.168.0.0/24 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,ESTABLISHED -j ACCEPT |
iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.0.0/24 -p tcp --sport 631 -m state ! --state INVALID -j ACCEPT | iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.0.0/24 -p tcp --sport 631 -m state ! --state INVALID -j ACCEPT | ||
#Allow cups from sub-net | #Allow cups from sub-net | ||
- | /sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT | + | /sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,ESTABLISHED -j ACCEPT |
/sbin/iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.1.0/24 -p tcp --sport 631 -m state ! --state INVALID -j ACCEPT | /sbin/iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.1.0/24 -p tcp --sport 631 -m state ! --state INVALID -j ACCEPT | ||
#Set up a user chain for ssh outgoing | #Set up a user chain for ssh outgoing | ||
Ligne 866: | Ligne 868: | ||
* En sortie : | * En sortie : | ||
- | iptables -A OUTPUT -o eth0 -s <ip_locale> -d <reseau_local/masque_de_reseau> -p <nom_du_protocole> --sport <nom_du_port> -m state --state RELATED,ESTABLISHED -j ACCEPT | + | iptables -A OUTPUT -o eth0 -s <ip_locale> -d <reseau_local/masque_de_reseau> -p <nom_du_protocole> --sport <nom_du_port> -m state --state ESTABLISHED -j ACCEPT |
> On précise que l'on accepte de laisser sortir de l'interface réseau, tout paquet dont la source est l'adresse ip correspondant à notre interface réseau, à destination de notre réseau local utilisant tel protocole, vers tel numero de port (ou service) dont l'état est 'relatif' ou 'établi' - en rapport avec la règle d'entrée. | > On précise que l'on accepte de laisser sortir de l'interface réseau, tout paquet dont la source est l'adresse ip correspondant à notre interface réseau, à destination de notre réseau local utilisant tel protocole, vers tel numero de port (ou service) dont l'état est 'relatif' ou 'établi' - en rapport avec la règle d'entrée. |