C - Le pare-feu

Difficulté Facile
Note
Thématiques
OS, Unix
Mis à jour le mardi 8 janvier 2013

Packet Filter (pf pour les intimes) n'est pas n'importe quel pare-feu. C'est la grande fierté d'OpenBSD, son OS d'origine, et certainement l'un des meilleurs qui soient. Avec Packet Filter d'un côté et ses prisons de l'autre, FreeBSD est donc ultra-sécurisé ! A condition, bien sûr, de le configurer correctement. ;)

Image utilisateur

Pour en profiter, il faut bien sûr l'activer en ajoutant à notre cher /etc/rc.conf :

pf_enable="YES"
pf_rules="/etc/pf.conf"

Et il faut aussi le configurer :

[Nom de l'ordinateur]# emacs /etc/pf.conf

Vous allez définir dans ce fichier les règles qui indiquent quels paquets refuser, accepter ou rediriger. Vous commencerez par tout bloquer avec :

block in  all
block out all

Puis vous ajouterez des règles pour autoriser au cas par cas les services dont vous avez besoin. La documentation d'OpenBSD explique très bien comment.

En attendant, ce n'est pas l'aspect sécurité qui nous intéresse. C'est plutôt l'acheminement du traffic internet vers les interfaces rl0 et lo1. Trois instructions suffisent pour ça. Commentez donc provisoirement les deux lignes block all.

nat on rl0 from lo1:network to any -> (rl0)
rdr pass on rl0 inet proto tcp to port http -> 10.1.1.1 port http
rdr pass on rl0 inet proto tcp to port https -> 10.1.1.1 port https

Je rappelle qu'il vous faut personnaliser ces lignes si votre interface réseau principale n'est pas rl0. Veillez bien à ce que pf.conf ne contienne, pour l'instant, aucune autre instruction (à part les commentaires qui, vous le savez, sont ignorés). S'il y en a, commentez-les.

nat (Network Address Translation) est le système de traduction d'adresse réseau. Il permet à la prison de solliciter des communications avec l'extérieur.

rdr, lui, redirige le traffic destiné aux ports 80 (http) et 443 (https) de l'adresse inet de rl0 vers ceux de 10.1.1.1 (l'adresse inet de lo1). Cette redirection fait intervenir le protocole TCP/IP, celui qui permet les échanges de données sur internet, et qui a d'ailleurs été développé sous BSD.

Il va maintenant falloir créer la prison. Et ce n'est pas une mince affaire. La première étape consiste en effet à recompiler FreeBSD.

L'auteur