Utilisation de NAP + DHCP

Introduction au NAP

NAP ou « Network Access Protection » est une technologie Microsoft introduite dans Windows Server 2008 autrefois appelé « Network Access Quarantine Control » dans Windows Server 2003. NAP permet de contrôler l’accès réseau d’un hôte à partir de la conformité du système hôte en question. On détermine si un hôte est sain ou pas en fonction d’options configurées sur le serveur.

Cette fonctionnalité améliore donc la sécurité réseau des entreprises qui elles-mêmes définissent des stratégies pour les clients de leur réseau. Les machines sont définies comme étant saines et peuvent donc accéder au réseau si et seulement si, elles répondent aux exigences définies par l’administrateur (Firewall actif / mises à jours activées / antivirus activé / …). Dans le cas contraire, elles seront isolées et n’auront pas d’accès au réseau tant qu’elles ne seront pas en conformité avec les stratégies.

Une remarque importante est à souligner : bien que le NAP permet de protéger l’accès au réseau, un client dont le pc passe correctement les vérifications du service NAP et accède au réseau, peut tout à fait pirater ce dernier.

Explication des concepts du NAP

De manière plus concrète, voici comment cela se passe :

Un ordinateur est identifié par ce qu’on appelle  un « Health Statement » autrement dit, un état de santé. Lorsque l’ordinateur veut accéder au réseau, l’état de santé sera transmis aux « NAP enforcement points » qui sont des serveurs ou périphériques réseau compatibles avec le service NAP.  Ces « NAP enforcement points » vont à leur tour être envoyé au serveur NAP qui va déterminer si l’état de santé de la machine est valide ou non.

1 - Schéma

Dans le cas où un ordinateur n’est pas valide, il y a trois possibilités :

    1. On ne fait rien et le client accède au réseau (On peut ainsi grâce aux logs voir les ordinateurs qui n’ont pas un système à jour)
    2. On refuse l’accès au réseau
    3. On donne accès à un réseau séparé appelé « Remediation Network » où l’ordinateur attendra d’être à jour

2 - Schéma 2

Il est concevable qu’un serveur de remédiation fasse partie du réseau principal de l’entreprise. L’ordinateur peut donc avoir accès au réseau tout en se mettant à jour pour qu’il corresponde aux exigences du serveur NAP.

3 - Schéma 3

Le NAP utilise plusieurs composants pour fonctionner :

    • Le « System Health Agent » (SHA). C’est un service qui va permettre au client d’envoyer ses  informations de santé au « NAP enforcement point« . On retrouvera cet agent sur les distributions Windows tels que Windows Server 2008, Windows 7, Vista et XP Service Pack 3.
      N.B : On peut aussi développer son propre SHA.
    • Le « System Health Validator » (SHV) qui fait partie du rôle Network Policy Server disponible sur Windows Server 2008. SHV peut être utilisé avec le RADIUS notamment pour l’utilisation de la norme 802.1X.
    • Les serveurs de remédiation qui peuvent fournir des mises à jour antivirus ainsi que des mises à jour de Windows au travers d’un serveur WSUS (Windows Server Update Services).

Voici un cas pratique qui montre comment cela se passerait en réalité dans une entreprise :

    1. L’ordinateur est validé par le serveur NAP et peut donc accéder au réseau Production
    2. L’état de santé de l’ordinateur n’est pas validé et il sera assigné au réseau de Remédiation
    3. Enfin, n’est pas configuré pour le NAP ou ne supporte pas le NAP il sera attribué au réseau Invité.

4 - Schéma 4

Introduction au NPS

La gestion de ces stratégies est disponible dans Windows Server 2008 R2 par le biais de l’installation du rôle NPS (Network Policy Server). Ce rôle sert en partie à authentifier des utilisateurs de l’Active Directory, au moyen d’un serveur RADIUS, pour avoir accès à une ressource (configuration d’un routeur ou d’un switch par exemple).

5 - NPS

Le DHCP

Lorsque le client va tenter de louer ou renouveler une adresse IP, le serveur NPS va dans un premiers temps demander au serveur DHCP d’attribuer au client une adresse IP limitée. Si le client répond aux attentes du serveur NPS, le serveur DHCP lui enverra une adresse IP lui permettant d’avoir accès au réseau complet. Dans le cas contraire, le client sera soit redirigé vers un réseau de remédiation qui permettra via un serveur du même nom de se mettre aux normes du réseau ou alors le client sera exclu du réseau.

Cette technique à cependant un point faible. Dans le cas où le client configure manuellement son adresse IP, la contrainte de mise en conformité par DHCP n’a aucun effet.

Topologie

6 - Topologie

Méthodologie

Après avoir procédé aux modifications basiques (désactivation du pare-feu, changement du nom de la machine, …) ainsi qu’à l’installation et la configuration du Domain Controller et du DNS (serveur 1), la partie de la manipulation qui nous intéresse peut commencer.

Sur le serveur 2 :

Après avoir désactivé le pare-feu et attribuez une IP à la machine, on va la joindre au domaine.

7 - Changement du nom de la machine

Après confirmation que la machine a bien été intégrée au domaine, nous devons la redémarrer.
Nous pouvons maintenant installer les rôles DHCP et NPS.

Commençons tout d’abord par le DHCP :

On choisit l’interface sur laquelle on distribuera les adresses IP.

Nous entrons également le nom du domaine ainsi que l’adresse IP du serveur DNS présent sur le serveur 1.

9 - Serveur DNS

A l’étape suivante, nous cochons la case « WINS n’est pas requis pour les applications sur ce réseau« .  Nous ne créons pas d’étendue pour l’instant et nous n’avons pas besoin de l’IPv6.

Nous devons ensuite fournir des informations concernant la personne qui gère le domaine (login et mot de passe) en cochant la case « Utiliser d’autres informations d’identification ».

10 - Autoriser le serveur DHCP

Un résumé de la configuration est affiché. L’installation s’effectue ensuite notre intervention.

On passe à présent au NPS :

11 - Ajout du role NPS

Nous choisissons d’installer un serveur NPS comme service pour le rôle « Services de stratégie et d’accès réseau ».

12 - Ajout du role NPS 2

Aucune autre information ne nous est demandée, l’installation se termine rapidement.

Il nous reste quelques configurations à faire avec notamment le DHCP.
Vu que nous n’avons pas créé d’étendue tout à l’heure, nous allons le faire maintenant :

13 - DHCP

On entre un nom pour la nouvelle étendue.

Nous devons définir la plage d’adresses que nous désirons utiliser :

14 - Plage d'adresses

Il est possible d’ajouter des adresses IP que l’on ne souhaite pas distribuer, nous laissons cette option vide.

La durée du bail a été mise à 1 jour mais on peut mettre ce que l’on désire.

15 - Durée du bail

Nous cochons la case « Non, je configurerai ces options plus tard« .

16 - Configuration des paramètres DHCP

Nous les configurerons par la suite.

On va modifier les options du serveur DHCP. Ici on peut voir que les options sont appliquées à tout le serveur DHCP.

On supprime les 2 éléments :

17 - Suppression des éléments

Ensuite il faut se rendre sur l’onglet « Options d’étendue« , et cliquer sur « Configurer les options » :

18 - Configurer les options

Dans l’onglet « Paramètres avancés »,  il nous faut définir certaines informations :

19 - Options étendues

20 - Options Etendues

Quand on clique sur « Ajouter » l’adresse IP, il doit y avoir validation du DNS. Lorsque celle-ci a eu lieu, on peut appliquer les changements.

Nous devons procéder à la même manipulation une deuxième fois.

21 - Options Etendues

22 - Options Etendues

Nous pouvoir voir les 4 éléments créés :

23 - Visualisation des éléments

Nous devons nous rendre sur l’onglet de l’étendue afin de l’activer :

24 - Activer l'étendue

Passons maintenant à la configuration du NPS :

25 - Configuration du NPS

Nous devons rentrer un nom, par exemple « NPS DHCP ».

Nous devons ensuite choisir les paramètres qui seront utilisés pour la vérification sur les clients.

Nous choisissons comme système d’exploitation Windows7/Windows Vista ainsi que le pare-feu comme méthode pour définir une stratégie de validation d’intégrité de la sécurité de Windows.

26 - Paramètres de stratégie

Notre paramètre de validation a bien été créé :

27 - Paramètre créé

Il faut maintenant établir 2 stratégies de contrôle d’intégrité :

28 - Stratégie de controle d'intégrité

Premièrement, nous allons créer une politique de santé si la configuration du client est bonne.

Nous donnons un nom à cette stratégie et on la lie au validateur créé précédemment :

29 - Donner un nom à la stratégie

Deuxièmement, nous allons créer une politique de santé si la configuration n’est pas bonne.
Nous lui donnons également un nom et y associons le validateur créé précédemment. Il faut choisir l’option « Echec d’un ou plusieurs contrôles SVH pour le client » pour le champ « Contrôles du client par les programmes de validation d’intégrité système (SVH) ».

30 - Créer une politique de santé

Nous devons aussi créer des politiques d’accès réseau :

31 - Politique d'accès réseau

Nous créons une première politique pour les clients non compatibles NAP (Systèmes d’exploitation inférieurs à Windows XP Service Pack 3, Linux, …) mais qui auront un accès tout à fait normal (ceux-ci recevront une adresse IP venant du serveur DHCP).

Nous devons spécifier la ressource utilisée pour envoyer la demande de connexion au serveur NPS. Ici, nous utilisons un serveur DHCP :

32 - Nom

A l’étape suivante, nous ajoutons des conditions pour la stratégie. Pour y parvenir nous cliquons sur l’option « Ajouter… ».

Nous sélectionnons « Ordinateurs compatibles avec la protection d’accès réseau (NAP) » :

33 - Spécifier les conditions

Vu que nous nous concentrons sur les clients non compatibles, nous cochons l’option suivante:

34 - Ordinateurs non compatibles

La condition est maintenant ajoutée et nous passons à l’étape suivante.

Nous accordons l’accès si la demande de connexion correspond à la stratégie.

35 - Accès accordé

Nous n’allons vérifier que l’intégrité de l’ordinateur, il faut donc cocher uniquement cette option :

36 - Configurer les méthodes d'authentification

Aucun changement à effectuer au niveau de la configuration des contraintes.

Pour ce qui de la configuration des paramètres, nous nous rendons dans les contraintes de mise en conformité NAP afin de vérifier que la case « Autoriser un accès complet au réseau » est bien choisie.

37 - Configurer les paramètres

La seconde stratégie d’accès réseau sera pour les clients qui supportent le NAP mais qui ne sont pas conformes aux règles. Ils auront donc un accès réseau restreint.

Nous procédons de la même manière que précédemment mais en spécifiant comme condition :

38 - Sélectionner une condition

Nous choisissons comme stratégie celle créée pour les clients qui ne sont pas conformes à la politique de sécurité :

39 - Stratégies de contrôle d'intégrité

Nous cochons « Accès accordé » et nous ne vérifions que l’intégrité.
Vu qu’on ne veut permettre qu’un accès limité, on choisira l’option permettant de faire cela :

40 - Contraintes de mise en conformité NAP

La troisième stratégie d’accès réseau sera pour les clients qui permettent le NAP tout en étant conformes aux règles. L’accès pour eux sera total.

Le seul changement à effectuer par rapport à la deuxième stratégie se passe au niveau de la configuration des paramètres. Dans ce cas-ci, nous autorisons un accès complet au réseau :

41 - Contraintes de mise en conformité NAP 2

Voici les trois stratégies d’accès réseau :

42 - Visualisation des stratégies

Nous devons retourner du côté du DHCP :

43 - DHCP

Dans l’onglet « Protection d’accès réseau », il faut cliquer sur « Activer sur toutes les étendues » :

44 - Protection IPv4

Nous confirmons les paramètres.

Création d’un groupe et de la police d’accès réseau pour le nap :

Retournons sur la première machine (celle faisant office de Domain Controller et de DNS).

Nous avons besoin d’un groupe, pour y parvenir rendons nous dans le « Centre d’administration Active Directory »

Nos machines sont bien présentes, nous avons 2 clients.

45 - Centre d'administration Active Directory

Sur le nom du domaine, nous faisons un clic droit afin de créer un nouveau groupe :

46 - Centre d'administration Active Directory 2

Nous donnons un nom au groupe « GPO Clients NAP DHCP » et nous nous rendons dans l’option « Membres » et nous cliquons sur « Ajouter » :

47 - Créer Groupe

48 - Sélectionner des utilisateurs

Dans types d’objets, nous cochons ceci :

49 - Types d'objets

Nous entrons alors les noms des 2 machines clientes. Cette opération est à effectuer pour les 2 machines  (WIN7-CLIENT1 et WIN7-CLIENT2).

Nous obtenons au final ceci :

50 - Résultat

Occupons-nous maintenant de la gestion des stratégies de groupe et créons une GPO :

51 - Créer une GPO

Nous nommons la GPO « GPO NAP DHCP » et nous allons la modifier :

52 - GPO NAP DHCP

Dans « services système », nous sélectionnons « Agent de protection d’accès réseau » et modifions les propriétés comme suit :

53 - Agent de protection d'accès réseau

On se rend ensuite dans « Clients de contrainte » (se trouvant dans « Protection d’accès réseau »), nous sélectionnons « Client de contrainte de quarantaine DHCP ».

Dans les propriétés, nous activons le client :

54 - Propiétés

Dans « Paramètres de l’interface utilisateur« , on sélectionne « Interface utilisateur ».

C’est ici qu’il est possible de configurer le message qui sera affiché lorsque le client ne répondra pas aux exigences.

55 - Propriétés de Interface Utilisateur

Nous pouvons maintenant retourner dans la fenêtre de gestion de stratégie de groupe.

Nous sélectionnons notre GPO et allons y ajouter le groupe créé par nos soins :

56 - Ajout du groupe

N’oublions pas de supprimer les utilisateurs authentifiés :

57 - Filtrage de sécurité

Test sur les clients

Assurons-nous tout d’abord que nos 2 clients ont bien reçus une adresse IP grâce au serveur DHCP :

58 - Client 1 DHCP 59 - Client 2 DHCP

Vérifions également que le service « Agent de protection d’accès réseau » est bien démarré sur les 2 clients :

60 - Service

Regardons maintenant ce que peut engendrer la désactivation du pare-feu du domaine sur WIN7-CLIENT1 :

61 - protection d'accès réseau

 

Il y aussi le message suivant qui s’affiche :

62 - Contrôle de conformité

Vu que le pare-feu est désactivé, le client ne répond plus aux exigences NAP.

De plus,  lorsque l’on fait un ipconfig/all dans la console, nous pouvons voir que l’état de quarantaine est bien marqué en restreint :

63 - cmd ipconfig

En réactivant le pare-feu, nous obtenons ce message :

64 - Réactiver le parefeu

65 - cmd

De cette manière, le client n’est plus restreint.

Test sur les clients avec auto remédiation

Sur le serveur NPS/DHCP :

66 - Serveur NPS et DHCP

Dans les paramètres, pour l’option « Contrainte de mise en conformité NAP », nous cochons la case pour activer la mise à jour automatique.

Nous désactivons à nouveau le pare-feu pour le domaine. Le client ne répond alors plus aux exigences NAP et la même erreur qu’auparavant s’affiche.

Cependant, l’auto-remédiation étant activée, le  pare-feu se réactive de lui-même :

67 - Firewall s'auto réactive

Merci d’avoir lu cette artcle.
Merci aussi à ceux qui ont participé à la réalisation de ce tuto.