M0n0wall est un pare-feu et un routeur sans fil open source développé par Manuel Kasper, construit sur un système d’exploitation FreeBSD allégé. M0n0wall offre un grand nombre des mêmes caractéristiques trouvées dans les produits de pare-feu commerciaux tels que Check Point Firewall-1 et Cisco Pix, y compris le filtrage de paquets avec état. Avec lui, vous pouvez créer un réseau privé virtuel (VPN) sécurisé entre deux sites, ou vous pouvez utiliser m0n0wall comme passerelle VPN, afin que vous puissiez accéder à votre réseau local sécurisé depuis Internet. Vous pouvez utiliser RADIUS pour l’authentification client afin d’augmenter encore plus la sécurité.
M0n0wall dispose d’une interface Web agréable pour configurer les paramètres du pare-feu. La plupart de la configuration peut être effectuée via l’interface Web et toutes les valeurs sont stockées dans un seul fichier XML. La configuration peut être enregistrée sur une disquette, un disque dur ou une carte de stockage externe. Cela facilite le déploiement de plusieurs pare-feu avec une configuration matérielle similaire.
Le pare-feu est stable et ressemble à un pare-feu commercial; la seule différence est son absence d’étiquette de prix commerciale. J’ai utilisé le pare-feu m0n0 sur de nombreuses configurations de PC différentes pendant plus d’un an sans aucun problème. Comme pour tous les logiciels open source, vous pouvez télécharger une version complète et non paralysée de m0n0wall pour évaluation et test.
Installation de m0n0wall
Pour essayer m0n0wall, téléchargez un fichier image. Vous pouvez choisir entre des images pour un PC normal ou pour un périphérique matériel intégré spécial. Chaque approche présente des avantages et des inconvénients. Les vieux ordinateurs de rechange (un 486 de 100 MHz avec 64 Mo de RAM ou mieux fera l’affaire) sont partout; cependant, ils font beaucoup de bruit et utilisent beaucoup d’énergie. Les systèmes embarqués font peu ou pas de bruit et utilisent une puissance minimale, mais vous n’avez probablement pas de système Soekris de rechange dans votre sous-sol, vous devrez donc acheter l’équipement, qui commence à environ 200 $. Pour les configurations matérielles telles que Soekris, vous pouvez effectuer une mise à jour du micrologiciel sur m0n0wall chaque fois que des mises à jour sont disponibles à partir du projet m0n0.
J’ai testé m0n0wall sur un ancien ProLiant Compaq de 450 MHz avec 128 Mo de RAM. J’ai téléchargé l’image appropriée et l’ai gravée sur un CD-ROM amorçable. Conseil: n’oubliez pas d’utiliser l’option image dans votre logiciel de gravure de CD; le simple fait de copier le fichier ne produira pas d’image de démarrage. Mettez le CD dans votre futur pare-feu; débranchez tous les câbles réseau et allumez l’alimentation.
Si tout est correct, vous devriez voir l’écran suivant :
*** Il s’agit de m0n0wall, version 1.2b3
construit le Sun Dec 5 11:22:47 CET 2004 pour generic-pc-cdrom
Copyright (C) 2002-2004 par Manuel Kasper. Tous droits réservés.
Visitez http://m0n0.ch/wall pour les mises à jour.
Adresse IP LAN: 192.168.1.1
Configuration du port:
LAN- > sis0
WAN- > sis1
configuration de la console m0n0wall
**********************
1) Interfaces: attribuez des ports réseau
2) Configurez l’adresse IP LAN
3) Réinitialisez le mot de passe webGUI
4) Réinitialisez les valeurs par défaut d’usine
5) Redémarrez le système
6) Hôte ping
Choisissez d’abord l’option 1 pour attribuer les interfaces LAN et WAN, et une DMZ semi-fiable si vous choisissez d’en avoir une.
Si vous devez changer l’adresse IP du réseau local en quelque chose de différent de l’adresse IP par défaut (192.168.1.1), choisissez l’option 2. Ici, vous pouvez également attribuer un serveur DHCP si vous souhaitez utiliser DHCP sur votre réseau local.
Les quatre options suivantes concernent le dépannage; vous ne devriez pas en avoir besoin à ce stade.
Accès à l’interface graphique Web
Connectez maintenant un câble croisé à l’interface LAN de votre pare-feu et utilisez un autre ordinateur du réseau avec un navigateur pour effectuer le reste de la configuration. Pointez le navigateur sur http://192.168.1.1 (ou l’adresse IP que vous avez définie avec l’option 2 dans la console). Utilisez le nom d’utilisateur admin et le mot de passe m0n0.
Sous l’écran de configuration générale, vous pouvez — et devez – changer le nom d’utilisateur/mot de passe par défaut. Vous pouvez également modifier le nom d’hôte du pare-feu et spécifier s’il faut utiliser DNS. Vous pouvez également spécifier que vous souhaitez utiliser le protocole NTP (Network Time Protocol) pour synchroniser l’heure système avec un serveur NTP afin de vous assurer que les heures de journal de votre système sont exactes.
Vous pouvez définir de nombreuses configurations différentes pour votre interface WAN, notamment PPPoE, PPTP, câble BigPond et autres.
L’étape suivante consiste à configurer certaines règles de pare-feu. Commencez par quelques règles simples, telles que « tout, du LAN au WAN, est autorisé. »Dans m0n0, le * signifie « tout », donc la règle ci-dessous autorise tout, de votre réseau local à Internet.
Proto | Source | Port | Destination | Port | Description |
* | Réseau local | * | * | * | LAN par défaut – > tout |
Il est très facile de changer les règles. Si vous souhaitez autoriser uniquement le trafic HTTP vers Internet à partir du réseau local, remplacez la règle ci-dessus par la suivante:
Proto | Source | Port | Destination | Port | Description |
Réseau local TCP |
80 HTTP |
* | * | Seulement HTTP à partir du réseau local – > tout |
Vous pouvez configurer la traduction d’adresses réseau (NAT) et activer la mise en forme du trafic. Sous l’onglet service, vous pouvez activer le serveur DHCP, mais si vous le faites, assurez-vous qu’aucun autre serveur DHCP n’est actif sur votre réseau local.
Après avoir entré votre configuration actuelle, enregistrez-la. Vous pouvez ensuite connecter le pare-feu au WAN. Si vous avez tout fait correctement, vos utilisateurs de réseau local devraient maintenant pouvoir profiter de la navigation sur Internet.
Fonctionnalités plus avancées
Si vous souhaitez accéder à votre réseau local à partir d’Internet, vous pouvez configurer un tunnel PPTP à partir d’un client externe pour accéder en toute sécurité à votre réseau local ou utiliser un serveur RADIUS pour l’authentification des clients externes. La configuration PPTP dépend beaucoup du système d’exploitation de votre machine cliente et du cryptage que vous pouvez utiliser. Vos paramètres réels doivent être entrés dans le menu VPN.
Vous pouvez également configurer une connexion VPN de site à site, tant que vous pouvez configurer l’autre côté du tunnel VPN. J’ai réussi à établir une connexion VPN à une machine Check Point Firewall-1 avec un minimum de travail.
Malgré ses bons points, le m0n0wall présente quelques inconvénients par rapport aux produits commerciaux. Plus important encore, il n’y a pas de support 24 × 7 disponible. Il existe une liste de diffusion très active avec de nombreuses personnes utiles et un canal IRC, mais vous êtes seul si votre pare-feu m0n0 critique meurt au milieu de la nuit.