, , , , , , , ,

Netfilter : Autoriser le trafic TFTP sur un poste client

Pour que le service TFTP 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 n'autorise le trafic TFTP que vers certains serveurs identifiés.

table ip ipfilter {
  
  # Suivi des connexions TFTP
  ct helper tftp-standard {
    type "tftp" protocol udp
    l3proto ip
  }

  chain POST {
    type filter hook postrouting priority filter; policy accept;
    
    # Le trafic sortant à destination du port 69 (TFTP) est marqué et suivi
    udp dport 69 ct helper set "tftp-standard"
  }

  chain inbound {
    type filter hook input priority filter; policy drop;
    ct state established,related counter accept
    
   # Tout trafic entrant non explicitement autorisé est journalisé et rejeté
    log prefix "[FW] [REJECT] [RID=666] " counter reject
  }

  chain outbound {
    type filter hook output priority filter; policy drop;
    
    # Accepte tout paquet en lien avec un trafic explicitement autorisé
    ct state established,related counter accept
    
    # Accepte le trafic TFTP vers les serveurs de confiance (ici l' hote 19.168.33.10)
    ct state new ip daddr 192.168.33.10 udp dport 69 log prefix "[ACCEPT] " level notice counter accept
    
    # Tout trafic sortant non explicitement autorisé est journalisé et rejetté
    log prefix "[FW] [REJECT] [RID=667] " counter reject
  }

 chain forward {
    type filter hook forward priority filter; policy drop;
    ct state established,related counter accept comment "Transfert les trafics des connexions explicitement autorisees"

    log prefix "[FW] [REJECT] [RID=668] " counter reject comment "Refuse toute transmission non explicitement autorisee"
  }
}