Renommé : sisr1/tp08/firewall_regles.txt -> sisr1/tp08/Original rules/firewall_compiled.txt
Nouveau fichier : sisr1/tp08/Progressive Rules/firewall_1-2 Nouveau fichier : sisr1/tp08/Progressive Rules/firewall_3 Nouveau fichier : sisr1/tp08/Progressive Rules/firewall_4 Nouveau fichier : sisr1/tp08/Progressive Rules/firewall_5 Nouveau fichier : sisr1/tp08/Progressive Rules/firewall_6 Nouveau fichier : sisr1/tp08/Progressive Rules/firewall_7 Nouveau fichier : sisr1/tp08/Progressive Rules/firewall_8-9
This commit is contained in:
		
							
								
								
									
										76
									
								
								sisr1/tp08/Progressive Rules/firewall_1-2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								sisr1/tp08/Progressive Rules/firewall_1-2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
# Définition des interfaces avec un nom
 | 
			
		||||
define netif = enp0s3
 | 
			
		||||
define dmzif = enp0s8
 | 
			
		||||
define lanif = enp0s9
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 	chain system_out {
 | 
			
		||||
                type filter hook output priority filter; policy drop;        
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										82
									
								
								sisr1/tp08/Progressive Rules/firewall_3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								sisr1/tp08/Progressive Rules/firewall_3
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
# Définition des interfaces avec un nom
 | 
			
		||||
define netif = enp0s3
 | 
			
		||||
define dmzif = enp0s8
 | 
			
		||||
define lanif = enp0s9
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 	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       
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
		tcp sport 22 ip saddr {$firewall-dmz, $firewall-lan} ip daddr {$proxy-dns, $dhcp} accept
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										107
									
								
								sisr1/tp08/Progressive Rules/firewall_4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								sisr1/tp08/Progressive Rules/firewall_4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,107 @@
 | 
			
		||||
# Définition des interfaces avec un nom
 | 
			
		||||
define netif = enp0s3
 | 
			
		||||
define dmzif = enp0s8
 | 
			
		||||
define lanif = enp0s9
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
        	icmp type echo-request iif {$lanif} oif {$dmzif} 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
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
		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
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										162
									
								
								sisr1/tp08/Progressive Rules/firewall_5
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								sisr1/tp08/Progressive Rules/firewall_5
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,162 @@
 | 
			
		||||
# Définition des interfaces avec un nom
 | 
			
		||||
define netif = enp0s3
 | 
			
		||||
define dmzif = enp0s8
 | 
			
		||||
define lanif = enp0s9
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
 | 
			
		||||
		#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 (é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
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 	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
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
        	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
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 	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
 | 
			
		||||
 | 
			
		||||
		#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   
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
		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
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										169
									
								
								sisr1/tp08/Progressive Rules/firewall_6
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										169
									
								
								sisr1/tp08/Progressive Rules/firewall_6
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,169 @@
 | 
			
		||||
# Définition des interfaces avec un nom
 | 
			
		||||
define netif = enp0s3
 | 
			
		||||
define dmzif = enp0s8
 | 
			
		||||
define lanif = enp0s9
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
 | 
			
		||||
		#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 (é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
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 	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
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
        	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
 | 
			
		||||
 | 
			
		||||
		#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   
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
		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
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										181
									
								
								sisr1/tp08/Progressive Rules/firewall_7
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										181
									
								
								sisr1/tp08/Progressive Rules/firewall_7
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,181 @@
 | 
			
		||||
# Définition des interfaces avec un nom
 | 
			
		||||
define netif = enp0s3
 | 
			
		||||
define dmzif = enp0s8
 | 
			
		||||
define lanif = enp0s9
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
		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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
 | 
			
		||||
		#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 (é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 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
 | 
			
		||||
		ct state established, related accept
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
        	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
 | 
			
		||||
		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
 | 
			
		||||
 | 
			
		||||
		#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   
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
		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
 | 
			
		||||
		ip saddr $proxy-dns daddr $router accept
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										201
									
								
								sisr1/tp08/Progressive Rules/firewall_8-9
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								sisr1/tp08/Progressive Rules/firewall_8-9
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,201 @@
 | 
			
		||||
# Définition des interfaces avec un nom
 | 
			
		||||
define netif = enp0s3
 | 
			
		||||
define dmzif = enp0s8
 | 
			
		||||
define lanif = enp0s9
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
		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
 | 
			
		||||
 | 
			
		||||
		#Refuse les paquets sans états/qui viennent d'une connexion inconnue
 | 
			
		||||
		ct state invalid, untracked drop
 | 
			
		||||
 | 
			
		||||
		#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 (é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 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
 | 
			
		||||
		ct state established, related accept
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
        	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
 | 
			
		||||
		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
 | 
			
		||||
 | 
			
		||||
		#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   
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
		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
 | 
			
		||||
		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;*
 | 
			
		||||
 | 
			
		||||
		# 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
 | 
			
		||||
	
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	chain nat_postrouting {
 | 
			
		||||
		type nat hook postrouting priority filter; policy accept;
 | 
			
		||||
 | 
			
		||||
		# Masquage des adresses IP de la DMZ via NAT (étape 8)
 | 
			
		||||
		ip saddr $dmz-ntw snat $firewall-net
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user