Outils pour utilisateurs

Outils du site


netadmin:nftables:exemples:nft_configuration_serveur_ftp

Différences

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

Lien vers cette vue comparative

netadmin:nftables:exemples:nft_configuration_serveur_ftp [2024/07/12 16:29] – créée yoannnetadmin:nftables:exemples:nft_configuration_serveur_ftp [2024/07/13 09:15] (Version actuelle) yoann
Ligne 6: Ligne 6:
 Pour que le service FTP puisse correctement fonctionner derrière un pare-feu restrictif, il faut mettre en place un dispositif particulier de suivi du protocole (un **helper**).  Pour que le service FTP puisse correctement fonctionner derrière un pare-feu restrictif, il faut mettre en place un dispositif particulier de suivi du protocole (un **helper**). 
  
-L' exemple de configuration ci-dessous utilise une politique **restrictive** pour les trafics entrants et sortants. On restreint l'accès au service FTP à certains clients identifiés.+L' exemple de configuration ci-dessous utilise une politique **restrictive** pour les trafics entrants et sortants. On restreint l'accès au service FTP aux seuls clients identifiés.
  
 <file conf nftables.conf> <file conf nftables.conf>
Ligne 15: Ligne 15:
  
 table ip ipfilter { table ip ipfilter {
-        comment "Firewall"+  comment "Firewall"
  
   ct helper ftp-standard {   ct helper ftp-standard {
Ligne 23: Ligne 23:
  
  
-     set allowed_ftp_clients { +  set allowed_ftp_clients { 
-                type ipv4_addr +    type ipv4_addr 
-                comment "Clients FTP identifiés autorisés à utiliser les services" +    comment "Clients FTP identifiés autorisés à utiliser les services" 
-                elements = { +    elements = { 
-                        192.168.33.10, +      192.168.0.123, 
-                        192.168.10.1, +      192.168.33.10, 
-                        172.16.1.33 +      192.168.10.1, 
-                +      172.16.1.33 
-        }+    
 +  }
  
   chain PRE {   chain PRE {
Ligne 41: Ligne 42:
   }   }
  
-      chain inbound { +  chain inbound { 
-                comment "Filtrage des paquets entrants" +    comment "Filtrage des paquets entrants" 
-                type filter hook input priority filter; policy drop;+    type filter hook input priority filter; policy drop;
  
-                # Suppression des paquets non conformes +    # Suppression des paquets non conformes 
-                ct state invalid counter drop+    ct state invalid counter drop
  
-                # Accepte tous paquets en lien avec un trafic explicitement autorisé +    # Accepte tous paquets en lien avec un trafic explicitement autorisé 
-                ct state established, related counter accept+    ct state established, related counter accept
  
-                # Pas de restriction sur le trafic entrant sur la boucle locale +    # Pas de restriction sur le trafic entrant sur la boucle locale 
-                iif "lo" counter accept comment "Accepte le trafic local sur l'interface loopback"+    iif "lo" counter accept comment "Accepte le trafic local sur l'interface loopback"
  
-                # Supprime les nombreuses sollicitations netbios sans journalisation +    # Supprime les nombreuses sollicitations netbios sans journalisation 
-                iif "lan0" udp dport {137, 138 } ip daddr 192.9.200.255 counter drop comment "Elimine les paquets netbios"+    iif "lan0" udp dport {137, 138 } ip daddr 192.168.0.255 counter drop comment "Elimine les paquets netbios"
  
-                # Supprime les nombreuses sollicitations multicast DNS +    # Supprime les nombreuses sollicitations multicast DNS 
-                iif "lan0" udp dport 5353 ip daddr 224.0.0.251 counter drop comment "Elimine les paquets mDNS"+    iif "lan0" udp dport 5353 ip daddr 224.0.0.251 counter drop comment "Elimine les paquets mDNS"
  
-                # Accepte les connexions FTP pour les clients identifiés. Le trafic est ensuite géré par l'helper "ftp"+    # Accepte les connexions FTP pour les clients identifiés. Le trafic est ensuite géré par l'helper "ftp"
     iif "lan0" ip saddr @allowed_ftp_clients tcp dport 21 ct state new log level notice prefix "[FW] [ACCEPT] [RID=18] " counter accept     iif "lan0" ip saddr @allowed_ftp_clients tcp dport 21 ct state new log level notice prefix "[FW] [ACCEPT] [RID=18] " counter accept
  
-                # Accepte mais limite les requête echo ICMP +    # Accepte mais limite les requête echo ICMP 
-                icmp type echo-request limit rate 5/second log prefix "[FW] [ACCEPT] [RID=17] " level notice counter accept comment "Autorise ICMP echo entrant"+    icmp type echo-request limit rate 5/second log prefix "[FW] [ACCEPT] [RID=17] " level notice counter accept comment "Autorise ICMP echo entrant"
  
-                # Tout trafic entrant non explicitement autorisé est journalisé et rejeté +    # Tout trafic entrant non explicitement autorisé est journalisé et rejeté 
-                log prefix "[FW] [REJECT] [RID=666] " counter packets 0 bytes 0 reject comment "Rejette tout trafic entrant non explicitement autorise" +    log prefix "[FW] [REJECT] [RID=666] " counter packets 0 bytes 0 reject comment "Rejette tout trafic entrant non explicitement autorise" 
-        }+  }
                  
-    chain outbound { +  chain outbound { 
-                comment "Filtrage des paquets sortants" +    comment "Filtrage des paquets sortants" 
-                type filter hook output priority filter; policy drop;+    type filter hook output priority filter; policy drop;
  
-                # Accepte tous les paquets en lien avec un trafic explicitement autorisé +    # Accepte tous les paquets en lien avec un trafic explicitement autorisé 
-                ct state established,related counter accept+    ct state established,related counter accept
  
-                # Pas de restriction concernant le trafic sortant par la boucle locale +    # Pas de restriction concernant le trafic sortant par la boucle locale 
-                oif "lo" counter accept comment "Accepte le trafic local sur l'interface loopback"+    oif "lo" counter accept comment "Accepte le trafic local sur l'interface loopback"
  
-                # Accepte mais limite les requête echo ICMP sortantes  +    # Accepte mais limite les requête echo ICMP sortantes  
-                icmp type echo-request limit rate 5/second log prefix "[FW] [ACCCEPT] [RID=61] " level notice counter accept comment "Autorise ICMP echo sortant"+    icmp type echo-request limit rate 5/second log prefix "[FW] [ACCCEPT] [RID=61] " level notice counter accept comment "Autorise ICMP echo sortant"
  
-                # Tout trafic sortant non explicitement autorisé est journalisé et rejeté +    # Tout trafic sortant non explicitement autorisé est journalisé et rejeté 
-                log prefix "[FW] [REJECT] [RID=667] " counter packets 0 bytes 0 reject comment "Rejette tout trafic sortant non explicitement autorise" +    log prefix "[FW] [REJECT] [RID=667] " counter packets 0 bytes 0 reject comment "Rejette tout trafic sortant non explicitement autorise" 
-        }+  }
  
-        chain forward { +  chain forward { 
-                type filter hook forward priority filter; policy drop;+    type filter hook forward priority filter; policy drop;
  
-                # Transmets tout paquet en relation avec un trafic explicitement autorisé en forwarding +    # Transmets tout paquet en relation avec un trafic explicitement autorisé en forwarding 
-                ct state established,related counter accept comment "Transfert les trafics des connexions explicitement autorisees"+    ct state established,related counter accept comment "Transfert les trafics des connexions explicitement autorisees"
  
-                # Journalise et rejette tout transfert non explicitement autorisé +    # Journalise et rejette tout transfert non explicitement autorisé 
-                log prefix "[FW] [REJECT] [RID=668] " counter reject comment "Refuse toute transmission non explicitement autorisee" +    log prefix "[FW] [REJECT] [RID=668] " counter reject comment "Refuse toute transmission non explicitement autorisee" 
-        }+  }
 } }
 </file> </file>
  
  
netadmin/nftables/exemples/nft_configuration_serveur_ftp.1720801747.txt.gz · Dernière modification : 2024/07/12 16:29 de yoann