Documentation
Support
Téléchargements
À propos

www.edenwall.com

Quoi de neuf ? Une comparaison entre NuFW 1.0 et 2.0

La première différence est simple : plus d’un an s’est écoulé depuis la sortie de NuFW 1.0 et cette année a été une année de travail sur le code. Les différences entre les deux versions sont donc conséquentes.

2.0 contre 1.0 pour l’administrateur

Journalisation des session utilisateurs

Les connexions des utilisateurs au serveur d’authentification peuvent maintenant être journalisées (principalement dans syslog ou une base SQL) :

nuauth_user_session_logs_module="mysql"
Cette option demande à nuauth de maintenir une table des utilisateurs contenant la liste des sessions ouvertes et fermées. Elle contient l’ensemble des paramètres disponibles, comme le système d’exploitation et les marqueurs de temps de début et de fin des sessions.

Règles d’accès par rapport au temps

NuFW 2.0 implémente une gestion complète des ACLs basée sur le temps. Il est maintenant possible de définir des règles d’accès qui contiennent l’indication d’un intervalle de temps. Un des apports de cette nouveauté est de permettre la destruction propre et nette des connexions issues d’une telle ACL. Cela est fait en détruisant les entrées correspondantes dans le suivi de connexions de Netfilter.

Merci à l’équipe de Netfilter pour leur récent travail qui a rendu cela possible.

À noter, l’implémentation la plus propre de cette fonctionnalité est celle qui est possible sur un noyau patché avec nos patches disponibles en page de téléchargement. Ces patches seront intégrés dans la branche officielle du noyau, normalement à partir de la version 2.6.18.

Module Prelude

NuFW a maintenant un module pour l’IDS Prelude. Il permet de générer des évenements pour les sessions utilisateurs et lors du passage des paquets.

Instanciation multiple et chaînage des modules

Tous les modules peuvent maintenant être appelés les uns après les autres. Cela signifie qu’il est possible de spécifier des choses comme :

nuauth_user_logs_module="syslog mysql pgsql"
pour indiquer à nuauth de journaliser les paquets dans syslog, MySQL puis PostgreSQL.

Mais il est aussi possible de faire plus en ayant des instances multiples pour le même module :
- type : Charge le module "type" avec les directives de configuration du fichier nuauth.conf.
- name:type : Charge le module "type" avec le fichier de configuration séparé CONFIG_DIR/modules/name.conf.
- name:type:conf : Charge le module "type" avec la configuration du fichier "conf".

par exemple :

nuauth_user_logs_module="mysql1:mysql mytestdb:mysql:/etc/nufw/test.conf"
Cela charge le module mysql avec les paramètres de configuration stockés dans /etc/nufw/modules/mysql1.conf et une autre instance avec les paramètres du fichier /etc/nufw/test.conf.

Rechargement dynamique de la configuration

Tous les modules et leur configuration peuvent maitenant être rechargés dynamiquement au moyen d’un signal HUP envoyé à nuauth. Certaines des variables internes à nuauth peuvent être aussi modifiées dynamiquement si les changements dans le fonctionnement interne de nuauth qu’elles entraînent ne sont pas trop importants.

authentification HELLO

Cette nouvelle méthode d’authentification peut être utilisée pour authentifier l’ensemble des flux IP. Elle souffre de graves limitations donc ne l’utilisez pas.

2.0 contre 1.0 pour l’utilisateur

Messages de rejet ICMP

Les ACLs peuvent maintenant envoyer un message ICMP de rejet au lieu de bloquer silencieusement une connexion. Il est donc possible de prévenir l’utilisateur et d’éviter des timeouts inconfortables.

De plus, il est possible de déclencher l’envoi d’un message ICMP lorsque le timeout interne de nuauth est atteint (mettre nuauth_reject_after_timeout à 1) ou lorsque l’utilisateur n’est dans aucun groupe des ACLs qui traite le paquet en cours (mettre nuauth_reject_authenticated_drop à 1).

Module pam_nufw

Hé oui ! il est maintenant possible d’utiliser NuFW de manière transparente sous Linux.

2.0 contre 1.0 pour le développeur

Un code plus documenté

NuFW 2.0 a maintenant une documentation générée par doxygen : http://www.nufw.org/doxygen/

Un important travail de documentation et un nettoyage approfondi du code ont été effectués.

Utilisation des dernières fonctionnalités de Netfilter

NuFW 2.0 est maintenant capable d’utiliser les toutes dernières fonctionnalités de Netfilter. Il utilise :
- libnetfilter_queue : Décision en espace utilisateur avec marquage des paquets intégré et possibilité d’utiliser plusieurs démons nufw sur la même machine.
- libnetfilter_conntrack : L’interaction avec le suivi de connexion permet de maintenir le suivi de connexion authentifié. Des règles iptables compliquées ne sont désormais plus nécessaires.

Une version récente du noyau est nécessaire. Il faut un noyau 2.6 récent (>=2.6.14). Le mieux sera >=2.6.18 lorsque ce sera disponible.

Amélioration de la bibliothèque libnuclient

Libnuclient a été amélioré avec notamment un traitement des erreurs qui permettra de faciliter le développement des clients.

Un nouveau protocole plus universel

L’ensemble des dialogues entre les différentes briques (nufw<->nuauth, nuauth<->clients) est maintenant réalisé en encodage de type réseau et les chaînes de caractères sont encodées en UTF-8. Cela augmente la portabilité de NuFW vers les autres OS et les autres langues.