NuFirewall, le pare-feu libre sans prise de tête

Posté par (page perso) . Modéré par Christophe Guilloux.
29
18
mar.
2010
Sécurité
Décidément, ça bouge chez EdenWall Technologies (anciennement INL) ! Deux semaines après la sortie d'une nouvelle version majeure de NuFW, l'éditeur nous gratifie d'un pare-feu complet et modulaire, NuFirewall, géré via une interface graphique conviviale. Il est composé de différentes briques :
  • Administration système (réseau, DNS, annuaire d'utilisateurs...) ;
  • Création de règles de filtrage Netfilter et NuFW ;
  • Analyse graphique des logs ;
  • Parefeu identifiant ;
  • Gestion des certificats (PKI).

La seconde partie de la dépêche détaille les différentes briques. Briques qui composent NuFirewall

NuFirewall, déclinaison libre des pare-feux matériels EdenWall, se compose des briques suivantes.

NuConf : administration système simplifiée
  • Configuration des réseaux IPv4 et IPv6, VLANs, et bondings ;
  • Configuration et synchronisation du serveur NTP ;
  • Configuration du proxy DNS ;
  • Configuration de l'annuaire d'utilisateurs (LDAP, Active Directory, Kerberos, Radius) pour NuFW ;
  • Configuration du serveur d'authentification ;
  • Configuration des droits d'accès aux services (par réseau) ;
  • etc.
NuFace : interface conviviale de création de jeux de règles de filtrage
  • Création de règles IPv4 et IPv6 par glisser-déposer ;
  • Filtrage implicite des interfaces d'entrée et de sortie ;
  • Assistant de création de règles de NAT pour : donner accès à Internet (masquerading) ou rendre une machine ou un service accessible depuis Internet.
NuLog : analyse graphique des logs du parefeu
  • Analyse en profondeur (drill-down) par simple clic ;
  • Affichage de la règle qui a accepté la connexion ;
  • Affichage de l'utilisateur à l'origine de la connexion ;
  • Vue par hôtes, par utilisateur et par application.
NuPKI : OpenSSL pour les humains
  • Assistant de création de PKI et de certificats ;
  • Gestion du cycle de vie des certificats ;
  • Export de certificats avec leur autorité de certification ;
  • Gestion des CRL.
NuFW : parefeu associant l'identité des utilisateurs aux connexions

Pour ceux qui ne connaissent pas encore NuFW, relire les précédentes dépêches LinuxFR :
Divers :
  • Sauvegarde et restauration de la configuration ;
  • Outil de mise à jour de NuFirewall.
Architecture

NuFirewall repose sur une Debian stable, vous pouvez donc ajouter vos propres paquets. Le serveur est écrit en Python avec Twisted et tourne sous Linux. L'interface d'administration graphique, NuFirewall Administration Suite (NFAS), est également écrit en Python ; elle utilise PyQt et fonctionne sur Windows, Linux et Mac OS X. Le protocole XML-RPC est utilisé entre le client et le serveur ; les communications sont chiffrées par TLS.

Une interface en ligne de commande, basée sur l'interprète Python, permet de prendre la main à distance sur le serveur et de scripter certaines actions. Vous pouvez également scripter des actions en Python à l'aide de l'API NuFirewall, ou dans d'autres langages parlant XML-RPC.

NuFirewall Administration Suite est disponible en anglais et en français. NuFirewall est accompagné d'une documentation complète dans les deux langues. La remontée de bugs s'effectue sous Redmine.

L'ensemble des briques composant NuFirewall (client et serveur) est distribué sous licence GPLv3. Seul l'agent NuFW pour Windows (uniquement nécessaire pour utiliser le filtrage par utilisateur) est gratuit mais non libre.

Installation de l'ISO

Actuellement, NuFirewall est un système d'exploitation complet : l'installation repartitionnne le disque dur et supprime toutes les données qu'il contient de manière irréversible. Si vous voulez tester NuFirewall sans lui dédier une machine physique, utilisez un émulateur tel que Qemu ou VirtualBox.

Une séparation des briques est prévue à moyen terme pour permettre d'installer chaque brique séparément dans un système existant.
  • # En direct/live sur Solutions Linux

    Posté par (page perso) . Évalué à 9.

    Juste un petit commentaire pour vous signaler que l'équipe d'EdenWall Technologies sera ravie de répondre à toutes vos questions lors du salon Solutions Linux sur le stand D33.
    • [^] # Re: En direct/live sur Solutions Linux

      Posté par (page perso) . Évalué à 9.

      Du genre, et pour faire gagner du temps aux gens qui veulent poser des questions :

      Pourquoi une depeche pour une version estampillé "beta1" sur le site de download ?
      Est ce que la version final a une roadmap, est ce que la beta 1 a des bugs connus ?

      Pourquoi est ce que la doc est non libre ( CC-BY-NC-SA ) ?
      • [^] # Re: En direct/live sur Solutions Linux

        Posté par (page perso) . Évalué à 7.

        Bonnes questions Misc

        » Pourquoi une depeche pour une version estampillé beta1 sur le site de download ?

        Parce que google a droit à des news pour des beta ? :P

        Sérieusement, c'est une beta dans le sens : on a pas trouvé de vrais bugs . Elle est vraiment utilisable et sera très proche de la version finale.

        » Est ce que la version final a une roadmap, est ce que la beta 1 a des bugs connus ?

        Pas de bugs connus et non fixés lors des tests. Il nous reste quelques lissages à effectuer sur certains points et il manque du packaging pour notamment la console d'administration pour les distributions principales. La version finale devrait arriver dans les semaines à venir.

        » Pourquoi est ce que la doc est non libre ( CC-BY-NC-SA ) ?

        La documentation est suivant les conditions de la CC-BY-NC-SA modifiable et distribuable hors utilisation commerciale. Ce n'est peut-être pas libre mais c'est suffisant pour beaucoup d'utilisations. Pour références : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
        • [^] # Re: En direct/live sur Solutions Linux

          Posté par (page perso) . Évalué à 7.

          La documentation est suivant les conditions de la CC-BY-NC-SA modifiable et distribuable hors utilisation commerciale. Ce n'est peut-être pas libre mais c'est suffisant pour beaucoup d'utilisations. Pour références : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

          On trouve sur cette page : « Vous n'avez pas le droit d'utiliser cette création à des fins commerciales. » Est-ce que ça veut dire que si j'utilise cette doc afin de mettre en place dans ma boîte un service qui me permette de gagner plus d'argent, je ne respecte pas la licence ?
          • [^] # Re: En direct/live sur Solutions Linux

            Posté par (page perso) . Évalué à 10.

            Bah non, il va suffire de dire que tu n'as lu la doc pour ça :).

            La license NC, en dehors d'être horriblement flou et fondamentalement non libre, a des problémes bien connus ( http://freedomdefined.org/Licenses/NC ) et largement commentés ici.

            Et parmi les questions qui se posent, c'est "si je suis une boite de service qui veut déployer le logiciel nufirewall, est ce que j'ai le droit de donner la doc à mon client dans le cadre de l'offre que je peux proposer sans accord d'edenwall technologie ?".

            A mon avis, c'est non. Ensuite libre aux gens de fournir le soft sans la doc, mais on reconnait que ça fait pas du tout sérieux, ou d'aller prevenir un concurent potentiel pour demander son autorisation.

            Pour moi, ça limite assez fortement sa diffusion, son usage et son évolution. Et je sais que si jamais un jour Debian intégre les softs ( le jour ou il y aura autre chose qu'une iso ), la doc ne pourras pas en faire parti, ce qui peut être génant pour un outil d'une telle complexité qu'une interface de firewall.
            • [^] # Re: En direct/live sur Solutions Linux

              Posté par (page perso) . Évalué à 5.

              Et je sais que si jamais un jour Debian intégre les softs ( le jour ou il y aura autre chose qu'une iso )

              NuFirewall utilise déjà des paquets Debian. Comme tout le code est sous licence GPLv3, l'intégration dans Debian est tout à fait envisageable.

              Ca n'a pas encore été fait, car actuellement les paquets sont un peu trop spécifiques à une installation sur EdenWall (solution tout intégrée). Les paquets sont un peu tous interdépendants. C'est un défaut (problèmes de packaging) et une qualité : nuconf-nuface-nupki fonctionnent ensemble. nuconf peut utiliser les PKI générées par nupki en 3 clics, nuface réutilise les réseaux définis dans nuconf, et nuconf permet de rajouter des règles locales à nuface (interface pour gérér les droits d'accès aux réseaux).

              Comme indiqué à la fin de la dépêche : il va falloir un peu de boulot pour rendre les briques plus autonomes, mais c'est prévu. Le travail a un peu été préparé en amont. On peut par exemple se passer de nupki pour fournir un certificat sous forme de 4 fichiers (CA, certificat, clé et CRL). Et on peut aussi créer ses propres réseaux dans nuface sans passer par nuconf.

              Les précédentes versions de nulog et nufw font parti de Debian :
              http://packages.qa.debian.org/n/nufw.html
              http://packages.qa.debian.org/n/nulog.html

              Et pour les autres (nuface & cie), EdenWall propose son propre dépôt Debian :
              http://software.inl.fr/trac/wiki/INLDebianPackages

              D'autres distributions comme Mandriva packagent aussi ces applications.

              la doc ne pourras pas en faire parti, ce qui peut être génant pour un outil d'une telle complexité qu'une interface de firewall.

              Oui, la documentation de NuFirewall est non libre. Sans vouloir dénigrer le travail de notre documentaliste : je pense quand même que les interfaces sont suffisamment intuitives pour pouvoir se passer de documentation :-) Bien sûr, c'est mieux avec la doc !
      • [^] # Re: En direct/live sur Solutions Linux

        Posté par (page perso) . Évalué à 2.

        Pourquoi une depeche pour une version estampillé "beta1" sur le site de download ? Est ce que la version final a une roadmap, est ce que la beta 1 a des bugs connus ?

        Il n'y a pas de bug majeur connu pour la béta 1. Si ça ne tenait qu'à moi, l'ISO distribuée serait déjà la finale. Certains geeks sont perfectionnistes :-)

        Il y a quelques bugs mineurs (plus des questions d'ergonomie ou de packaging) qui seront corrigés pour la version finale. La roadmap de la version finale est de corriger tous les bugs bien sûr :-)
    • [^] # Re: En direct/live sur Solutions Linux

      Posté par . Évalué à 3.

      Question bête : pourquoi l'agent NuFW pour Windows est gratuit mais non libre ? Qu'est-ce qui a empêché cela ?
      • [^] # Re: En direct/live sur Solutions Linux

        Posté par (page perso) . Évalué à 6.

        Peut-être que c'est pour encourager les utilisateurs de widows à utiliser ce logiciel ? Peut-être que les auteurs ont tenu le raisonnement suivant : Une partie des captifs de mirosoft souffrent d'un violent syndrome type stockholm et sont inconsciemment efffrayés par la liberté ; si un logiciel libre leur est proposé ils auront l'impression que ça ne peut qu'être de mauvaise qualité, ou pire une sorte d'hameçon envoyé par des néocommunistes malveillants cherchant à les capturé et à effacer leur disque dur...
        • [^] # Re: En direct/live sur Solutions Linux

          Posté par . Évalué à -3.

          Dans le jeu des peut etre, je peux jouer aussi ? A non suis je bete, je finirais moinsser moi....pas evaluer a 4 pour des conneries (a moins que ce soit de l'humour, mais je ne decele pas la moindre trace d'ironie ou de smiley...)
          • [^] # Re: En direct/live sur Solutions Linux

            Posté par (page perso) . Évalué à 3.

            La caricature, qui amplifie certains aspects en oubliant d'être conforme à la réalité est souvent considérée comme une forme d'humour. Même si elle n'est pas forcément présentée avec de gros panneaux : « ATTENTION CARICATURE.»
            Par ailleurs, votre contribution me semble être l'occasion de bien souligner l'attitude globalement très pondérée en la matière des lecteurs linuxfr. Contrairement à ce que voudrait croire certains, ici il n'est généralement pas admis de déblatérer gratuitement sur quiconque, serait-ce même sur M. Portes, le trust qui lui est associé, ou M. Travaux et l'entreprise qu'il dirige. Bien que ma remarque soit caricaturale et dirigée contre certains travers (supposés ou réels) des otages (cf. problème de la vente liés) et clients de micosoft elle ne finit pas à +10 parce qu'il faut bien l'admettre, le penchant qu'elle met en exergue est bien connue de tous et ne nécessite pas vraiment plus d'emphase.
            Par souci d'honnêteté il me faut préciser, que si la population qui fréquente ce site est globalement équilibrée, je ne le suis pas moi-même et vous l'avez parfaitement subodoré. J'honnis cordialement un certains nombre d'acteurs globaux et bon nombre de leurs pratiques. Cependant, dans l'expression de mon animosité j'essai de rester raisonnable de manière à éviter de choquer légitimement et à remporter autant que faire se peut l'adhésion de qui me lit.
  • # Technique

    Posté par (page perso) . Évalué à 7.

    Bon a part toutes ces questions de licence, certes, importantes mais pas non plus si fondamentales que ca dans le cadre de cette annonce, je trouve que c'est un beau produit techniquement.
    C'est rare dans le Libre de voir des outils puissants et possedant une interface simple et conviviale.
    Bravo !


    3 questions :
    - est ce que vous envisagez de faire une interface web d'administration pour tous les "modules" comme elle existe (encore ?) pour NuFW ?
    - est ce que le "module" PKI peut etre utilise independamment du reste ou packagé et installable tout seul ?
    - est ce que vous envisagez de faire un "module" serveur Radius sur le meme modele ?
    • [^] # Re: Technique

      Posté par (page perso) . Évalué à 5.

      Trois questions, une seule réponse : tout est possible, mais nous ne le ferons pas nous-mêmes, sauf pour le découpage en modules indépendants, installables séparéments (par exemple pour le module de PKI, la configuration réseau, la configuration du firewall...).

      Interface web :
      Le protocole client-serveur est en XML-RPC. L'API pratique à utiliser est en Python (mais elle est assez simple dans l'ensemble, il est possible de traduire les parties qui t'intéressent vers d'autres langages).
      J'imagine que quelqu'un de motivé pourra monter une interface couchdb ou autre pour fournir une interface web.

      Module Radius serveur :
      Absolument pas dans nos plans, mais je ne pense pas qu'on refuse une telle contribution :)
      • [^] # Re: Technique

        Posté par (page perso) . Évalué à 2.

        Tu devrais donner le lien vers la doc developpeur du produit, non ?
        • [^] # Re: Technique

          Posté par (page perso) . Évalué à 4.

          Chaque chose en son temps, je n'ai qu'un seul clavier. D'abord je vais repackager, ensuite écrire cette doc si personne connaissant nucentral ne le fait avant moi. Eh, faut en garder sous la pédale pour innonder linuxfr de news.
    • [^] # Re: Technique

      Posté par (page perso) . Évalué à 3.

      est ce que vous envisagez de faire une interface web d'administration

      J'ai longtemps utilisé les interfaces d'EdenWall3 qui étaient écrites en PHP, HTML, CSS et Javascript. Et bien, je te conseille vivement de jouer avec la version « client lourd » (Qt) pour que tu remarques à quel point le web est lent et peu interactif. Je trouve l'interface Qt beaucoup plus réactive et rapide. Après comme c'est une nouvelle version, on a corrigé les erreurs du passé en rendant les interfaces plus simples, mais la simplicité n'est pas lié à Qt par contre :-)

      Après comme l'a dit feth : EdenWall n'a pas prévu de version web. Il faut savoir que le plus gros du travail est fait côté serveur, et que le client se concentre vraiment sur l'affichage et l'interface utilisateur. Le serveur offre un interface XML-RPC que j'estime « simple ». Pour reprendre l'exemple de PKI : créer un certificat consiste en un seul appel de services en passant des arguments sous forme d'un dictionnaire Python :
      nupki.createCertificate({
      'pki': 'EdenWall',
      'type': 'client',
      'cname': 'client',
      'email': 'courriel',
      'organization_unit': '',
      'state': 'Ile-de-France',
      'location': 'Paris',
      'country': 'fr',
      'force': True})

      (force=True pour demander à créer immédiatement le certificat)
    • [^] # Re: Technique

      Posté par . Évalué à 3.

      (Imbolcus, je ne réponds pas à ton commentaire bien sûr, je profite simplement du fil initié "technique) (et ma question n'a aucune malice). (et le "coming soon" pour la gui qt4 annoncée sur le site était vraiment "soon" :) )

      Quel est l'objectif exact de cette distribution ?

      _ Est ce pouvoir tester le produit avant d'adopter une solution matérielle, à destination des entreprises donc.
      _ Ou bien est ce de pouvoir utiliser le produit à des fins associatives ou personnelles ?

      Lorsqu'on regarde le catalogue des solutions proposées, on peux choisir entre diverses gammes d'appliances. Ces appliances sont décrites essentiellement en fonction de la charge attendue : par exemple la plus petite des appliances est estampillée "100 utilisateurs". Je n'ai aucune question sur le catalogue, mais simplement sur cette distribution toute prête et rendue disponible à toutes et tous : quel est son objectif exact ? La limitation de gestion du nombre d'utilisateurs est elle logicielle ? Ou bien uniquement en corrélation avec la capacité du matériel sur lequel elle est installée ?

      Si je souhaite utiliser cette distribution dans le cadre d'un évènement associatif, pouvant amener à gérer plus de 200 utilisateurs lors de la manifestation, est ce possible avec cette distribution ? On installe, on admin, et ça tiens la charge d'une manif de geeks et nerds en manque de rayon de soleil ?
      • [^] # Re: Technique

        Posté par (page perso) . Évalué à 4.

        Quel est l'objectif exact de cette distribution ? Est ce pouvoir tester le produit avant d'adopter une solution matérielle, à destination des entreprises donc.

        Non, ce n'est pas juste une jolie démo. C'est un parefeu complet parfaitement fonctionnel. On peut le comparer à OpenWall par exemple. Il n'y a pas de limitation. Le seul problème est que ce n'est pas très modulaire : pour le moment, ce n'est distribué que sous forme d'un OS complet, et il faut une machine dédiée ou alors utiliser de la virtualisation.

        Ou bien est ce de pouvoir utiliser le produit à des fins associatives ou personnelles ?

        Tu es libre de l'utilisé à des fins personnelles, associatives ou professionnelles (tu peux le vendre si tu veux).

        Ces appliances sont décrites essentiellement en fonction de la charge attendue : par exemple la plus petite des appliances est estampillée "100 utilisateurs" (...) La limitation de gestion du nombre d'utilisateurs est elle logicielle ? Ou bien uniquement en corrélation avec la capacité du matériel sur lequel elle est installée ?

        Les gammes sont déterminées en fonction de la tenue en charge en fonction du nombre d'utilisateurs. Il faut un boitier un peu plus costaux pour gérer 500 utilisateurs simultanés que 10 utilisateurs :-)

        Si je souhaite utiliser cette distribution dans le cadre d'un évènement associatif, pouvant amener à gérer plus de 200 utilisateurs lors de la manifestation, est ce possible avec cette distribution ?

        Bien sûr, par contre il faudra dimensionner la machine en fonction de la charge. Après ça dépend de l'utilisation du réseau que font tes 200 utilisateurs (ex: P2P ou consultation de courriels ?) et de ton jeu de règles (nombre de règles, logger ou non les connexions, règles authentifiantes ou non, etc.).
        • [^] # Re: Technique

          Posté par (page perso) . Évalué à 3.

          > Les gammes sont déterminées en fonction de la tenue en charge en fonction du nombre
          > d'utilisateurs. Il faut un boitier un peu plus costaux pour gérer 500 utilisateurs simultanés
          > que 10 utilisateurs :-)

          C'est triste ton point de vue sur les parefeux, sachant qu'avec un parefeu normal, tu géres 2000 utilisateurs sur des pauvres pentium 4 datant d'il y a 6 ans sans avoir trop de charge ( de mon éxpérience personnel, avec une jeu de régle de 3000 ou 4000 régles, avec 5/6 interfaces en heartbeat, et du nat ).

          Et dans la mesure ou il est bien moins cher d'avoir 1 ou 2 types de boitiers physiques ( en terme de test, de dev, etc ), est ce que le constructeur ne devrait pas plutot faire comme intel et ibm, et mettre des limitations pour segmenter le marché ( ie, le boitier 10 utilisateurs est le même que le boitier 500, avec une limite en plus ) ?

          L'idée étant que les gens ne sont pas pret à payer pour une boitier 500 si c'est pour l'utiliser pour 10, et qu'il faut donc s'adapter à ça, afin de faire baisser les prix par la production d'un plus grand nombre de piéce ?
          • [^] # Re: Technique

            Posté par (page perso) . Évalué à 4.

            Nous ne sommes pas IBM qui vend des machines pleines de processeurs désactivés, mais activables par la maison mère à distance.
            Par ailleurs notre serveur n'est pas qu'un noyau linux avec iptables dessus : l'objectif étant de rendre des services complexes avec une interface simple (analyse pratique des logs, décision userspace, et quelques serveurs...), on a besoin d'un poil plus de performance, et on préfère avoir de la marge.
  • # Flemme de lire la doc ?

    Posté par (page perso) . Évalué à 6.

    J'ajoute un pointeur vers le guide de démarrage rapide qu'il est important de lire http://www.nufirewall.org/attachments/download/64/Guide_rapi(...) pour compléter l'ISO (http://www.nufirewall.org/projects/nufirewall/files ) ! :)
  • # problème au lancement dans qemu

    Posté par (page perso) . Évalué à 2.

    J'ai créé un disque de 3G
    qemu-img create -f qcow nufw 3G
    puis lancé
    qemu -hda nufw -cdrom NuFirewall-1.0beta1.iso -m 256 -boot d
    choisi l'option 2 (Fully Automatic installation)
    et il s'est arrêté en affichant

    executing mdadm --detail --scan --verbose -c partitions
    INTERNAL ERROR in setup-storage:
    end<start
    Please report this error to the Debian Bug Tracking System
    Traceback: trace_error task_partition task task_install task task_action task main
    FATAL ERROR. installation stopped.
    bash no job control in this shell.


    C'est un problème connu ?

    Speed dating is useless. 30s isn't long enough to explain the benefits of functional programming in Haskell

  • # merci

    Posté par (page perso) . Évalué à 2.

    Je pensais vivre dans l'opulence avec 3 G...

    Speed dating is useless. 30s isn't long enough to explain the benefits of functional programming in Haskell

    • [^] # Re: merci

      Posté par (page perso) . Évalué à 2.

      Je travaille avec virtualbox, et je lui demande de fabriquer des disques extensibles (c'est à dire de ne pas réserver immédiatement tout l'espace sur mon vrai système de fichiers).
      En général, mes disques de machines virtuelles assez neuves font bien moins de 3Go, si ça peut te rassurer.
      • [^] # intéressante fonctionnalité

        Posté par (page perso) . Évalué à 2.

        Justement j'avais vu cet article sur comment scripter Virtualbox
        http://www.linux-mag.com/id/7673

        Je vais donc essayer Virtualbox

        Speed dating is useless. 30s isn't long enough to explain the benefits of functional programming in Haskell

        • [^] # Re: intéressante fonctionnalité

          Posté par (page perso) . Évalué à 2.

          Entre Qemu (KVM) et VirtualBox, mon coeur balance. Une GUI pour gérer une VM me fait quand même gagner pas mal de temps ! Aussi bien pour la configuration, que pour contrôler la VM en cours de fonctionnement.
          • [^] # Re: intéressante fonctionnalité

            Posté par (page perso) . Évalué à 2.

            De mon passage hier sur le stand, j'avais retenu que chez Edenwall, vous étiez très fan d'OpenVZ.

            On m'aurait menti ?

            :-)

            Speed dating is useless. 30s isn't long enough to explain the benefits of functional programming in Haskell

            • [^] # Re: intéressante fonctionnalité

              Posté par (page perso) . Évalué à 2.

              Non mais je rêve, tu veux les secrets de famille toi !
              Oui, on a des OpenVZ, mais pas pour nos tests à ce qu'il me semble.
              Après, chaque développeur utilise l'émulateur qui lui plaît, il y a même des VMWare !
          • [^] # Re: intéressante fonctionnalité

            Posté par (page perso) . Évalué à 3.

            Une GUI pour gérer une VM me fait quand même gagner pas mal de temps !

            Autant KVM que VirtualBox ont une interface graphique il me semble (virt-manager pour KVM).

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.