4.7. Sécuriser l'installation de NuFW

4.7.1. Vérification des certificats par nufw

Il est particulièrement recommandé de placer nuauth dans un endroit protégé afin de garantir la sécurité des communications entre nufw et nuauth[1]. Dans la mesure où la décision du pare-feu dépend de la réponse de nuauth, il est important de pouvoir valider l'identité du serveur nuauth. Pour cela, nous pouvons demander à nufw de vérifier le certificat présenté par nuauth lors de l'établissement du tunnel TLS. Ceci peut être mis en place grâce à l'option -a suivie du nom du fichier contenant le certificat d'autorité racine. Cette option est ajoutée à la ligne de commande démarrant nufw. Ce faisant, nufw vérifiera la validité du certificat présenté par nauth.

Il est aussi possible de lancer nufw en mode TLS strict en utilisant l'option -S. L'utilisation de cette option est recommandée. Elle signifie que nufw ne démarrera pas si le certificat de nuauth est :

  1. Pas vérifiable par une autorité

  2. Invalide

  3. Revoké

  4. Sans signataire

  5. Avec un signataire qui n'est pas le CA

  6. Conçu avec un algorithme non sûr (si GnuTLS est compilé avec le support de ce mode)

  7. Pas encore activé

  8. Expiré

Attention: Ce mode sera activé par défaut dans la prochaine branche stable.

4.7.2. Restriction à l'authentification des utilisateurs

Il est possible de restreindre le nombre de connexions qu'un utilisateur peut initier et de limiter le nombre de connexions depuis une adresse IP donnée.

  1. nuauth_single_user_client_limit: fixe le nombre maximum de connexions simultanées qu'un utilisateur peut démarrer.

  2. nuauth_single_ip_client_limit: fixe le nombre maximum de connexions simultanées ayant pour source une même adresse IP.

4.7.3. Côté client

Du côté du client, le système doit être intègre pour que les informations conernant les applications et le système d'exploitation soient pertinentes. Vous devez toujours garder à l'esprit que seul l'agent installé côté client est capable d'obtenir ces renseignements. En cas d'attaque, il est évident que ces informations PEUVENT et SERONT faussées par l'installation d'un agent NuFW modifié.

Vous devez impérativement tenir compte de cet avertissement et ne surtout pas oublier que cette fonctionnalité permet de sécuriser des flux qui auraient dû être ouvert sans vérification sur un système basique[2].

La pertinence du filtrage d'application et/ou de système d'exploitation dépend de la confiance que vous placez dans le système qui réalisera l'authentification. Elle est "relativement bonne" sur un système sécurisé sur lequel les utilisateurs ne peuvent installer de logiciels.

4.7.4. Utilisation de ldaps avec le module d'ACLs LDAP

Si voter serveur LDAP supporte les connexions SSL, il est possible de paramétrer nuauth pour qu'il se connecte en ldap over SSL.

Pour se faire, il faut éditer nuauth.conf et modifier le port LDAP à 636 (ldaps) :

ldap_server_port=636
L'étape suivante est l'édition du fichier /etc/ldap/ldap.conf pour indiquer la politique des connexions SSL. Pour une simple encryption des données, il suffit d'ajouter à ldap.conf:
TLS_REQCERT never
La configuration recommandée suppose d'utiliser une autorité de certification. Il faut pour cela éditer le fichier ldap.conf pour lui fournir le chemin vers le fichier de l'autorité de certification. Le fichier ldap.conf devrait ressembler à :
TLS_CACERT /etc/ldap/cacert-ldap.pem
TLS_REQCERT demand
Attention, dans ce mode de fonctionnent, il est nécessaire que le nom indiqué dans le certificat du serveur LDAP et le nom d'hôte spécifié dans la variable ldap_server_addr de nuauth.conf soient identiques.

Notes

[1]

Même si tous les paquets sont chiffrés par TLS

[2]

Merci d'éviter le syndrome ABS : "Nous avons plus de sécurité, nous pouvons prendre plus de risques et freiner plus tard"