Ce document est une traduction de l'espagnol de la présentation
réalisée par Jordi Espasa Clofent lors du Barcelona BSDCon 2008.
Trouver une solution de pare-feux répondant aux critères suivants, avec les choix possibles.
La table ci-dessous évalue par critére la satisfaction apportée par chaque solution retenue.
Un certains nombre de ses critères sont bien entendu subjectifs
Critères | OpenBSD + PF | FreeBSD + PF | FreeBSD + IPFW | GNU/Linux + iptables |
---|---|---|---|---|
Puissance | ![]() | ![]() | ![]() | ![]() |
Simplicité | ![]() | ![]() | ![]() | ![]() |
Pile TCP/IP | ![]() | ![]() | ![]() | ![]() |
Solidité | ![]() | ![]() | ![]() | ![]() |
Support RSTP | ![]() | ![]() | ![]() | ![]() |
Le choix retenu à été OpenBSD avec Packet Filter pour les raisons suivantes :
- redondance IP : CARP - redondance en mode bridge : STCP/RSTCP - synchro entre noeud atif/pasif : pfsync
Le choix du mono processeur est motivé par le mauvaise support du multiprocesseur par OpenBSD et donc par PF.
La majorité des traitements effectués par PF se déroulent en mémoire. On doit considérer avec soin cet élément.
Sauf si nous souhaitons effectuer des traces, le disque sera un élément sous employé. On peut même envisager de le remplacer par une carte flash.
Les drivers suivants sont supportés par OpenBSD :
Malgré la forte préférence de Théo pour sk, notre choix se portera sur em(4).
Afin que notre architecture soit cohérente, nous optons pour une carte GB ethernet sur PCI Express
# Identifier et monter les cartes réseau $ echo "up" > /etc/hostname.em0 $ echo "up" > /etc/hostname.em1
$cat /etc/bridgename.bridge0 #Configuration du bridge add em1 add em0 -learn em1 -learn em0 stp em1 # requis sinon pas de stp stp em0 # requis sinon pas de stp up
# Configuration de la machine maitre $ ifconfig em1 10.10.10.1 netmask 255.255.255.0 $ ifconfig pfsync0 syncdev em1 $ ifconfig pfsync0 up
# Ajout des valeurs de manière permanente $ cat /etc/hostname.em3 inet 10.10.10.1 255.255.255.255.0 NONE
# Montage de la l'interface réseau $cat /et/hostname.pfsync0 up syncdev em3
# Configuration de la machine esclave $ ifconfig em1 10.10.10.2 netmask 255.255.255.0 $ ifconfig pfsync0 syncdev em1 $ ifconfig pfsync0 up
# Ajout des valeurs de manière permanente $ cat /etc/hostname.em3 inet 10.10.10.2 255.255.255.255.0 NONE
# Montage de la l'interface réseau $cat /et/hostname.pfsync0 up syncdev em3
Deux articles sur undeadly aka “The OpenBSD journal”