Modifié : sisr1/tp08_evolution_infrastructure/rules_progressive/README.md
Modifié : sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_3 Modifié : sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_4 Modifié : sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_5 Modifié : sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_6 Modifié : sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_7 Modifié : sisr1/tp08_evolution_infrastructure/rules_progressive/firewall_8-9
This commit is contained in:
		| @@ -1,3 +1 @@ | ||||
| Ce dossier contient l'ensemble des règles du pare-feu, étape par étape pour l'implémentation. | ||||
|  | ||||
| Il faut prendre les règles de chaque étape UNIQUEMENT, pour éviter les problèmes. | ||||
| Ce dossier contient le fichier de base (firewall_1-2), ainsi que des fichiers numérotés qui contiennent les règles à rajouter de chaque étape suivante. | ||||
| @@ -1,60 +1,7 @@ | ||||
| # Définition des interfaces avec un nom | ||||
| 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 # 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 | ||||
| define firewall-lan = 172.16.0.254 | ||||
| define firewall-dmz = 172.17.0.254 | ||||
|  | ||||
| # Définition des choses importantes - Vérifier comment les commentaires en fin de ligne fonctionnent | ||||
| define proxy-dns = 172.17.0.1 # IP de srv-dmz | ||||
| define dns-school = {10.121.38.7 , 10.121.38.8} # Serveurs DNS du lycée | ||||
| define portproxy = 1080 # Port utilisé par le proxy qu'on va configurer | ||||
| define dhcp = 172.16.0.1 # IP de srv-service | ||||
| define pcsecure = 172.16.0.10 # IP de pc-secure | ||||
| define router = 192.168.0.1 # IP de GWSIO | ||||
| define lan-dhcp = 172.16.0.100-172.16.0.200 # IPs utilisées en plage DHCP | ||||
|  | ||||
| # Début des tables et des chaînes | ||||
| # Ajouts pour l'étape 3 | ||||
|  | ||||
| table ip ipfilter { | ||||
|  | ||||
| 	chain prerouting { | ||||
|                 type filter hook prerouting priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# Autorise le SSH, étape 2 | ||||
| 		tcp dport 22 iif $firewall-net accept | ||||
| 	 | ||||
|         } | ||||
|  | ||||
| 	chain system_in { | ||||
|                 type filter hook input priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# Autorise le SSH, étape 2 | ||||
|                 tcp dport 22 iif $firewall-net accept | ||||
|         } | ||||
|  | ||||
|  	chain routing { | ||||
|                 type filter hook forward priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 	} | ||||
|  | ||||
|  	chain system_out { | ||||
|                 type filter hook output priority filter; policy drop; | ||||
| 		 | ||||
|   | ||||
| @@ -1,28 +1,4 @@ | ||||
| # Définition des interfaces avec un nom | ||||
| 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 # 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 | ||||
| define firewall-lan = 172.16.0.254 | ||||
| define firewall-dmz = 172.17.0.254 | ||||
|  | ||||
| # Définition des choses importantes - Vérifier comment les commentaires en fin de ligne fonctionnent | ||||
| define proxy-dns = 172.17.0.1 # IP de srv-dmz | ||||
| define dns-school = {10.121.38.7 , 10.121.38.8} # Serveurs DNS du lycée | ||||
| define portproxy = 1080 # Port utilisé par le proxy qu'on va configurer | ||||
| define dhcp = 172.16.0.1 # IP de srv-service | ||||
| define pcsecure = 172.16.0.10 # IP de pc-secure | ||||
| define router = 192.168.0.1 # IP de GWSIO | ||||
| define lan-dhcp = 172.16.0.100-172.16.0.200 # IPs utilisées en plage DHCP | ||||
|  | ||||
| # Début des tables et des chaînes | ||||
| # Chaînes à ajouter dans l'étape 4 | ||||
|  | ||||
| table ip ipfilter { | ||||
|  | ||||
| @@ -32,9 +8,6 @@ table ip ipfilter { | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
| @@ -46,12 +19,6 @@ table ip ipfilter { | ||||
| 	chain system_in { | ||||
|                 type filter hook input priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# Autorise le SSH, étape 2 | ||||
|                 tcp dport 22 iif $firewall-net accept | ||||
|  | ||||
| 		# Accepte les réponses ping pour l'étape 4 | ||||
| 		icmp type echo-reply accept | ||||
|         } | ||||
| @@ -72,9 +39,6 @@ table ip ipfilter { | ||||
|  	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 | ||||
| 		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 | ||||
| 		icmp type echo-request accept       | ||||
| 	} | ||||
| @@ -85,9 +49,6 @@ table ip ipfilter { | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
|   | ||||
| @@ -1,28 +1,4 @@ | ||||
| # Définition des interfaces avec un nom | ||||
| 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 # 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 | ||||
| define firewall-lan = 172.16.0.254 | ||||
| define firewall-dmz = 172.17.0.254 | ||||
|  | ||||
| # Définition des choses importantes - Vérifier comment les commentaires en fin de ligne fonctionnent | ||||
| define proxy-dns = 172.17.0.1 # IP de srv-dmz | ||||
| define dns-school = {10.121.38.7 , 10.121.38.8} # Serveurs DNS du lycée | ||||
| define portproxy = 1080 # Port utilisé par le proxy qu'on va configurer | ||||
| define dhcp = 172.16.0.1 # IP de srv-service | ||||
| define pcsecure = 172.16.0.10 # IP de pc-secure | ||||
| define router = 192.168.0.1 # IP de GWSIO | ||||
| define lan-dhcp = 172.16.0.100-172.16.0.200 # IPs utilisées en plage DHCP | ||||
|  | ||||
| # Début des tables et des chaînes | ||||
| # Chaînes à ajouter pour l'étape 5 | ||||
|  | ||||
| table ip ipfilter { | ||||
|  | ||||
| @@ -32,19 +8,10 @@ table ip ipfilter { | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
| 		# 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 (étape 5) | ||||
|                 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 (étape 5) | ||||
| 		udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept | ||||
| 		udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept | ||||
|  | ||||
| @@ -53,32 +20,12 @@ table ip ipfilter { | ||||
| 		udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept | ||||
|         } | ||||
|  | ||||
| 	chain system_in { | ||||
|                 type filter hook input priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
| 		# Accepte les réponses ping pour l'étape 4 | ||||
| 		icmp type echo-reply accept | ||||
|  | ||||
|         } | ||||
|  | ||||
|  	chain routing { | ||||
|                 type filter hook forward priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
| 		tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept | ||||
|  | ||||
| @@ -92,32 +39,12 @@ table ip ipfilter { | ||||
|  | ||||
| 	} | ||||
|  | ||||
|  	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 | ||||
| 		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 | ||||
| 		icmp type echo-request accept | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	chain postrouting { | ||||
|                 type filter hook postrouting priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	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 | ||||
| 		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 | ||||
| 		tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept | ||||
|  | ||||
|   | ||||
| @@ -1,139 +1,30 @@ | ||||
| # Définition des interfaces avec un nom | ||||
| 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 # 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 | ||||
| define firewall-lan = 172.16.0.254 | ||||
| define firewall-dmz = 172.17.0.254 | ||||
|  | ||||
| # Définition des choses importantes - Vérifier comment les commentaires en fin de ligne fonctionnent | ||||
| define proxy-dns = 172.17.0.1 # IP de srv-dmz | ||||
| define dns-school = {10.121.38.7 , 10.121.38.8} # Serveurs DNS du lycée | ||||
| define portproxy = 1080 # Port utilisé par le proxy qu'on va configurer | ||||
| define dhcp = 172.16.0.1 # IP de srv-service | ||||
| define pcsecure = 172.16.0.10 # IP de pc-secure | ||||
| define router = 192.168.0.1 # IP de GWSIO | ||||
| define lan-dhcp = 172.16.0.100-172.16.0.200 # IPs utilisées en plage DHCP | ||||
|  | ||||
| # Début des tables et des chaînes | ||||
| # Chaînes à rajouter pour l'étape 6 | ||||
|  | ||||
| table ip ipfilter { | ||||
|  | ||||
| 	chain prerouting { | ||||
|                 type filter hook prerouting priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
| 		# 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 | ||||
|                 tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept | ||||
|  | ||||
| 		# 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 | ||||
| 		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) | ||||
| 		tcp dport 53 ip saddr $proxy-dns ip 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 | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
| 		# Accepte les réponses ping pour l'étape 4 | ||||
| 		icmp type echo-reply accept | ||||
|  | ||||
|         } | ||||
|  | ||||
|  	chain routing { | ||||
|                 type filter hook forward priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
| 		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 | ||||
| 		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 | ||||
| 		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) | ||||
| 		tcp dport 53 ip saddr $proxy-dns ip 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 | ||||
| 		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 | ||||
| 		icmp type echo-request ip saddr {$firewall-net, $firewall-lan, $firewall-dmz} accept | ||||
|   | ||||
| 	} | ||||
|  | ||||
| 	chain postrouting { | ||||
|                 type filter hook postrouting priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	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 | ||||
| 		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 | ||||
| 		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 | ||||
| 		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 | ||||
| 		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) | ||||
| 		tcp dport 53 ip saddr $proxy-dns ip daddr $router accept | ||||
| 	} | ||||
|   | ||||
| @@ -1,28 +1,4 @@ | ||||
| # Définition des interfaces avec un nom | ||||
| 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 # 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 | ||||
| define firewall-lan = 172.16.0.254 | ||||
| define firewall-dmz = 172.17.0.254 | ||||
|  | ||||
| # Définition des choses importantes - Vérifier comment les commentaires en fin de ligne fonctionnent | ||||
| define proxy-dns = 172.17.0.1 # IP de srv-dmz | ||||
| define dns-school = {10.121.38.7 , 10.121.38.8} # Serveurs DNS du lycée | ||||
| define portproxy = 1080 # Port utilisé par le proxy qu'on va configurer | ||||
| define dhcp = 172.16.0.1 # IP de srv-service | ||||
| define pcsecure = 172.16.0.10 # IP de pc-secure | ||||
| define router = 192.168.0.1 # IP de GWSIO | ||||
| define lan-dhcp = 172.16.0.100-172.16.0.200 # IPs utilisées en plage DHCP | ||||
|  | ||||
| # Début des tables et des chaînes | ||||
| # Chaînes à rajouter pour l'étape 7 | ||||
|  | ||||
| table ip ipfilter { | ||||
|  | ||||
| @@ -32,117 +8,23 @@ table ip ipfilter { | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
| 		# 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 | ||||
|                 tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept | ||||
|  | ||||
| 		# 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 | ||||
| 		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) | ||||
| 		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 | ||||
| 		tcp dport {80,443} 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 | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
| 		# Accepte les réponses ping pour l'étape 4 | ||||
| 		icmp type echo-reply accept | ||||
|  | ||||
|         } | ||||
|  | ||||
|  	chain routing { | ||||
|                 type filter hook forward priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
| 		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 | ||||
| 		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 | ||||
| 		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) | ||||
| 		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 | ||||
| 		tcp dport {80,443} 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 | ||||
| 		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 | ||||
| 		icmp type echo-request ip saddr {$firewall-net, $firewall-lan, $firewall-dmz} accept | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	chain postrouting { | ||||
|                 type filter hook postrouting priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	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 | ||||
| 		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 | ||||
| 		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 | ||||
| 		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 | ||||
| 		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) | ||||
| 		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 | ||||
| 		tcp dport {80,443} ip saddr $proxy-dns daddr $router accept | ||||
| 	} | ||||
|   | ||||
| @@ -1,155 +1,7 @@ | ||||
| # Définition des interfaces avec un nom | ||||
| 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 # 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 | ||||
| define firewall-lan = 172.16.0.254 | ||||
| define firewall-dmz = 172.17.0.254 | ||||
|  | ||||
| # Définition des choses importantes - Vérifier comment les commentaires en fin de ligne fonctionnent | ||||
| define proxy-dns = 172.17.0.1 # IP de srv-dmz | ||||
| define dns-school = {10.121.38.7 , 10.121.38.8} # Serveurs DNS du lycée | ||||
| define portproxy = 1080 # Port utilisé par le proxy qu'on va configurer | ||||
| define dhcp = 172.16.0.1 # IP de srv-service | ||||
| define pcsecure = 172.16.0.10 # IP de pc-secure | ||||
| define router = 192.168.0.1 # IP de GWSIO | ||||
| define lan-dhcp = 172.16.0.100-172.16.0.200 # IPs utilisées en plage DHCP | ||||
|  | ||||
| # Début des tables et des chaînes | ||||
| # Chaînes à rajouter dans les étapes 8 et 9 | ||||
|  | ||||
| table ip ipfilter { | ||||
|  | ||||
| 	chain prerouting { | ||||
|                 type filter hook prerouting priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
| 		# 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 | ||||
|                 tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept | ||||
|  | ||||
| 		# 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 | ||||
| 		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) | ||||
| 		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 | ||||
| 		tcp dport {80,443} 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 | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	icmp type echo-request iif {$lanif} oif {$dmzif} accept | ||||
|  | ||||
| 		# Accepte les réponses ping pour l'étape 4 | ||||
| 		icmp type echo-reply accept | ||||
|  | ||||
|         } | ||||
|  | ||||
|  	chain routing { | ||||
|                 type filter hook forward priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
| 		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 | ||||
| 		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 | ||||
| 		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) | ||||
| 		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 | ||||
| 		tcp dport {80,443} 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 | ||||
| 		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 | ||||
| 		icmp type echo-request ip saddr {$firewall-net, $firewall-lan, $firewall-dmz} accept | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	chain postrouting { | ||||
|                 type filter hook postrouting priority filter; policy drop; | ||||
|  | ||||
| 		# Permet le passage des réponses aux requêtes acceptées | ||||
| 		ct state established, related accept | ||||
|  | ||||
| 		# 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 | ||||
|         	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 | ||||
| 		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 | ||||
| 		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 | ||||
| 		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 | ||||
| 		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) | ||||
| 		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 | ||||
| 		tcp dport {80,443} ip saddr $proxy-dns daddr $router accept | ||||
| 	} | ||||
|  | ||||
|  | ||||
| # Chaînes pour la NAT - étape 8 et 9. | ||||
|  | ||||
| 	chain nat_prerouting { | ||||
| 		type nat hook prerouting priority filter; policy accept; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user