Réponse à « Mise en place d’un firewall sous debian ».xhtml (4146B)
- <article xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="h-entry">
- <a href="/articles/R%c3%a9ponse%20%c3%a0%20%c2%ab%c2%a0Mise%20en%20place%20d%e2%80%99un%20firewall%20sous%20debian%c2%a0%c2%bb"><h1 class="p-name">Réponse à « Mise en place d’un firewall sous debian »</h1></a>
- <p>C’est peut-être du à l’anciennetée du <a href="http://www.creativeo.net/mise-en-place-dun-firewall-sous-debian/">billet</a>(7 novembre 2011) mais <code>sudo apt-get update</code> met à jour la liste des paquets, et <code>install</code>, installe des pauets, pour mettre à jour c’est <code>upgrade</code>. Mettre pare-feu (open-office ;3) serait mieux que firewall.</p>
- <p>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 <a href="https://packages.debian.org/search?keywords=iptables-persistent">iptables-persistent</a> 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).</p>
- <h2>Règles IPtables</h2>
- <p>Vut qu’il n’y a aucune explication, pour faire du NAT c’est avec l’option masquerade(exemple : <code>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o wlan0 -j MASQUERADE</code> -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. <a href="https://wiki.archlinux.fr/Partage_de_connexion#Mise_en_place">Partage de connexion - ArchwikiFR</a>).</p>
- <p>Ensuite il manque la redirection des paquets pour une autre destination. <code>echo 1 > /proc/sys/net/ipv4/ip_forward</code> Ah et y’a pas que le web donc <code>iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT</code> permet de pouvoir établir une connexion.<br />
- <code>iptables -A INPUT -p icmp -j ACCEPT</code> active les paquets icmp, ne pas activer car permet de passer par un chemin détourné au niveau du pare-feu.<br />
- <code>iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT</code> <span class="warn">Ne rendez pas CUPS accessible, tout le monde pourrait imprimer !</span></p>
- <p>Ensuite fail2ban, n’est <em>pas</em> 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).</p>
- <p>En gros pour faire un pare-feu (sous linux) c’est :</p>
- <ul>
- <li>Activer le “routage” de paquets :
- <ul>
- <li>Temporairement : <code>echo 1 > /proc/sys/net/ipv4/ip_forward</code></li>
- <li>Au démarrage : Changez/ajoutez <code>IPTABLES_FORWARD</code> à 1</li>
- </ul></li>
- <li>Faire une passerelle NAT(pour avoir un réseau local) : <code>iptables -t nat -A POSTROUTING -s 192.168.0.0/22 -o wlan
- 0 -j MASQUERADE</code></li>
- <li>Si vous voulez ouvrir des ports(serveur web, skype apparement ;/, jeu, …) : <code>iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT</code> et remplacez 80 par le port en question ou le service(la liste est dans <code>/etc/services</code>), et tcp par le protocole(tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp, mh, … une liste est disponible dans <code>/etc/protocols</code>) ou all pour tout les protocoles(utile pour Minecraft® par exemple).</li>
- <li>Pour vérifier vos règles iptables : <code>iptables -L</code>.</li>
- </ul>
- </article>