Ci-dessous, les différences entre deux révisions de la page.
netadmin:nftables:exemples:nft_configuration_initiale_serveur_debian [2024/07/09 10:16] – créée yoann | netadmin:nftables:exemples:nft_configuration_initiale_serveur_debian [2024/07/09 12:06] (Version actuelle) – yoann | ||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
<file conf nftables.conf> | <file conf nftables.conf> | ||
+ | # | ||
+ | flush ruleset | ||
+ | |||
+ | define DEBIAN_UPDATE_SERVERS = { | ||
+ | 199.232.170.132, | ||
+ | 151.101.2.132, | ||
+ | 193.55.175.161 | ||
+ | } | ||
+ | |||
+ | define DEBIAN_NTP_SERVERS = { | ||
+ | 51.38.81.135, | ||
+ | 51.38.113.118, | ||
+ | 51.68.180.114, | ||
+ | 194.57.169.1 | ||
+ | } | ||
+ | |||
+ | table ip ipfilter { | ||
+ | comment " | ||
+ | |||
+ | set resolvers { | ||
+ | type ipv4_addr | ||
+ | comment " | ||
+ | elements = { | ||
+ | 8.8.8.8, | ||
+ | 8.8.4.4 | ||
+ | } | ||
+ | } | ||
+ | set managers { | ||
+ | type ipv4_addr | ||
+ | comment " | ||
+ | elements = { | ||
+ | 192.168.0.12, | ||
+ | 192.168.1.33, | ||
+ | 192.168.0.123 | ||
+ | } | ||
+ | } | ||
+ | |||
+ | set update_servers { | ||
+ | type ipv4_addr | ||
+ | comment " | ||
+ | elements = { $DEBIAN_UPDATE_SERVERS } | ||
+ | } | ||
+ | |||
+ | set ntp_servers { | ||
+ | type ipv4_addr | ||
+ | comment " | ||
+ | elements = { | ||
+ | $DEBIAN_NTP_SERVERS | ||
+ | } | ||
+ | } | ||
+ | |||
+ | chain inbound { | ||
+ | comment " | ||
+ | type filter hook input priority filter; policy drop; | ||
+ | |||
+ | # Suppression des paquets non conformes | ||
+ | ct state invalid counter drop | ||
+ | |||
+ | # Accepte tous paquets en lien avec un trafic explicitement autorisé | ||
+ | ct state established, | ||
+ | |||
+ | # Pas de restriction sur le trafic entrant sur la boucle locale | ||
+ | iif " | ||
+ | |||
+ | # Supprime les nombreuses sollicitations netbios sans journalisation | ||
+ | iif " | ||
+ | # | ||
+ | # Supprime les nombreuses sollicitations multicast DNS | ||
+ | iif " | ||
+ | |||
+ | # Les hotes du groupe " | ||
+ | iif " | ||
+ | |||
+ | # 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 " | ||
+ | |||
+ | # Tout trafic entrant non explicitement autorisé est journalisé et rejeté | ||
+ | log prefix "[FW] [REJECT] [RID=666] " counter packets 0 bytes 0 reject comment " | ||
+ | } | ||
+ | |||
+ | chain outbound { | ||
+ | comment " | ||
+ | type filter hook output priority filter; policy drop; | ||
+ | |||
+ | # Accepte tous les paquets en lien avec un trafic explicitement autorisé | ||
+ | ct state established, | ||
+ | |||
+ | # Pas de restriction concernant le trafic sortant par la boucle locale | ||
+ | oif " | ||
+ | |||
+ | # Accepte et journalise les requêtes DNS à destination des résolveurs de confiance | ||
+ | ct state new ip daddr @resolvers udp dport 53 log prefix "[FW] [ACCEPT] [RID=28] " level notice counter accept comment " | ||
+ | |||
+ | ct state new ip daddr @resolvers tcp dport 53 log prefix "[FW] [ACCEPT] [RID=26] " level notice counter accept comment " | ||
+ | |||
+ | # Accepte et journalise le trafic a destination des serveurs de mise à jour système | ||
+ | ct state new ip daddr @update_servers tcp dport { 80, 443 } log prefix "[FW] [ACCEPT] [RID=32] " level notice counter accept comment " | ||
+ | |||
+ | # Autorise le trafic NTP vers serveurs NTP de confiance | ||
+ | ct state new ip daddr @ntp_servers udp dport 123 log prefix "[FW] [ACCEPT] [RID=55] " level notice counter accept comment " | ||
+ | |||
+ | # Autorise client DHCP (DHCPDISCOVER) pour autc-configuration des interfaces locales | ||
+ | #ct state new udp dport 67 counter accept comment " | ||
+ | |||
+ | # 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 " | ||
+ | |||
+ | # Tout trafic sortant non explicitement autorisé est journalisé et rejeté | ||
+ | log prefix "[FW] [REJECT] [RID=667] " counter packets 0 bytes 0 reject comment " | ||
+ | } | ||
+ | |||
+ | chain forward { | ||
+ | type filter hook forward priority filter; policy drop; | ||
+ | |||
+ | # Transmets tout paquet en relation avec un trafic explicitement autorisé en forwarding | ||
+ | ct state established, | ||
+ | |||
+ | # Journalise et rejette tout transfert non explicitement autorisé | ||
+ | log prefix "[FW] [REJECT] [RID=668] " counter reject comment " | ||
+ | } | ||
+ | } | ||
</ | </ |