Installer simplement iptables sous Archlinux.

Voulant avoir une série de règles simples et puissantes pour iptables, je suis tombé sur cet article du Brakablog.

Même si le tutoriel est à l’origine pour Ubuntu, je l’adapte, pour ArchLinux. Je précise qu’est pour le cas le plus simple, une machine seule connectée à une « box » ou un modem en connexion directe à l’internet.

On commence par installer iptables :

yaourt -S iptables

Ensuite, en mode root, on rentre les règles suivantes, merci à Brakbabord pour les infos :


##On remet le firewall à Zéro ##
iptables -F
iptables -t nat -F
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Le loopback (boucle locale) est indispensable pour des logiciels qui refusent de démarrer sinon, comme Miro


## On accepte loopback ##
iptables -A INPUT -i lo -j ACCEPT

Et le reste des règles :

## On accepte uniquement les connexion désirées ##
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

## On refuse le reste ##
iptables -A INPUT -j drop

Si l’on a pas besoin de l’IP forwarding, dans le fichier /etc/conf.d/iptables, il faut dans la ligne IPTABLES_FORWARD mettre la valeur 0 qui désactive le Forwarding d’IP

Enfin, on sauve les règles, puis on lance le service du pare-feu, soit en root, soit via sudo :


/etc/rc.d/iptables save
/etc/rc.d/iptables start

Et pour lancer iptables au démarrage, il faut rajouter iptables à la ligne DAEMONS du fichier /etc/rc.conf, bien entendu après le daemon qui lance la connexion réseau.

De quoi avoir une protection « parfaite » sur les sites de tests de pare-feux ;)

4 commentaires

  1. Ca n’empechera pas de ce faire owner par un 0day contre firefox, flash ou openoffice.

    Et si ip forwarding est actif, on peut contourner les regles en envoyant un paquet ayant 127.0.0.1 comme destination (faire de l’ingress filtering sur les interfaces est important).

    Donc
    iptables -A INPUT -i !lo -d 127.0.0.1/8 -j DROP

    Cette regles DROP tout les paquets entrant ne venant pas de l’interface lo et destinais à la plage 127.0.0.1-127.255.255.255.

  2. Pour ta première phrase, pas de problèmes, je suis d’accord.

    Et je pense qu’il faudrait que je rajoute cette phrase :

    « Dans le fichier /etc/conf.d/iptables, il faut dans la ligne IPTABLES_FORWARD mettre la valeur 0 qui désactive le Forwarding d’IP ».

  3. iptables est un outil puissant, comme l’ensemble des outils du monde Unix.

    Je m’en suis rendu compte en montant mon serveur Debian, le forwarding d’IP, la configuration d’iptables et du serveur DHCP… C’est merveilleux quand ça fonctionne, que du bonheur.

    Les outils ne sont pas conçus pour être simples, ni intuitifs, ils sont conçus pour être puissants et performants.

  4. Avoir la page man à côté et faire la configuration dans un shell root sur une console physique est casi obligatoire.
    Je deteste devoir faire 8 km pour depanner un serveur où je me suis planté dans la conf iptables ….