|
#eth0 : internet 81.1.1.0 #eth1 : LAN 172.16.1.0 #eth2 : DMZ 172.20.1.0 # #On ferme tous les ports : iptables -P INPUT drop iptables -P OUTPUT drop iptables -P FORWARD drop # # #On vide les chaines : iptables -F iptables -X # # #On créé les règles : iptables -N IN_PUB iptables -N IN_DMZ iptables -N IN_LAN iptables -N FWD_PUB iptables -N FWD_DMZ iptables -N FWD_LAN # # ####On configure IN_LAN : # #on autorise tout ce qui provient du lan iptables -A IN_LAN -i eth1 -s 172.16.1.0/24 -d 172.16.1.254/24 -j ACCEPT # #on accepte le broadcast réseau qui vient du lan iptables -A IN_LAN -i eth1 -s 172.16.1.0/24 -d 172.16.1.255/24 -j ACCEPT iptables -A IN_LAN -i eth1 -d 255.255.255.255 -j ACCEPT iptables -A IN_LAN -m limit –limit 3/sec -j LOG iptables -A IN_LAN -j REJECT # # ####On configure IN_DMZ : # #on autorise tout ce qui provient de la dmz en udp et tcp sur le port 53 iptables -A IN_DMZ -i eth2 -s 172.20.1.0/24 -d 172.20.1.254/24 -p udp –dport 53 -j ACCEPT iptables -A IN_DMZ -i eth2 -s 172.20.1.0/24 -d 172.20.1.254/24 -p tcp –dport 53 -j ACCEPT # #on log, on ignore après 3 secondes et on refuse tout le reste iptables -A IN_DMZ -m limit –limit 3/sec -j LOG iptables -A IN_DMZ -j REJECT # # ####On configure IN_PUB : # #paquet venant ou allant à l'extèrieur avec l'IP de mon lan : on log, ignore et refuse iptables -A IN_PUB -i eth0 -s 172.16.1.0/24 -m limit –limit 3/sec -j LOG iptables -A IN_PUB -i eth0 -s 172.16.1.0/24 -j DROP iptables -A IN_PUB -i eth0 -d 172.16.1.0/24 -m limit –limit 3/sec -j LOG iptables -A IN_PUB -i eth0 -d 172.16.1.0/24 -j DROP # #paquet venant ou allant à l'extèrieur avec l'IP de ma dmz : on log, ignore et refuse iptables -A IN_PUB -i eth0 -s 172.20.1.0/24 -m limit –limit 3/sec -j LOG iptables -A IN_PUB -i eth0 -s 172.20.1.0/24 -j DROP iptables -A IN_PUB -i eth0 -d 172.20.1.0/24 -m limit –limit 3/sec -j LOG iptables -A IN_PUB -i eth0 -d 172.20.1.0/24 -j DROP # iptables -A IN_PUB -i eth0 -p icmp –icmp-type 3 -j ACCEPT # #réponse au ping iptables -A IN_PUB -i eth0 -p icmp –icmp-type 0 -j ACCEPT iptables -A IN_PUB -i eth0 -p icmp –icmp-type 8 -j ACCEPT iptables -A IN_PUB -i eth0 -p icmp –icmp-type 11 -j ACCEPT #accept les paquets pour communication ssh iptables -A IN_PUB -i eth0 -p tcp –dport 22 -j ACCEPT # #accept les paquets pour DNS iptables -A IN_PUB -i eth0 -p udp –dport 53 -j ACCEPT iptables -A IN_PUB -i eth0 -p tcp –dport 53 -j ACCEPT # #configuration du port 113 pour l'ident ou auth pour indiquer que le port existe mais qu'il n'y a #aucun service dessus iptables -A IN_PUB -p tcp –dport 113 -j REJECT –reject-with tcp-reset # #tout ce que l'on rejette d'internet (Microsoft) et les tentatives d'intrusions que l'on log iptables -A IN_PUB -i eth0 -p udp –dport 135 -j DROP iptables -A IN_PUB -i eth0 -p udp –sport 135 -j DROP iptables -A IN_PUB -i eth0 -p tcp –dport 135 -j DROP iptables -A IN_PUB -i eth0 -p tcp –sport 135 -j DROP iptables -A IN_PUB -i eth0 -p udp –dport 137 -j DROP iptables -A IN_PUB -i eth0 -p udp –sport 137 -j DROP iptables -A IN_PUB -i eth0 -p udp –dport 138 -j DROP iptables -A IN_PUB -i eth0 -p udp –sport 138 -j DROP iptables -A IN_PUB -i eth0 -p tcp –dport 139 -j DROP iptables -A IN_PUB -i eth0 -p tcp –sport 139 -j DROP iptables -A IN_PUB -i eth0 -p tcp –dport 445 -j DROP iptables -A IN_PUB -i eth0 -p tcp –sport 445 -j DROP iptables -A IN_PUB -i eth0 -p tcp --dport 6000:6100 -j LOG iptables -A IN_PUB -i eth0 -p tcp --dport 5432 -j LOG iptables -A IN_PUB -i eth0 -p tcp --dport 1024:65535 -j DROP iptables -A IN_PUB -i eth0 -p udp --dport 1024:65535 -j DROP iptables -A IN_PUB -i eth0 -j LOG iptables -A IN_PUB -i eth0 -j DROP # # ####On configure FWD_DMZ # #généralité et log iptables -A FWD_DMZ -o eth0 -s 172.20.1.0/24 -d ! 172.16.1.0/24 -j ACCEPT iptables -A FWD_DMZ -j LOG iptables -A FWD_DMZ -j REJECT # # ####On configure FWD_LAN # #généralité et log iptables -A FWD_LAN -i eth1 -o eth0 -s 172.16.1.0/24 -d ! 172.20.1.0/24 -j ACCEPT iptables -A FWD_LAN -i eth1 -o eth2 -s 172.16.1.0/24 -d 172.20.1.0/24 -j ACCEPT iptables -A FWD_LAN -j LOG iptables -A FWD_LAN -j REJECT # # ####On configure FWD_PUB # #on ouvre les ports vers la dmz iptables -A FWD_PUB -i eth0 -o eth2 -d 172.20.1.0/24 -p tcp –dport 80 -j ACCEPT iptables -A FWD_PUB -i eth0 -o eth2 -d 172.20.1.0/24 -p tcp –dport 443 -j ACCEPT iptables -A FWD_PUB -i eth0 -o eth2 -d 172.20.1.0/24 -p tcp –dport 21 -j ACCEPT # #les tentatives d'intrusions que l'on log iptables -A FWD_PUB -i eth0 -p tcp --dport 6000:6100 -j LOG iptables -A FWD_PUB -i eth0 -p tcp --dport 5432 -j LOG iptables -A FWD_PUB -i eth0 -p tcp --dport 1024:65535 -j DROP iptables -A FWD_PUB -i eth0 -p udp --dport 1024:65535 -j DROP iptables -A FWD_PUB -j LOG iptables -A FWD_PUB -j DROP # # ####On configure les sorties : # #On considère que tout ce qui sort , établie est ok iptables -A OUTPUT --state related, established -j ACCEPT # #on log les demandes d'IP locale sur internet depuis la dmz iptables -A OUTPUT -o eth0 -d 172.20.1.0/24 -j LOG # #on log les demandes d'IP locale sur internet depuis le LAN iptables -A OUTPUT -o eth0 -d 172.16.1.0/24 -j LOG # #bloquage de demande d'IP locale sur internet depuis la dmz iptables -A OUTPUT -o eth0 -d 172.20.1.0/24 -j REJECT # #bloquage de demande d'IP locale sur internet depuis le LAN iptables -A OUTPUT -o eth0 -d 172.16.1.0/24 -j REJECT # #interface loopback iptables -A OUTPUT lo -j ACCEPT #accés à internet iptables -A OUTPUT -o eth0 -s 82.1.1.1 -j ACCEPT # #log accés ssh vers le serveur en dmz et accés ssh vers le serveur en dmz iptables -A OUTPUT -o eth2 -s 82.1.1.254 -d 172.20.1.1 -p tcp –dport 22 -j LOG iptables -A OUTPUT -o eth2 -s 82.1.1.254 -d 172.20.1.1 -p tcp –dport 22 -j ACCEPT # #le reste est fermé iptables -A OUTPUT -o -j REJECT # # ####On configure les entrées : # #bloquage d'un paquet bizarre pour le loopback et ignore après 3 secondes et on log iptables -A INPUT -d 127.0.0.0/8 -i!lo -m limit –limit 3/sec -j LOG iptables -A INPUT -d 127.0.0.0/8 -j DROP # #autorisation de tous les paquets établies iptables -A INPUT -m STATE –state established, related -j ACCEPT # #autorisation des paquets sur loopback iptables -A INPUT -i lo -j ACCEPT # #tout ce qui arrive du lan est envoyé dans la règle IN_LAN iptables -A INPUT -i eth1 -s 172.16.1.0/24 -j IN_LAN # #envoie sur IN_LAN d'une entité du lan qui n'a pas d'IP et qui cherche a joindre le broadcast #mondial iptables -A INPUT -i eth1 -s 0.0.0.0 -d 255.255.255.255 -j IN_LAN # #tout ce qui arrive de la dmz est envoyé dans la règle IN_DMZ iptables -A INPUT -i eth2 -s 172.20.1.0/24 -j IN_DMZ # #tout ce qui arrive d'internet est envoyé dans la règle IN_PUB iptables -A INPUT -i eth0 -j IN_PUB # #tout le reste est log, ignore après 3 secondes et bloqué iptables -A INPUT -m limit –limit 3/sec -j LOG iptables -A INPUT -j DROP # # ####On configure FORWARD # #on répond aux requètes entrantes iptables -A FORWARD –state related, established -j ACCEPT # #microsofteries iptables -A FORWARD -p udp –dport 135 -j DROP iptables -A FORWARD -p udp –sport 135 -j DROP iptables -A FORWARD -p tcp –dport 135 -j DROP iptables -A FORWARD -p tcp –sport 135 -j DROP iptables -A FORWARD -p udp –dport 137 -j DROP iptables -A FORWARD -p udp –sport 137 -j DROP iptables -A FORWARD -p udp –dport 138 -j DROP iptables -A FORWARD -p udp –sport 138 -j DROP iptables -A FORWARD -p tcp –dport 139 -j DROP iptables -A FORWARD -p tcp –sport 139 -j DROP iptables -A FORWARD -p tcp –dport 445 -j DROP iptables -A FORWARD -p tcp –sport 445 -j DROP # #renvoie vers fwd_pub iptables -A FORWARD -i eth0 -j FWD_PUB # #renvoie vers fwd_lan iptables -A FORWARD -i eth1 -s 172.16.1.0/24 -j FWD_LAN # #renvoie vers fwd_dmz iptables -A FORWARD -i eth0 -s 172.20.1.0/24 -j FWD_DMZ # #tout le reste iptables -A FORWARD -j LOG iptables -A FORWARD -i eth0 -j DROP iptables -A FORWARD -j REJECT # # ####NAT # #PREROUTING sortie ( redirect / dnat ) #OUTPUT sortie ( redirect / dnat ) #POSTROUTING entrée ( snat /masquerade ) # #on vide les regles de nat iptables -t nat -F # #le lan et la dmz peuvent sortir vers internet iptables -t nat -A POSTROUTING -o eth0 -s 192.16.1.0/24 -j SNAT –to-source 82.1.1.1 iptables -t nat -A POSTROUTING -o eth0 -s 192.20.1.0/24 -j SNAT –to-source 82.1.1.1 # #tout ce qui rentre sur eth0 est redirigé sur la dmz iptables -t nat -A PREROUTING -i eth0 -d 82.1.1.1 –dport 80 -j DNAT –to-destination 192.20.1.1 iptables -t nat -A PREROUTING -i eth0 -d 82.1.1.1 –dport 21 -j DNAT –to-destination 192.20.1.1 iptables -t nat -A PREROUTING -i eth0 -d 82.1.1.1 –dport 443 -j DNAT –to-destination 192.20.1.1
|