logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [22/02/2015 11:08]
Hypathie [Sauvegarder ses règles]
doc:reseau:iptables-pare-feu-pour-un-client [06/01/2019 02:21]
Beta-Pictoris
Ligne 53: Ligne 53:
 **SSL/​https** = UDP 443((voir samba))\\ ​ **SSL/​https** = UDP 443((voir samba))\\ ​
 **[[doc:​reseau:​dns|DNS]]** = UDP = 53\\  **[[doc:​reseau:​dns|DNS]]** = UDP = 53\\ 
-**[[atelier:chantier:​dhcp|DHCP]]** = UDP = 67 et 68\\ +**[[doc:reseau:​dhcp|DHCP]]** = UDP = 67 et 68\\ 
 **[[doc:​reseau:​samba|SAMBA]]** = 137-139 et 445 (voir ci-dessous)\\ ​ **[[doc:​reseau:​samba|SAMBA]]** = 137-139 et 445 (voir ci-dessous)\\ ​
 **NETBIOS** = 137-139\\ ​ **NETBIOS** = 137-139\\ ​
Ligne 98: Ligne 98:
 > **''​-t table''​** : pour demander une table en particulier((Par défaut c'est la table filter qui est listée, donc on peut aussi utiliser la commande: ''​iptables -L''​ pour le même résultat.)) > **''​-t table''​** : pour demander une table en particulier((Par défaut c'est la table filter qui est listée, donc on peut aussi utiliser la commande: ''​iptables -L''​ pour le même résultat.))
  
-<​code>​+<​code ​config retour de la commande>
 Chain INPUT (policy ACCEPT) Chain INPUT (policy ACCEPT)
 target ​    prot opt source ​              ​destination ​         target ​    prot opt source ​              ​destination ​        
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 143: Ligne 147:
 Une chaîne est un ensemble de règles définies dans un **ordre précis**.\\ Pour l'​instant,​ il n'y n'a pas de règle mais une fois le pare-feu mis en place on pourrait avoir par exemple pour les entrées ''​INPUT'':​ Une chaîne est un ensemble de règles définies dans un **ordre précis**.\\ Pour l'​instant,​ il n'y n'a pas de règle mais une fois le pare-feu mis en place on pourrait avoir par exemple pour les entrées ''​INPUT'':​
 <code root>​iptables -L --line-numbers Chain INPUT</​code>​ <code root>​iptables -L --line-numbers Chain INPUT</​code>​
-<​code>​ + 
-num  target ​  prot opt  source ​    ​destination ​        +<​code ​config retour de la commande>​num ​ target ​  prot opt  source ​    ​destination ​        
 1    ACCEPT ​  ​tcp ​ --  anywhere ​   anywhere ​   tcp dpt:​www ​ 1    ACCEPT ​  ​tcp ​ --  anywhere ​   anywhere ​   tcp dpt:​www ​
 2    ACCEPT ​  ​tcp ​ --  anywhere ​   anywhere ​   tcp dpt:​ssh ​ 2    ACCEPT ​  ​tcp ​ --  anywhere ​   anywhere ​   tcp dpt:​ssh ​
-3    ACCEPT ​  ​tcp ​ --  anywhere ​   anywhere ​   tcp dpt:imap2 +3    ACCEPT ​  ​tcp ​ --  anywhere ​   anywhere ​   tcp dpt:​imap2</​code>​ 
-</​code>​+
  
 >**Il y a bien un ordre précis** :  >**Il y a bien un ordre précis** : 
 >>La première règle (''​1''​) autorise ''​ACCEPT'',​ le protocole ''​tcp'',​ venant de partout ''​anywhere'',​ allant partout ''​anywhere'',​ et cela pour ''​www'',​ le web (ou port 80). >>La première règle (''​1''​) autorise ''​ACCEPT'',​ le protocole ''​tcp'',​ venant de partout ''​anywhere'',​ allant partout ''​anywhere'',​ et cela pour ''​www'',​ le web (ou port 80).
 +>>
 >>La seconde (''​2''​) pour ''​ssh''​ >>La seconde (''​2''​) pour ''​ssh''​
 +>>
 >>la troisième (''​3''​)pour ''​imap2''​ >>la troisième (''​3''​)pour ''​imap2''​
  
Ligne 207: Ligne 213:
   * Voyons le résultat :   * Voyons le résultat :
 <code root>​iptables -L -n --line-numbers</​code>​ <code root>​iptables -L -n --line-numbers</​code>​
-<​code>​Chain INPUT (policy DROP)+<​code ​config retour de la commande>Chain INPUT (policy DROP)
 num  target ​    prot opt source ​              ​destination ​         num  target ​    prot opt source ​              ​destination ​        
  
Ligne 214: Ligne 220:
  
 Chain OUTPUT (policy DROP) Chain OUTPUT (policy DROP)
-num  target ​    prot opt source ​              ​destination </​code>​+num  target ​    prot opt source ​              ​destination</​code> ​
  
 ===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>​
  
-<​note>​ 
-**Signification de ces commandes** :\\  
-Autorise un paquet passant par la chaîne (OUTPUT|INPUT),​ par protocole de transport udp sur le port 53 (''​--dport''​ : port de destination | ''​--sport''​ : port source ), et pour udp utilisation du module "​conntrack", ​ selon l'​état de la connexion (NEW, demande de nouvelle connexion, RELATED, nouvelle demande mais en rapport avec une connexion déjà initiée et ESTABLISHED,​ en relation à une demande pour une connexion déjà initiée). 
  
-__**options ​** :__\\ +===Signification de ces commandes===  
 +Les commandes précédentes autorisent un paquet sortant (chaine OUTPUT) et entrant (CHAINE INPUT), via le protocole udp sur le port 53 et selon l'​état de la connexion (NEW ou ESTABLISHED). 
 + 
 +===Les ​options===
 ''​-t filter''​ : pour préciser la table (facultatif avec la table filter).\\ ​ ''​-t filter''​ : pour préciser la table (facultatif avec la table filter).\\ ​
-''​-A chain''​ : ajouter une règle à la fin de la chaîne (OUTPUT, puis INPUT)\\  +''​-A chain'' ​ : ajouter une règle à la fin de la chaîne (OUTPUT, puis INPUT)\\  
-''​-p''​ : pour indiquer le type de trames utilisé dans le paquet([!] "​all",​ "​tcp",​ "​udp",​ "​icmp",​ ou un numéro)\\  +''​-p'' ​       : pour indiquer le type de trames utilisé dans le paquet ([!] "​all",​ "​tcp",​ "​udp",​ "​icmp",​ ou un numéro).\\ 
-''​-m ​//module//''​ : Demande d'​utiliser un module particulier\\  +''​--dport'' ​  : port de destination.\\ 
-''​conntrack''​ : c'est un module de netfilter ​il est installé sur wheezy pour l'​activer : +''​--sport'' ​  : port source.\\ 
-    * ''/​sbin/​modprobe ip_conntrack'';​\\  +''​-m module''​ : Demande d'​utiliser un module particulier.\\  
-''​--ctstate ​//liste des états//''​ : liste les états de connexion ​:+''​conntrack''​ : c'est un module de netfilter.\\ 
 +''​--ctstate''​ : liste des états conntrack. 
 + 
 +===La liste des états de connexion ​conntrack===
   * INVALID : signifie que le paquet est associé à aucune connexion connue ​   * INVALID : signifie que le paquet est associé à aucune connexion connue ​
   * NEW : signifie que le paquet a commencé une nouvelle connexion   * NEW : signifie que le paquet a commencé une nouvelle connexion
   * ESTABLISHED : ce qui signifie que le paquet est associé à une connexion qui a vu les paquets dans les deux sens.   * ESTABLISHED : ce qui signifie que le paquet est associé à une connexion qui a vu les paquets dans les deux sens.
-  * RELATED : signifie que le paquet commence une nouvelle connexion, mais est associé à une connexion existante, ​telle qu'un transfère de données FTP, ou une erreur ICMP+  * RELATED : signifie que le paquet commence une nouvelle connexion ​(comme l'​état NEW), mais est associé à une connexion existante, ​commencéeen général, sur un autre port ou avec un autre protocole réseau. L'​état RELATED ne s'​applique que pour des protocoles réseaux bien précis (amanda, ftp, h323, irc, netbios, pptp, sane, sip, tftp).
   * UNTRACKED : signifie que le paquet n'est pas suivi du tout.   * UNTRACKED : signifie que le paquet n'est pas suivi du tout.
   * SNAT : Un état virtuel, le paquet correspond si l'​adresse source diffère la réponse de destination.   * SNAT : Un état virtuel, le paquet correspond si l'​adresse source diffère la réponse de destination.
Ligne 249: Ligne 255:
   * CONFIRMED : Connexion est confirmée   * CONFIRMED : Connexion est confirmée
  
 +<note important>​Depuis debian **Stretch**,​ **conntrack** ne va plus associer de paquets à l'​état **RELATED**,​ sauf pour le protocole **icmp**.\\
 +
 +Si vous voulez faire du filtrage sur des paquets dans l'​état **RELATED** pour d'​autres protocoles, il faudra créer une règle particulière dans la table **raw**.\\
 +
 +Cette règle déclenchera l'​activation d'un module **conntrack**,​ appelé module **helper**, en pré-routant les nouvelles connexions vers une cible **CT**.\\
 +
 +Par exemple, pour le protocole **ftp**, si on veut qu'une nouvelle connexion **tcp** entrante, vers le port 21 du serveur, génère des réponses dans l'​état **RELATED** :\\
 +<code root>​iptables -t raw -A PREROUTING -p tcp --dport 21 -j CT --helper ftp</​code>​
 +Pour information,​ la règle précédente a activé le module **nf_conntrack_ftp**.\\
 +
 +**conntrack** associera, donc, l'​état **RELATED** a une nouvelle connexion **tcp**, sortante du port 20 du serveur (cas d'un serveur ftp actif) à condition qu'une nouvelle connexion **tcp** entrante, vers le port 21 du serveur ait été acceptée.\\
 +
 +Pour cela, on autorise de nouvelles connexions entrantes sur le port 21 :\\
 +<code root>​iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT</​code>​
 +
 +On devra, donc, utiliser la règle suivante pour autoriser la suite de l'​échange sur le port 20 (cas d'un serveur ftp actif) :\\
 +<code root>​iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate RELATED,​ESTABLISHED -j ACCEPT</​code>​
 +
 +Vous devez, donc, toujours, traiter les paquets étant dans l'​état **RELATED** à partir du moment où ils existent, sinon ils seront perdus et cela entrainera des problèmes de communication !\\
 +
 +Si le module helper, qui gère l'​état **RELATED**,​ n'est pas activé, **conntrack** associera les paquets à l'​état **NEW**.\\
 +On devra, donc, utiliser la règle suivante :\\
 +<code root>​iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate NEW,​ESTABLISHED -j ACCEPT</​code>​
 +</​note>​
  
 Vous n'avez rien compris ? C'est normal, voyons ce qu'est //​conntrack//​ ! Vous n'avez rien compris ? C'est normal, voyons ce qu'est //​conntrack//​ !
Ligne 262: Ligne 292:
 Pour l'​espace utilisateur les états valides sont NEW, ESTABLISHED,​ RELATED et INVALID. ​ Pour l'​espace utilisateur les états valides sont NEW, ESTABLISHED,​ RELATED et INVALID. ​
  
-Voir [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​traversingoftables.html|la ​traverser ​des tables et des chaînes]].+Voir [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​traversingoftables.html|la ​traversée ​des tables et des chaînes]].
  
 [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​tcpconnections.html|La machine d'​état:​ connexion TCP]] [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​tcpconnections.html|La machine d'​état:​ connexion TCP]]
Ligne 295: Ligne 325:
 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 313: Ligne 343:
  
 <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 323: Ligne 353:
  
 <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 333: Ligne 363:
 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
  
  
-Voir : [[atelier:chantier:iptables-un-pare-feu-pour-une-passerelle?&#​le-script-de-la-passerelle|Script d'une passerelle]]+Voir : [[doc:reseau:​iptables-pare-feu-pour-une-passerelle?&#​le-script-de-la-passerelle|Script d'une passerelle]]
 </​note> ​ </​note> ​
  
Ligne 345: Ligne 375:
 ou ou
 <code root>​iptables -L -n --line-numbers</​code>​ <code root>​iptables -L -n --line-numbers</​code>​
-<​code>​ + 
-Chain INPUT (policy DROP 80 packets, 19279 bytes)+<​code ​config retour de la commande>Chain INPUT (policy DROP 80 packets, 19279 bytes)
  pkts bytes target ​ prot opt in    out   ​source ​       destination ​          pkts bytes target ​ prot opt in    out   ​source ​       destination ​        
     1   131 ACCEPT ​ udp  --  *      *    0.0.0.0/​0 ​    ​0.0.0.0/​0 ​  udp\     1   131 ACCEPT ​ udp  --  *      *    0.0.0.0/​0 ​    ​0.0.0.0/​0 ​  udp\
Ligne 369: Ligne 399:
 dports 80,443,8000 ctstate NEW,​RELATED,​ESTABLISHED dports 80,443,8000 ctstate NEW,​RELATED,​ESTABLISHED
   ​   ​
-   ​4 ​ 336 ACCEPT ​  ​all ​ --  *     ​lo ​   0.0.0.0/​0 ​    ​0.0.0.0/​0 +   ​4 ​ 336 ACCEPT ​  ​all ​ --  *     ​lo ​   0.0.0.0/​0 ​    ​0.0.0.0/​0</​code>​ 
-</​code>​+
  
 ===Faire des tests === ===Faire des tests ===
 +
   * Sur l'​interface lo   * Sur l'​interface lo
 <code user>​ping localhost</​code>​ <code user>​ping localhost</​code>​
-<​code>​ + 
-PING localhost (127.0.0.1) 56(84) bytes of data.+<​code ​config retour de la commande>PING localhost (127.0.0.1) 56(84) bytes of data.
 64 bytes from localhost (127.0.0.1):​ icmp_req=1 ttl=64 time=0.050 ms 64 bytes from localhost (127.0.0.1):​ icmp_req=1 ttl=64 time=0.050 ms
 64 bytes from localhost (127.0.0.1):​ icmp_req=2 ttl=64 time=0.042 ms 64 bytes from localhost (127.0.0.1):​ icmp_req=2 ttl=64 time=0.042 ms
Ligne 382: Ligne 413:
 --- localhost ping statistics --- --- localhost ping statistics ---
 2 packets transmitted,​ 2 received, 0% packet loss, time 999ms 2 packets transmitted,​ 2 received, 0% packet loss, time 999ms
-rtt min/​avg/​max/​mdev = 0.042/​0.046/​0.050/​0.004 ms +rtt min/​avg/​max/​mdev = 0.042/​0.046/​0.050/​0.004 ms</​code>​
-</​code>​+
  
 Ça marche 8-) Ça marche 8-)
Ligne 389: Ligne 419:
   * Vers un autre client :   * Vers un autre client :
 <code user>​ping 192.168.0.1</​code>​ <code user>​ping 192.168.0.1</​code>​
-<​code>​ + 
-PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.+<​code ​config retour de la commande>PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
 64 bytes from 192.168.0.1:​ icmp_req=1 ttl=64 time=0.226 ms 64 bytes from 192.168.0.1:​ icmp_req=1 ttl=64 time=0.226 ms
 64 bytes from 192.168.0.1:​ icmp_req=2 ttl=64 time=0.209 ms 64 bytes from 192.168.0.1:​ icmp_req=2 ttl=64 time=0.209 ms
Ligne 396: Ligne 426:
 --- 192.168.0.1 ping statistics --- --- 192.168.0.1 ping statistics ---
 2 packets transmitted,​ 2 received, 0% packet loss, time 999ms 2 packets transmitted,​ 2 received, 0% packet loss, time 999ms
-rtt min/​avg/​max/​mdev = 0.209/​0.217/​0.226/​0.017 ms +rtt min/​avg/​max/​mdev = 0.209/​0.217/​0.226/​0.017 ms</​code>​ 
-</​code>​+
  
 Tout va bien :-D Tout va bien :-D
  
   * Ping sur un domaine :   * Ping sur un domaine :
-<​code ​root>ping google.fr</​code>​+<​code ​user>ping google.fr</​code>​
  
-<​code>​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.
 64 bytes from par10s10-in-f24.1e100.net (173.194.40.152):​ icmp_req=1 ttl=55 time=34.0 ms 64 bytes from par10s10-in-f24.1e100.net (173.194.40.152):​ icmp_req=1 ttl=55 time=34.0 ms
 ^C ^C
Ligne 509: Ligne 539:
  
 <code user>​less /​var/​log/​messages | grep OUTGOING_SSH</​code>​ <code user>​less /​var/​log/​messages | grep OUTGOING_SSH</​code>​
-<​code>​ + 
-<...>+<​code ​config retour de la commande><​...>​
 Oct  8 12:01:07 debian-pc1 kernel: [16793.633030] [OUTGOING_SSH] : IN=eth0 OUT= MAC=xxx.. Oct  8 12:01:07 debian-pc1 kernel: [16793.633030] [OUTGOING_SSH] : IN=eth0 OUT= MAC=xxx..
 SRC=192.168.0.1 DST=192.168.0.22 LEN=52 TOS=0x10 PREC=0x00 TTL=64 ID=13465 SRC=192.168.0.1 DST=192.168.0.22 LEN=52 TOS=0x10 PREC=0x00 TTL=64 ID=13465
  DF PROTO=TCP SPT=48542 DPT=22 WINDOW=1523 RES=0x00 ACK URGP=0  DF PROTO=TCP SPT=48542 DPT=22 WINDOW=1523 RES=0x00 ACK URGP=0
-<...> +<​...></​code>​ 
-</​code>​+
  
 <code user>​less /​var/​log/​messages | grep INCOMING_SSH</​code>​ <code user>​less /​var/​log/​messages | grep INCOMING_SSH</​code>​
-<​code>​ + 
-<...>+<​code ​config retour de la commande><​...>​
 Oct  8 12:01:07 debian-pc1 kernel: [16793.632822] [INCOMING_SSH] : IN= OUT=eth0 Oct  8 12:01:07 debian-pc1 kernel: [16793.632822] [INCOMING_SSH] : IN= OUT=eth0
  ​SRC=192.168.0.22 DST=192.168.0.1 LEN=52 TOS=0x10 PREC=0x00 TTL=64  ​SRC=192.168.0.22 DST=192.168.0.1 LEN=52 TOS=0x10 PREC=0x00 TTL=64
  ​ID=35238 DF PROTO=TCP SPT=22 DPT=48542 WINDOW=431 RES=0x00 ACK FIN URGP=0  ​ID=35238 DF PROTO=TCP SPT=22 DPT=48542 WINDOW=431 RES=0x00 ACK FIN URGP=0
-<...> +<​...></​code>​ 
-</​code>​+
  
  
Ligne 550: Ligne 580:
  
 <code root>vim /​etc/​network/​interfaces</​code>​ <code root>vim /​etc/​network/​interfaces</​code>​
-<code>+ 
 +<file config interfaces>
 # The loopback network interface # The loopback network interface
 auto lo auto lo
 iface lo inet loopback iface lo inet loopback
 post-up iptables-restore < /​etc/​firewall-client post-up iptables-restore < /​etc/​firewall-client
-</code>+</file> 
  
 ===Avantages de cette méthode=== ===Avantages de cette méthode===
Ligne 649: Ligne 681:
 /​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 658: Ligne 690:
 /​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 749: Ligne 781:
  
 <code root> <code root>
-chmod 0755 /​etc/​init.d/​firewall-client.sh +chmod 0755 /​etc/​init.d/​firewall-client.sh</​code>​ 
-chown root:root /​etc/​init.d/​firewall-client.sh+<code root>chown root:root /​etc/​init.d/​firewall-client.sh
 </​code>​ </​code>​
  
Ligne 863: Ligne 895:
   * 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.
doc/reseau/iptables-pare-feu-pour-un-client.txt · Dernière modification: 31/05/2023 20:57 par lagrenouille

Pied de page des forums

Propulsé par FluxBB