From a06eee023500b72ba2a90fc0f3c822fc237d916a Mon Sep 17 00:00:00 2001 From: "guillaume.emorine" Date: Thu, 2 May 2024 13:52:22 +0200 Subject: [PATCH] =?UTF-8?q?=09Modifi=C3=A9=C2=A0:=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20sisr1/tp08=5Fevolution=5Finfrastructure/rules=5Fprogressive/?= =?UTF-8?q?firewall=5F8-9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rules_progressive/firewall_8-9 | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_8-9 b/sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_8-9 index 9e18da3..73c7bb5 100644 --- a/sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_8-9 +++ b/sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_8-9 @@ -1,12 +1,12 @@ # Définition des interfaces avec un nom -define netif = enp0s3 -define dmzif = enp0s8 -define lanif = enp0s9 +define netif = enp0s3 # Interface avec accès internet extérieur +define dmzif = enp0s8 # Interface branchée à la DMZ +define lanif = enp0s9 # Interface branchée au LAN # Définition des réseaux -define dmz-ntw = 172.17.0.0/24 -define lan-ntw = 172.16.0.0/24 -define net-ntw = 192.168.0.0/24 +define dmz-ntw = 172.17.0.0/24 # Plage réseau de la DMZ +define lan-ntw = 172.16.0.0/24 # Plage réseau du LAN +define net-ntw = 192.168.0.0/24 # Plage réseau, accès internet # Définition des IPs du pare-feu define firewall-net = 192.168.0.120 @@ -29,116 +29,116 @@ table ip ipfilter { chain prerouting { type filter hook prerouting priority filter; policy drop; - #Permet le passage des réponses aux requêtes acceptées + # Permet le passage des réponses aux requêtes acceptées ct state established, related accept - #Autorise le SSH, étape 2 + # Autorise le SSH, étape 2 tcp dport 22 iif $firewall-net accept - #Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 + # Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 icmp type echo-request iif {$lanif} oif {$dmzif} accept - #Accepte les réponses ping pour l'étape 4 + # Accepte les réponses ping pour l'étape 4 icmp type echo-reply accept - #Autorise les requêtes HTTP/HTTPS venant de la LAN - A vérifier + # Autorise les requêtes HTTP/HTTPS venant de la LAN - A vérifier tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les requêtes DNS venant de la LAN - A vérifier + # Autorise les requêtes DNS venant de la LAN - A vérifier udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + # Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept - #Autorise les requêtes DNS depuis le serveur proxy vers sio.lan (gwsio) (étape 6) + # Autorise les requêtes DNS depuis le serveur proxy vers sio.lan (gwsio) (étape 6) tcp dport 53 ip saddr $proxy-dns ip daddr $router accept - #Autorise les requêtes vers internet si elles viennent du serveur proxy (étape 7) - A vérifier + # Autorise les requêtes vers internet si elles viennent du serveur proxy (étape 7) - A vérifier ip saddr $proxy-dns daddr $router accept } chain system_in { type filter hook input priority filter; policy drop; - #Permet le passage des réponses aux requêtes acceptées + # Permet le passage des réponses aux requêtes acceptées ct state established, related accept - #Refuse les paquets sans états/qui viennent d'une connexion inconnue + # Refuse les paquets sans états/qui viennent d'une connexion inconnue ct state invalid, untracked drop - #Autorise le SSH, étape 2 + # Autorise le SSH, étape 2 tcp dport 22 iif $firewall-net accept - #Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 + # Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 icmp type echo-request iif {$lanif} oif {$dmzif} accept - #Accepte les réponses ping pour l'étape 4 + # Accepte les réponses ping pour l'étape 4 icmp type echo-reply accept - #Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier + # Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier + # Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + # Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept - #Autorise les requêtes vers internet si elles viennent du serveur proxy (étape 7) - A vérifier + # Autorise les requêtes vers internet si elles viennent du serveur proxy (étape 7) - A vérifier ip saddr $proxy-dns daddr $router accept } chain routing { type filter hook forward priority filter; policy drop; - #Permet le passage des réponses aux requêtes acceptées + # Permet le passage des réponses aux requêtes acceptées ct state established, related accept - #Refuse les paquets sans états/qui viennent d'une connexion inconnue + # Refuse les paquets sans états/qui viennent d'une connexion inconnue ct state invalid, untracked drop - #Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 + # Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 icmp type echo-request iif {$lanif} oif {$dmzif} accept - #Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier + # Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier + # Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + # Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept - #Autorise les requêtes DNS depuis le serveur proxy vers sio.lan (gwsio) (étape 6) + # Autorise les requêtes DNS depuis le serveur proxy vers sio.lan (gwsio) (étape 6) tcp dport 53 ip saddr $proxy-dns ip daddr $router accept - #Autorise les requêtes vers internet si elles viennent du serveur proxy (étape 7) - A vérifier + # Autorise les requêtes vers internet si elles viennent du serveur proxy (étape 7) - A vérifier ip saddr $proxy-dns daddr $router accept } chain system_out { type filter hook output priority filter; policy drop; - #Autorise le SSH à destination de srv-dmz et srv-service si la requête vient du firewall, étape 3 - A vérifier + # Autorise le SSH à destination de srv-dmz et srv-service si la requête vient du firewall, étape 3 - A vérifier tcp sport 22 ip saddr {$firewall-dmz, $firewall-lan} ip daddr {$proxy-dns, $dhcp} accept - #Autorise le pare-feu à faire des pings vers toutes les machines, étape 4 - A vérifier + # Autorise le pare-feu à faire des pings vers toutes les machines, étape 4 - A vérifier icmp type echo-request ip saddr {$firewall-net, $firewall-lan, $firewall-dmz} accept - #Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier + # Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier + # Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + # Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept } @@ -146,36 +146,36 @@ table ip ipfilter { chain postrouting { type filter hook postrouting priority filter; policy drop; - #Permet le passage des réponses aux requêtes acceptées + # Permet le passage des réponses aux requêtes acceptées ct state established, related accept - #Refuse les paquets sans états/qui viennent d'une connexion inconnue + # Refuse les paquets sans états/qui viennent d'une connexion inconnue ct state invalid, untracked drop - #Autorise le SSH à destination de srv-dmz et srv-service si la requête vient du firewall, étape 3 - A vérifier + # Autorise le SSH à destination de srv-dmz et srv-service si la requête vient du firewall, étape 3 - A vérifier tcp sport 22 ip saddr {$firewall-dmz, $firewall-lan} ip daddr {$proxy-dns, $dhcp} accept - #Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 + # Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 icmp type echo-request iif {$lanif} oif {$dmzif} accept - #Autorise le pare-feu à faire des pings vers toutes les machines, étape 4 - A vérifier + # Autorise le pare-feu à faire des pings vers toutes les machines, étape 4 - A vérifier icmp type echo-request ip saddr {$firewall-net, $firewall-lan, $firewall-dmz} accept - #Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier + # Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier + # Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept - #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + # Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept - #Autorise les requêtes DNS depuis le serveur proxy vers sio.lan (gwsio) (étape 6) + # Autorise les requêtes DNS depuis le serveur proxy vers sio.lan (gwsio) (étape 6) tcp dport 53 ip saddr $proxy-dns ip daddr $router accept - #Autorise les requêtes vers internet si elles viennent du serveur proxy (étape 7) - A vérifier + # Autorise les requêtes vers internet si elles viennent du serveur proxy (étape 7) - A vérifier ip saddr $proxy-dns daddr $router accept } @@ -183,11 +183,11 @@ table ip ipfilter { # Chaînes pour la NAT - étape 8 et 9. chain nat_prerouting { - type nat hook prerouting priority filter; policy accept;* + type nat hook prerouting priority filter; policy accept; # Port Forwarding pour le DNS, entre pare-feu et DMZ (étape 9) - iif eth0 udp dport 53 dnat to $proxy-dns - iif eth0 tcp dport 53 dnat to $proxy-dns + iif $netif udp dport 53 dnat to $proxy-dns + iif $netif tcp dport 53 dnat to $proxy-dns }