Réponse à « Mise en place d’un firewall sous debian »
C’est peut-être du à l’anciennetée du billet(7 novembre 2011) mais sudo apt-get update
met à jour la liste des paquets, et install
, installe des pauets, pour mettre à jour c’est upgrade
. Mettre pare-feu (open-office ;3) serait mieux que firewall.
Bon ensuite je ne sais pas si c’est à cause de ton moteur de blog, mais il n’y à pas de majuscules en début de commande. Et un fichier texte aurait été bien mieux qu’une image pour donner un script. Surtout que le paquet iptables-persistent existe pour cette fonctionalitée. Et dire au lecteur·trice d’utiliser un éditeur de texte plutôt que d’utiliser touch et nano. Ensuite je ne recommande pas l’utilisation d’un DMZ(machine·s où tout les ports sont ouvert dessus).
Règles IPtables
Vut qu’il n’y a aucune explication, pour faire du NAT c’est avec l’option masquerade(exemple : iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o wlan0 -j MASQUERADE
-A pour Ajouter, 102.168.0.0/24 est une notation CIDR qui indique un block de 256 addresses IPs commencant à 192.168.0.0, -o pour indiquer l’interface de sortie, ici wlan0 la carte wifi) qui évite de s’emmerder a configurer l’IP de sortie/remplacement/publique/… utile quand il y a plusieurs sorties ou une addresse de sortie non-fixe (cf. Partage de connexion - ArchwikiFR).
Ensuite il manque la redirection des paquets pour une autre destination. echo 1 > /proc/sys/net/ipv4/ip_forward
Ah et y’a pas que le web donc iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
permet de pouvoir établir une connexion.
iptables -A INPUT -p icmp -j ACCEPT
active les paquets icmp, ne pas activer car permet de passer par un chemin détourné au niveau du pare-feu.
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
Ne rendez pas CUPS accessible, tout le monde pourrait imprimer !
Ensuite fail2ban, n’est pas un pare-feu, c’est un anti-spam (bloque au bout d’un certain quota), utile contre les attaques type bruteforce. Il ne permet pas d’empecher les attaques lentes et les services non-sécurisé ou mal-configuré(id : admin, mpd : admin), par exemple le CUPS public. Je vous conseille de bien configurer avant vos services et éventuellement de l’utiliser ensuite(pour un réseau difficile à surveiller, avec beaucoup de personnes dedans et/ou un service merdique).
En gros pour faire un pare-feu (sous linux) c’est :
- Activer le “routage” de paquets :
- Temporairement :
echo 1 > /proc/sys/net/ipv4/ip_forward
- Au démarrage : Changez/ajoutez
IPTABLES_FORWARD
à 1
- Temporairement :
- Faire une passerelle NAT(pour avoir un réseau local) :
iptables -t nat -A POSTROUTING -s 192.168.0.0/22 -o wlan 0 -j MASQUERADE
- Si vous voulez ouvrir des ports(serveur web, skype apparement ;/, jeu, …) :
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
et remplacez 80 par le port en question ou le service(la liste est dans/etc/services
), et tcp par le protocole(tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp, mh, … une liste est disponible dans/etc/protocols
) ou all pour tout les protocoles(utile pour Minecraft® par exemple). - Pour vérifier vos règles iptables :
iptables -L
.