Ce document appartient à INL ((c) 2008) et est protégé par les lois internationales sur le copyright. La licence de distribution du présent document est la licence Creative Commons by-nc-sa. Le texte complet de cette licence est disponible à l'adresse http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode
Bienvenue sur NuFW.Live, le CD de démonstration du pare-feu authentifiant NuFW. Ce CD vous permettra de tester NuFW sur votre réseau, sans installation sur disque dur. Pour l'ensemble du test, vous aurez besoin des éléments suivants :
Démarrez la passerelle sur le CD NuFW.Live. Vous accédez alors à un bureau graphique et un navigateur web pointant vers le présent guide.
NuFW.Live se contrôle à l'aide d'une suite d'interfaces web partageant une barre d'onglets en haut de chaque page :
Barre d'onglets de navigation en haut de chaque page.
Veuillez suivre les étapes suivantes, dans l'ordre.
Avant toute chose, sachez qu'au prochain redémarrage du live CD, tout votre travail sera perdu. Il est donc préférable de tout de suite mettre en place un système de sauvegarde.
Il est possible de sauvegarder votre travail sur NuFW.Live sur disque dur pour le récupérer lors d'un prochain redémarrage sur le CD. Pour cela, veuillez consulter la documentation à part sur le mode persistant.
Il est également possible de sauver simplement la configuration sur clef USB. La sauvegarde peut être faite à n'importe quel moment, mais les modifitions faites après la sauvegarde seront perdues au prochain redémarrage.
La première étape consiste à valider (après avoir éventuellement adapté) la configuration du réseau, à l'aide de la page accessible par l'onglet Réseau.
Configuration des interfaces réseau.
Si un serveur DHCP est disponible sur le réseau, alors NuFW.Live a dû obtenir une ou plusieurs adresses IP pour la machine ainsi que les adresses des serveur DNS. Contrôlez et, au besoin, corrigez les adresses IP.
Dans tous les cas, et même sans aucun changement, il faut valider la configuration réseau en cliquant sur le bouton Enregistrer et appliquer la configuration réseau.
Vérifiez également la configuration du ou des adresses de serveurs DNS en bas de la même page.
Cliquez ensuite sur l'onglet Système, puis entrez un nouveau mot de passe pour l'accès à distance si vous désirez éviter que d'autres personnes puissent modifier la configuration ou les règles du pare-feu en se connectant à la passerelle. Par défaut, pour l'accès à distance le nom d'utilisateur est nufw et le mot de passe est live.
Réinitialisation du mot de passe pour l'accès à distance (utilisateur nufw).
L'authentification NuFW repose en principe sur un annuaire utilisateurs. Dans NuFW.Live, les utilisateurs sont ceux du système lancé par le CD.
Il y a déjà deux utilisateurs pré-enregistrés (user1 et user2), membres chacun d'un groupe (respectivement group1 et group2). Ceci permettra de tester les règles authentifiantes. Les mots de passe sont user1 et user2 respectivement.
Vous pouvez néanmoins ajouter d'autres utilisateurs et d'autres groupes à l'aide du programme KUser (accessible par le Menu K, sous-menu Système).
Icône de KUser dans la barre des tâches
KUser (pour ajouter, supprimer ou modifier des utilisateurs et des groupes)
Nuface est un outil de configuration de pare-feu : il sert à définir les permissions selon des critères comme le protocole, le réseau source, le réseau destination, mais aussi le groupe d'utilisateurs, dans le cas du pare-feu authentifiant NuFW.
Avant de pouvoir utiliser Nuface, assurez-vous d'avoir validé la configuration réseau (onglet Réseau).
Pour commencer, chargez le jeu de règles portant le nom « acl ». Nuface affiche alors des statistiques sur le jeu de règles : nombre de règles, nombre de réseaux, etc. (voir la capture d'écran ci-dessous).
Écran initial de Nuface.
Le message « Nuface a ajouté la nouvelle définition des réseaux » indique que la définition de votre réseau a été ajoutée au jeu de règles et en même temps des objets réseaux sont crées. Allez dans le menu « objets > ressources », vous y trouverez au moins deux objets réseaux :
- « INTERNET », IP 0.0.0.0/0 : accepte n'importe quelle IP
- « ETH0_interco_192.168.0.0/24 » , IP 192.168.0.0/24 : votre réseau local (l'adresse peut bien sûr varier selon votre configuration)
Par défaut, Nuface bloque tout le trafic pour l'ensemble des protocoles. Pour des raisons de commodité, NuFW.Live contient des règles codées en dur :
- Connexions entrantes :
- Autorise 10 requêtes ping entrantes par seconde
- Autorise le port TCP 443 (HTTPS) en entrée
- Autorise le port TCP 4129 (client NuFW) en entrée
- Connexions sortantes :
- Autorise tout le trafic émis par le pare-feu lui-même
- Traduction des adresses réseau :
- Active le MASQUERADING (NAT transparent)
Pour tester les fonctions authentifiantes, nous allons créer un jeu de règles minimaliste pour autoriser le trafic HTTP avec l'authentification NuFW. Nous avons besoin de deux règles :
- « dns » pour autoriser le port UDP 53
- « http » pour autoriser port TCP 80
Allez dans le menu acls et saisissez le nom dns dans le champ Nouvelle ACL. Validez (tapez entrée ou cliquez sur le bouton Nouveau), vous obtiendrez le formulaire complet de saisie d'une ACL :
Les champs les plus importants sont :
- Source
- Destination
- Protocole
- Auth (groupe d'utilisateur utilisé pour l'authentification NuFW)
- Décision
Pour notre ACL dns, saisissez :
- Source : votre réseau local (ETH0_interco...)
- Destination : « Internet »
- Protocole : « DNS_client »
- Auth : laissez vide ; nous n'authentifions pas les flux UDP avec les clients disponibles avec cette version
- Décision : conservez la décision ACCEPT
Pour sauver les paramètres de l'ACL, cliquez sur le bouton Appliquer.
Revenez à la page acls en cliquant sur le titre de la page. Créez alors une seconde ACL nommée http. Indiquez les mêmes paramètres que pour l'ACL dns, mis à part les champs suivants :
- Protocole : « HTTP »
- Auth : « group1 »
Sauvez avec le bouton Appliquer.
Le jeu de règles est maintenant défini, il ne reste plus qu'à les appliquer. Pour cela, revenez à la page d'accueil, menu action. Dans la section Règles du pare-feu, cliquez sur Sauver et appliquer les règles (laissez la case Avec l'authentification NuFW cochée). Le jeu de règles est donc sauvé par la même occasion.
Étant donné que la passerelle NuFW.Live bloque tout le trafic qui la traverse, il faudra autoriser les nouveaux protocoles au fur et à mesure.
Si vous désirez autoriser le ping vers l'extérieur, il faut donc créer une nouvelle ACL : retournez dans Nuface et rechargez le jeu de règles « acl » (si votre session n'est pas expirée, le jeu de règle est encore ouvert). Dans la page Acls, créez un règle ping en utilisant les paramètres suivants :
- Source : votre réseau local (ETH0_interco...)
- Destination : « Internet »
- Protocole : « ICMP_ping »
- Auth : n'utilisez pas d'authentification, car NuFW ne prend pas en compte le protocole ICMP
Maintenant que nous avons configuré le serveur NuFW, nous allons donc connecter une machine cliente. Vous aurez besoin d'un agent NuFW sur chaque poste des réseaux locaux afin d'authentifier le trafic des utilisateurs traversant votre pare-feu (voir l'algorithme de NuFW décrit dans cet article : http://www.nufw.org/download/Misc18_Nufw.pdf ou http://www.nufw.org/Principes.html).
Il existe à ce jour des clients NuFW pour Microsoft Windows (2000/XP et Vista), Linux, MacOS X, ainsi que les systèmes BSD. Le client pour Microsoft Windows, système d'exploitation propriétaire, est un logiciel propriétaire proposé par INL. Les agents pour système d'exploitation libre (GNU/Linux et xBSD) sont sous licence GPL v2. Ces clients sont packagés dans différentes distributions, en particulier Debian, Ubuntu et Mandriva CS4.
Vous pouvez télécharger les clients depuis www.inl.fr (en particulier le client de démonstration NuWINc pour Microsoft Windows) ou www.nufw.org.
Pour connecter un client et tester du trafic utilisateur, vous avez besoin d'un autre ordinateur, connecté à la passerelle NuFW.Live (soit directement, soit à travers un hub ou un switch, mais sans NAT entre le client et la passerelle NuFW.Live). Sur cet ordinateur client, vous lancez soit NuWINc (cas d'un poste sous Windows), soit NuApplet (cas d'un poste sous Linux). Vous pouvez par exemple démarrer un PC sur un second CD NuFW.Live car celui-ci dispose de NuApplet (le client graphique pour Linux) en plus du serveur NuFW.
Icône de NuApplet dans la barre des tâches
Avant d'utiliser le client NuFW, assurez-vous que le réseau de la machine cliente est bien configuré pour router tout le trafic sortant vers la passerelle NuFW.Live. Si vous utilisez un CD NuFW.Live pour la machine cliente, vous pouvez configurer le réseau à l'aide de l'onglet Réseau : entrez le nom et l'adresse réseau du réseau local par lequel vous allez contacter la passerelle NuFW.Live, puis une adresse IP pour la machine cliente, appartenant à ce réseau. Indiquez l'adresse IP de la passerelle NuFW.Live comme route par défaut, puis cliquez sur le bouton Enregistrer et appliquer la configuration réseau. Vérifiez également l'adresse du serveur DNS en bas de la même page.
Dialogue des préférences de NuApplet.
Voici les paramètres à saisir pour le client NuFW :
Nom d'hôte : adresse IP de la passerelle NuFW.Live
Après application de cette configuration, il faut cliquer sur l'icône de NuApplet en bas à droite pour s'authentifier.
Puis pour l'authentification :
- nom d'utilisateur : user1 (ou autre)
- mot de passe : user1 (ou autre)
Menu contextuel pour authentifier NuApplet au serveur NuFW.
Dialogue de connexion de NuApplet.
Remarque : Le compte user1 fait partie du groupe group1 que nous avons utilisé pour l'authentification.
Après avoir lancé le client NuFW et entré les paramètres vus ci-dessus, le client doit être connecté sur le pare-feu NuFW et son icône doit être verte. Si elle est jaune, cliquez à droite dessus et choisissez Connecter.
Vous pouvez afficher la liste des clients connectés en utilisant Nulog en cliquant sur 1 utilisateur(s) connecté(s) (voir le figure ci-dessous).
Sessions utilisateurs dans Nulog
Vous pouvez tester une connexion HTTP vers un serveur web sur Internet ou sur un réseau local différent de celui sur lequel la machine cliente est directement connectée. La connexion doit être acceptée.
Vous pouvez aussi tester une connexion HTTP alors que le client NuFW est déconnecté (pour déconnecter le client, cliquez avec le bouton droit sur l'icône du client en bas à droite, puis sur Déconnecter) ou bien connecté en tant qu'un utilisateur qui n'est pas dans le groupe autorisé (par exemple user2), afin d'observer que la connexion n'aboutit pas. Dans le cas d'une tentative de connexion HTTP alors que le client NuFW n'est pas connecté, le message de log est UNAUTHENTICATED DROP ; vous pouvez en effet surveiller les logs à l'aide de l'outil Nulog (voir ci-dessous).
L'interface web Nulog, accessible par l'onglet du même nom, offre une vue sur les connexions traversant le pare-feu. Sur la page d'accueil de Nulog, seules les connexions bloquées sont affichées par défaut, mais il est possible d'appliquer d'autres filtres.
Toutes les pages de Nulog contiennent une barre verticale sur la gauche, présentant certains liens et informations générales, notamment le nombre d'utilisateurs connectés à NuFW avec un client et un lien direct vers la liste des paquets (voir figure ci-dessous).
Barre verticale sur la gauche des pages de Nulog.
Cliquez sur le lien Liste des derniers paquets. Si vous avez testé une connexion HTTP avec un client connecté à NuFW, vous devez voir sur cette page au moins un paquet accepté, comme dans la figure ci-dessous. La paquet accepté est représenté sur fond vert ou bleu (voir explication plus bas). La dernière colonne indique le type de décision.
Liste des derniers paquets : un paquet accepté en mode authentifié.
Pour plus d'informations sur un paquet en particulier, vous pouvez consulter les détails associés à ce paquet en cliquant sur l'icône présent dans la première colonne du tableau, en l'occurrence l'icône représentant un utilisateur (puisque le paquet a été authentifié) :
Icône représentant un utilisateur, pour accéder aux détails d'un paquet.
La figure ci-dessous donne un exemple de page de détails à propos d'un paquet authentifié et accepté. Les informations propres au pare-feu authentifiant NuFW sont les Informations sur l'utilisateur et, à titre indicatif, les Informations additionnelles, contenant le système d'exploitation et l'application employés par l'utilisateur pour envoyer le paquet en question.
Page de détails d'un paquet accepté en mode authentifié.
Si vous avez testé une connexion HTTP en traversant le pare-feu depuis la machine cliente sans être connecté à NuFW, donc une connexion bloquée par manque d'authentification, vous pouvez observer des paquets sur fond orange avec pour décision default UNAUTHENTICATED DROP. L'icône de ces paquets représente un simple réseau et non pas un utilisateur, car ces paquets n'ont pas été authentifiés puisque le client NuFW n'était pas connecté. La figure ci-dessous montre la liste des derniers paquets avec quatre nouveaux paquets qui ont été bloqués.
Liste montrant des quatre paquets bloqués par faute d'authentification de l'utilisateur à l'origine de ces paquets.
Si vous visualisez les détails de ce type de paquet, les informations spéciales NuFW sont absentes puisque le paquet n'a pas été authentifié (voir figure ci-dessous).
Détails d'un paquet bloqué car non authentifié.
Un troisième type d'application d'une règle authentifiante est le blocage d'un paquet authentifié dont l'utilisateur n'a pas la permission d'accéder à la ressource demandée. Pour tester ce type, connectez-vous avec votre client NuFW en tant que l'utilisateur user2 (mot de passe user2) et tentez à nouveau une connexion HTTP en traversant le pare-feu NuFW.Live. Des paquets bloqués mais authentifiés apparaîtront alors dans la liste des derniers paquets, comme sur la figure ci-dessous.
Liste montrant deux paquets authentifiés et bloqués car provenant d'un utilisateur user2 n'ayant pas la permission d'accéder à la ressource demandée. La décision est DROP.
Notez qu'un paquet accepté est d'abord représenté sur fond vert lorsque la connexion est encore active, puis sur fond bleu lorsque la connexion est fermée. Quand la connexion est fermée, l'heure du paquet devient celle de la fermeture de la connexion et le paquet remonte dans la liste (triée par date) :
Un paquet accepté qui a remonté dans la liste une fois la connexion de ce paquet fermée.
L'écran d'accueil de Nulog (accessible en cliquant sur l'onglet Nulog de la barre de navigation en haut de la page) contient entre autres la liste des derniers utilisateurs rejetés et la liste des derniers paquets TCP rejetés :
Liste des derniers utilisateurs rejetés et la liste des derniers paquets TCP rejetés sur l'écran d'accueil de Nulog.
L'outil Conntrack, accessible par l'onglet du même nom, permet d'afficher, de rechercher et de couper les connexions actives. Par exemple, si un utilisateur a lancé un téléchargement très long et que vous voulez l'interrompre autoritairement sur le pare-feu, vous cochez la case Tuer (dernière colonne) de cette connexion et cliquez sur le bouton Tuer.
La première ligne du tableau contient des zones de texte pour entrer des critères de recherche. Pour lancer la recherche après avoir entré un ou plusieurs critères, cliquez sur le bouton ok.
Exemple de liste des connexions actives.
Vous avez maintenant testé les possibilités d'authentification des flux grâce au pare-feu NuFW.
Vous pouvez utiliser le pare-feu authentifiant en production car NuFW dispose d'un support professionnel apporté par INL, qui est à l'origine des développements. NuFW est la seule implémentation de pare-feu authentifiant qui ne réalise pas d'association IP ou adresse MAC = utilisateur et est donc un très bon moyen d'implémenter une politique de sécurité stricte en apportant la notion d'utilisateur. NuFW est ainsi la seule solution qui permette de réaliser des règles de filtrage en fonction d'utilisateurs sur des machines multi-utilisateurs, ou qui permet la connexion à un annuaire sans compromis sur la sécurité.
INL propose différentes prestations sur l'ensemble des briques utilisées dans ce LiveCD (NuFW, Nuface, Nulog...).
Ces prestations sont principalement :
INL propose également les agents NuWINc pour pouvoir utiliser NuFW sur des postes de travail sous système d'exploitation propriétaire (Microsoft Windows).
Vous pouvez également prendre contact avec INL ou la société Mandriva qui proposent dans la Mandriva Corporate Server 4 l'ensemble des outils packagés ainsi que du support (agents et briques serveur).
Enfin, INL a packagé l'ensemble des outils dans un pare-feu matériel (boîtier UTM) appelé EdenWall, entièrement configurable par interfaces web. EdenWall s'adresse aux entreprises souhaitant bénéficier d'un boîtier totalement intégré. EdenWall dispose, en plus de ses fonctionnalités d'authentification apportées par NuFW, d'outils comme l'analyse protocolaire, le relais antiviral ou le proxy web avec listes de sites web autorisés. La présentation d'EdenWall est disponible à http://www.edenwall.com.
LiveCD développé par INL sur des bases de Knoppix à des fins de démonstration du pare-feu authentifiant NuFW. Sauf notification contraire, l'ensemble des logiciels proposés sur le LiveCD sont sous licence GPL v2 ou compatible. Ce présent guide est sous licence Creative Commons by-nc-sa.