forked from guillaume.emorine/siotp
Réorganisation du dépôt de première année.
This commit is contained in:
2
bts_annee_1/tp08_evolution_infrastructure/regles_originales/README.md
Executable file
2
bts_annee_1/tp08_evolution_infrastructure/regles_originales/README.md
Executable file
@@ -0,0 +1,2 @@
|
||||
Ce dossier contient le fichier des règles du pare-feu, tel qu'il était avant la décomposition en étapes progressives.
|
||||
Ce fichier est donc l'original.
|
@@ -0,0 +1,217 @@
|
||||
# Etapes "réussies"
|
||||
# Etape 1 - oui
|
||||
# Etape 2 - oui
|
||||
# Etape 3 - oui
|
||||
# Etape 4 - oui
|
||||
# Etape 5 - oui
|
||||
# Etape 6 - oui
|
||||
# Etape 7 - oui
|
||||
# Etape 8 - oui
|
||||
# Etape 9 - non
|
||||
|
||||
# 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