IPS-Firewalls NETASQ SPNEGO

Transcription

IPS-Firewalls NETASQ SPNEGO
IPS-Firewalls NETASQ
SPNEGO
Version 2.0 - © NETASQ 2006
SPNEGO
Introduction
Un utilisateur doit gérer de nombreux mots de passe. Un mot de passe pour la connexion au
poste de travail, un mot de passe pour la messagerie et n mots de passe applicatifs. Quand ce
nombre atteint une dizaine ou une quinzaine pour certains utilisateurs ou administrateurs, la
gestion de ces mots de passe devient alors problématique pour l’utilisateur, encourageant un
comportement négligent, qui se manifeste par exemple sous forme de mots de passe simples,
mots de passe identiques sur tous les systèmes, ou des mots de passe notés sur des post-its
ou dans un cahier.
Le but de protéger les applications par le biais d’un mot de passe est d’assurer la sécurité des
données qui y sont contenues. Cependant, le fait d’avoir trop de mots de passe à gérer facilite
la possibilité qu’ils tombent aux mains des personnes malintentionnées, ce qui a des
conséquences très graves.
Ce dilemme a donné lieu à la création du programme à authentification unique, ou SSO pour
« Single Sign-On » en anglais, qui permet aux utilisateurs de pouvoir s’authentifier une seule
fois pour accéder toutes les ressources qui lui sont autorisées sans devoir saisir les mots de
passe propres à chaque application.
Le SPNEGO (Simple and Protected GSS-API Negotiation Mechanism, mécanisme de
négociation de GSS-API simple et protégé) est un protocole défini par le IETF, rendant possible
la négociation entre différents mécanismes GSS-API afin d’établir un contexte de sécurité
commun pour un client et un serveur. Ceci est la méthode choisie par NETASQ pour offrir les
fonctionnalités d’authentification unique.
La GSS-API (Generic Security Service Application Program Interface) est une interface de
programmation mettant à disposition des applications y faisant appel un ensemble de services
liés à la sécurité. Elle permet entre autres de prendre en charge l'authentification d'un
utilisateur, et de garantir la confidentialité et l'intégrité de chaque message échangé. En plus,
elle fournit une interface unique qui se met au-dessus des différents mécanismes de sécurité
d’une telle manière qu’au cas où les correspondants acquéraient les crédences GSS-API pour
le même mécanisme de sécurité, un contexte de sécurité peut être établi entre eux.
Pré-requis
Pour faire fonctionner le SSO (SPNEGO) avec les IPS-Firewalls, les outils suivants sont
nécessaires :
-
Un IPS-Firewall NETASQ en version 6 ou supérieure (cette fonctionnalité n’est pas
supportée dans les versions inférieures à la version 6) ;
-
Un serveur Windows 2000 ou 2003 avec Active Directory activé et configuré ;
-
Les outils de support fournis sur le CD d’installation de Windows serveur, préalablement
installés ;
-
Pour Windows 2003, vous trouverez le mappeur du nom principal du service (setspn.exe)
et le générateur de keytab (ktpass.exe) parmi les Outils de Support sur le CD
d’installation Windows dans le répertoire SUPPORT\OUTILS\. Pour Windows 2000, vous
trouverez le générateur de keytab (ktpass.exe) parmi les Outils de Support sur le CD
d’installation Windows dans le répertoire SUPPORT\OUTILS\, mais il est possible que le
mappeur du nom principal du service doive être téléchargé depuis le site WEB de
Microsoft à cette adresse :
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/setspn-o.asp;
-
Des postes de travail connectés sur le domaine d’Active Directory, pourvus d’un
navigateur compatible avec le SPNEGO ;
Version 2.0 - © NETASQ 2006
Page 2 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
o
o
o
-
Internet explorer en version 6.0 ou supérieure ;
Firefox version 1 ou supérieure ;
Certaines versions de Mozilla.
Mac OSX ne supporte pas encore le SPNEGO.
L’installation du SSO (SPNEGO) sur les appliances
Il faut créer une liaison logique entre Active Directory et l’appliance en version 6 ou supérieure
afin de pouvoir utiliser le SSO (SPNEGO). Cette liaison peut être réalisée en 3 étapes.
1. Un compte utilisateur spécial doit être créé dans l'Active Directory.
2. La mise en relation logique dans l'Active Directory de ce compte utilisateur et du service
SSO doit être réalisée. Cette mise en relation est réalisée grâce à un script fourni sur le
CD d'installation NETASQ ou le site WEB NETASQ.
3. Cette mise en relation produit un fichier qu'il faut transférer par le Firewall manager à
l’appliance pour activer le SPNEGO. Manipulez ce fichier avec précaution, car il contient
un mot de passe (aussi appelé une « clé »). Bien qu’il soit chiffré, il est tout de même
considéré comme sensible.
Fonctionnement de SPNEGO avec les appliances UTM NETASQ
Pour expliquer le principe de fonctionnement du SPNEGO, le document s’appuie sur l’exemple
d’un utilisateur souhaitant accéder à Internet. Pour accéder à Internet, cet utilisateur doit
s’authentifier sur le réseau (sur son domaine) puis doit répéter l’opération d’authentification sur
l’appliance UTM. Dans le cadre du SPNEGO, la phase d’authentification sur l’appliance sera
transparente pour l’utilisateur. Cette action s’effectuera automatiquement, sans le concours de
l’utilisateur. Pour comprendre le fonctionnement général du SPNEGO reportez-vous donc à
l’exemple suivant :
1. L’utilisateur s’authentifie sur le réseau (Domaine Windows) ;
2. Le contrôleur de domaine autorise cette authentification ;
3. L’utilisateur ouvre son navigateur WEB pour se connecter au site WEB de son choix ;
4. Le proxy HTTP activé sur l’appliance NETASQ (voir la configuration du proxy HTTP)
redirige le navigateur WEB vers le portail d’authentification activé sur l’appliance (voir la
configuration de l’authentification) ;
Version 2.0 - © NETASQ 2006
Page 3 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
5. Le navigateur WEB se connecte alors sur le portail d’authentification de l’appliance en
utilisant le numéro de série de ce dernier. Dans les schémas, ce numéro de série est
représenté par « FW-NOMDNS ». Dans cette optique, il est nécessaire que ce « FWNOMDNS » soit résolu auprès du DNS configuré par le poste client.
6. L’appliance informe le navigateur WEB qu’il doit lui founir les crédences
d’authentification de l’utilisateur (informations d’authentification spécifiques à
l’utilisateur) pour valider l’authentification ;
7. Le navigateur WEB se connecte au contrôleur de domaine (qui intervient lors des
échanges (1) et (2) au début de l’exemple) et lui demande les crédences ;
8. Après avoir vérifié que l’utilisateur est effectivement authentifié sur le domaine, le
contrôleur du domaine fournit au navigateur WEB les informations demandées. Dans
les schémas, ces informations sont représentées par le « SECRET » ;
9. Le navigateur WEB transfère les crédences à l’appliance qui les valide grâce à une clé
partagée entre le contrôleur de domaine et l’appliance et authentifie l’utilisateur pour
une durée définie par l’administrateur (voir la configuration de l’authentification).Dans
les schémas, cette clé est représentée par « KEY » ;
10. L’appliance redirige le navigateur WEB vers le proxy HTTP de l’appliance qui fournit à
l’utilisateur la page WEB initialement demandée (par exemple http://www.lesite.com) ;
Version 2.0 - © NETASQ 2006
Page 4 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
Tous les échanges d’informations décrits dans cet exemple et représentant le fonctionnement
de SPNEGO s’effectuent de manière transparente pour l’utilisateur. L’utilisateur n’a pas besoin
de se connecter manuellement au portail d’authentification, il n’a pas besoin de renseigner son
login ou son mot de passe, il n’a pas besoin de contacter son contrôleur de domaine après sa
connexion au domaine.
Cette communication tripartie est indispensable au bon fonctionnement de SPNEGO.
L’appliance ne peut communiquer directement avec le contrôleur de domaine pour récupérer
les crédences d’authentification de l’utilisateur.
Notez qu’il n’y a pas d’interaction directe entre l’appliance et le contrôleur de domaine. La
configuration du SPNEGO reflète cet état de fait.
Les échanges (5) à (9) sont chiffrés : (5), (6) et (9) en SSL et (7) et (8) en Kerberos.
La configuration de SPNEGO
La mise en place des fonctionnalités SPNEGO nécessite la modification des paramètres de
configuration de chacun des éléments participant à l’architecture : le contrôleur de domaine,
l’appliance UTM et enfin les stations clientes (et notamment le navigateur WEB). De plus un
équipement n’apparaissant pas sur les schémas joue un rôle important, à savoir un serveur
DNS.
Configuration du serveur DNS
Pour mettre en place les fonctionnalités SPNEGO, la procédure d’installation débute par la
modification de la configuration du serveur DNS. Une partie du mécanisme SPNEGO nécessite
la résolution de noms DNS et en particulier celui de l’appliance UTM utilisé.
Il est donc nécessaire d’ajouter une entrée dans le serveur DNS de manière à permettre la
résolution du nom de l’appliance (par défaut ce nom est son numéro de série).
Version 2.0 - © NETASQ 2006
Page 5 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
Notez qu’il est important que cette résolution s’effectue sinon l’authentification SPNEGO ne
pourra s’effectuer. Vérifiez d’ores et déjà que l’entrée ajoutée dans le serveur DNS est
effectivement résolue et accessible (ping par exemple).
Configuration du contrôleur de domaine Active Directory
La procédure d’installation se poursuit par la modification de la configuration du contrôleur de
domaine Active Directory. Pour réaliser la configuration du contrôleur de domaine, reportezvous à la procédure suivante :
Etapes
Actions
1
Récupérer les fichiers pré requis à la configuration du
contrôleur de domaine : « reg.exe » et « setspn.exe » et
« ktpass.exe » compatible pour Windows 2000™ ou Windows
2003™ suivant la version du contrôleur de domaine.
2
Enregistrer les fichiers dans un répertoire commun. Exemple
« C:\SPNEGO\ ».
3
Récupérer le script « spnego.bat » sur le site WEB NETASQ,
le CDROM livré avec vos produits ou à la fin de ce document.
4
Enregistrer le script « spnego.bat » dans le même répertoire
qu’à l’étape (2).
5
Lancer le script « spnego.bat » en ligne de commande selon
l’usage présenté ci-dessous :
spnego <FW> <dns> <WINDOWS> <password> <fichier>
Où :
-
<FW> représente le nom de l’appliance sur lequel vous
configurez SPNEGO. Ce nom est identique à l’entrée
effectuée dans le serveur DNS. NETASQ vous
recommande de renseigner ce paramètre en
MAJUSCULES ;
Version 2.0 - © NETASQ 2006
Page 6 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
-
<dns> représente le nom de domaine DNS (dans la
configuration du serveur DNS ci-dessus le nom de
domaine DNS serait « netasq.com »). Ce paramètre
est renseigné en MINUSCULES ;
-
<WINDOWS> représente le nom de domaine
WINDOWS pris en charge par le contrôleur de
domaine. Dans la très grande majorité des cas ce
nom de domaine WINDOWS est identique au nom de
domaine DNS. Ce paramètre DOIT être renseigné en
MAJUSCULES ;
-
<password> représente un mot de passe que vous
choisissez et qui sera utilisé pour l’utilisateur <FW>
créé et le service SPNEGO.
-
<fichier> représente un nom de fichier que vous
choisissez.
Le script utilisé effectue deux tâches principales : création
d’un compte utilisateur sur le contrôleur de domaine (Service
SPNEGO) et génération d’un fichier contenant une clef à
partager avec l’appliance (voir la configuration de l’appliance).
Ci-dessus les détails de l’utilisateur créé sur le contrôleur de domaine grâce au script SPNEGO.
Avant de continuer la configuration, il est important d’enregistrer les informations indiquées par
le script SPNEGO, elles sont indispensables à la suite de la configuration. Ci-dessous une
représentation des informations affichées en fin de script :
values to insert in the manager
SPN=HTTP/<FW>.<dns>
DOMAIN=<WINDOWS>
FILE=<fichier>
Version 2.0 - © NETASQ 2006
Page 7 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
SPN est le nom du service principal de la configuration SPNEGO. Dans l’exemple présenté ce
SPN serait « HTTP\F5000A000099999999.netasq.com ».
DOMAIN est le nom de domaine WINDOWS de la configuration SPNEGO. Dans l’exemple
présenté ce DOMAIN serait « NETASQ.COM ». Attention il est important d’enregistrer le
domaine en MAJUSCULES.
Configuration de l’appliance NETASQ
La configuration de l’appliance NETASQ s’effectue en deux étapes. Dans un premier temps on
activera le proxy HTTP puis on configurera l’authentification à proprement parler. L’étape
d’activation du proxy HTTP n’est pas indispensable au fonctionnement de SPNEGO, mais elle
permet d’automatiser les étapes (3) à (5) du fonctionnement de SPNEGO, ce qui participe à
l’ergonomie de la fonction.
Configuration du proxy HTTP
La configuration du proxy HTTP consiste à l’activer et à définir les règles de filtrage WEB
demandant authentification. Rappel, on met en place les fonctionnalités SPNEGO pour faciliter
l’authentification sur l’appliance. Sans règle de filtrage relative à l’authentification, inutile de
mettre en place SPNEGO.
Configuration de l’authentification
Pour configurer l’authentification dirigez-vous dans le sous-menu « Portail captif » du menu
« Authentification » de l’arborescence des menus du Firewall Manager et reportez-vous à la
procédure ci-dessous. Notez qu’on effectue la configuration de SPNEGO sur les interfaces
internes de l’appliance.
Menu
Paramètres à configurer
Global\SPNEGO
Nom du service (Principal) : valeur obtenue à la fin du script
exécuté sur le contrôleur de domaine (SPN, dans l’exemple :
HTTP\F5000A000099999999.netasq.com). ATTENTION à
respecter la casse utilisée lors de l’exécution du script.
Nom de domaine : valeur obtenue à la fin du script exécuté
Version 2.0 - © NETASQ 2006
Page 8 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
sur le contrôleur de domaine (DOMAIN, dans l’exemple :
NETASQ.COM). ATTENTION à respecter la casse utilisée
lors de l’exécution du script.
Keytab : fichier obtenu à la fin du script exécuté sur le
contrôleur de domaine.
Global\Avancé
Cocher la case « Utilisez la résolution DNS (numéro de
série) ».
Interfaces
internes
Définir la « durée d’authentification SSO » en minutes,
durée pendant laquelle l’authentification SSO ne ré effectuera
pas d’authentification transparente.
Interfaces
internes \
Méthodes
disponibles
Cocher la méthode disponible « SPNEGO ».
Sélectionner SPNEGO comme « méthode de redirection
par défaut du proxy HTTP ».
Configuration des clients (Navigateur WEB)
A ce stade de la configuration, le portail d’authentification de l’appliance utilisé pour SPNEGO
doit pouvoir être contacté par le navigateur WEB. Pour vérifier que cela est bien le cas, tentez
une connexion vers le site WEB « https://numérodesériedel’appliance.domaindns » (dans notre
exemple l’URL se présente sous la forme « https://F5000A000099999999.netasq.com »). Si la
connexion ne s’effectue pas, vérifier vos branchements et la configuration effectuée jusqu’ici
avant d’aller plus loin.
La configuration des clients s’effectue par la suite différemment suivant les navigateurs WEB
utilisés.
Configuration du navigateur WEB Internet Explorer™ 6
Pour configurer le navigateur WEB Internet Explorer™ 6, reportez-vous aux indications
présentées ci-dessous :
1. Dans le menu « Outils\Options Internet\ », sélectionnez l’onglet « Sécurité » ;
2. Dans la zone « Intranet Local », cliquez sur le bouton « Sites » puis « Avancé » ;
3. Ajoutez le site WEB « https://numérodesériedel’appliance.domaindns » à la zone (dans
notre exemple, nous ajoutons « https://F5000A000099999999.netasq.com ») ;
4. Veillez à ce que l’option « Nécessite un serveur sécurisé (https) pour tous les sites dans
cette zone » soit cochée ;
Version 2.0 - © NETASQ 2006
Page 9 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
5. Validez la configuration des sites WEB de la zone et retournez dans la configuration
générale de l’onglet « Sécurité » du menu « Outils\Options Internet\ » ;
6. Toujours dans la zone « Intranet local », cliquez sur le bouton « Personnaliser le
niveau » ;
7. Vérifiez que l’option « Connexion automatiquement uniquement dans la zone intranet »
est cochée et valider la configuration ;
8. Si vous utilisez un proxy pour accéder à Internet, il est nécessaire de mettre en place
une exception pour l’appliance. Dans ce cas, dirigez-vous dans le menu de
configuration des proxies (Onglet « Connexion », Paramètres réseau) et réalisez cette
exception sur le site WEB « https://numérodesériedel’appliance.domaindns » (dans
notre exemple, nous ajoutons « https://F5000A000099999999.netasq.com ») ;
Version 2.0 - © NETASQ 2006
Page 10 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
9. Enfin dans l’onglet « Avancé » du menu « Outils\Options Internet\ », Vérifiez que
l’option « Activer l’authentification intégrée de Windows (nécessite un redémarrage) est
cochée et validez la configuration des « Options Internet ».
Configuration du navigateur WEB Mozilla Firefox™ 1
Pour effectuer la configuration du navigateur WEB Mozilla Firefox™ 1, reportez-vous aux
indications présentées ci-dessous :
1. Démarrez Firefox et tapez « about:config » dans la barre d’URL ;
2. Une liste de paramètres de configuration apparaît, retrouvez les paramètres
« network.negotiate-auth.delegation-uris » et « network.negotiate-auth.trusted-uris »
Version 2.0 - © NETASQ 2006
Page 11 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
dans cette liste. Note : la recherche des paramètres est facilitée par l’utilisation de la
barre de filtres, située sous la barre d’URL ;
3. Renseignez la valeur « https://numérodesériedel’appliance.domaindns » (dans notre
exemple, nous utilisons « https://F5000A000099999999.netasq.com ») pour les deux
paramètres sélectionnés ;
4. Fermez le navigateur WEB pour valider la configuration effectuée.
La configuration de SPNEGO dans le cadre de la Haute disponibilité
Dans le cadre de la Haute disponibilité, la configuration SPNEGO telle qu’elle a été décrite cidessus ne peut convenir. En effet l’ensemble de la configuration est basée sur l’identification de
l’appliance utilisé pour l’authentification, par son numéro de série. Or deux appliances en Haute
disponibilité ne possèdent pas le même numéro de série. Il est donc nécessaire de modifier la
configuration initiale de SPNEGO.
Pour cela, il existe deux méthodes de configuration :
1. Utiliser l’adresse IP commune aux deux appliances du cluster de Haute disponibilité ;
2. Modifier l’identification de l’appliance pour en fournir une identique aux deux appliances
du cluster (non disponible pour les appliances en version inférieure à 6.0.3).
Configuration de SPNEGO par une adresse IP
La configuration SPNEGO par une adresse IP est quasiment identique à la configuration
présentée ci-dessus. Quelques adaptations doivent être prévues :
1. Les aspects de résolutions de noms DNS ne sont plus nécessaires dans ce cas ;
2. La chaine « numérodesériedel’appliance.domaindns » sera systématiquement
remplacé par « addresseipdel’appliance ». Ainsi dans notre exemple, on remplace
« https://F5000A000099999999.netasq.com » par « https://10.0.0.1 » ;
3. Le script SPNEGO fournit par NETASQ s’effectue différemment. Pour plus
d’informations sur ces modifications du script, reportez-vous à la section ci-dessous.
Exécution du script spnego.bat pour une configuration SPNEGO par une adresse IP
Lancer le script « spnego.bat » en ligne de commande selon l’usage, spécifique, présenté cidessous :
spnego -ha <IPaddress> <spnego_user> <WINDOWS> <password> <fichier>
Version 2.0 - © NETASQ 2006
Page 12 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
Où :
<IPaddress> représente l’adresse IP des appliances participant au cluster de Haute
disponibilité.
<spnego_user> représente l’utilisateur créé sur le contrôleur de domaine, identifiant les
appliances utilisés pour SPNEGO. Cet utilisateur est indispensable à la configuration SPNEGO
mais n’est plus évoqué dans la suite de la configuration.
<WINDOWS> représente le nom de domaine WINDOWS pris en charge par le contrôleur de
domaine. Dans la très grande majorité des cas ce nom de domaine WINDOWS est identique au
nom de domaine DNS. Ce paramètre DOIT être renseigné en MAJUSCULES ;
<password> représente un mot de passe que vous choisissez et qui sera utilisé pour l’utilisateur
<spnego_user> créé et le service SPNEGO.
<fichier> représente un nom de fichier que vous choisissez.
Le script utilisé effectue deux tâches principales : création d’un compte utilisateur sur le
contrôleur de domaine (Service SPNEGO) et génération d’un fichier contenant une clef à
partager avec l’appliance (voir la configuration de l’appliance).
Configuration de SPNEGO par remplacement de l’identifiant de l’appliance
Dans la configuration initiale, l’appliance est représenté par un identifiant sous la forme de son
numéro de série. Cet identifiant est utilisé par défaut pour se connecter sur le portail
d’authentification. La configuration consiste à remplacer l’identifiant de l’appliance utilisé pour
se connecter sur le portail d’authentification. Cet identifiant pourrait, cette fois ci, être identique
aux deux appliances qui participent au cluster de Haute disponibilité. Ainsi dans notre exemple,
on remplacera « https://F5000A000099999999.netasq.com » par « https://portail.netasq.com ».
Pour effectuer ce remplacement, reportez-vous à procédure suivante :
1. Faites l’acquisition d’une « clé privée/certificat serveur », auprès d’organismes
spécialisés comme Verisign, Thawte ou autres, généré au nom de l’identifiant que vous
souhaitez utilisé (dans notre cas, le certificat est généré au nom
« portail.netasq.com ») ;
2. Insérez le certificat serveur obtenu dans l’appliance par l’intermédiaire du menu
« Certificats » de l’arborescence des menus du Firewall manager ;
Version 2.0 - © NETASQ 2006
Page 13 sur 14
Référence: na_tn_spnego_002_fr
SPNEGO
3. Dans le sous menu « portail captif » du menu « Authentification » de l’arborescence du
Firewall manager, sélectionnez le menu « Portail WEB », l’écran de configuration
suivant apparaît :
4. Ajoutez le certificat serveur dans l’option « Clé privée/certificat », votre configuration
doit ressembler à l’écran ci-dessous :
5. Envoyer la configuration pour valider les changements, le remplacement de l’identifiant
de l’appliance est terminé.
Une fois le remplacement effectué, la configuration de SPNEGO se déroule de manière
identique à la procédure initiale de la modification sur serveur DNS à la configuration des
clients. A ceci près que :
1. La chaine « numérodesériedel’appliance.domaindns » sera systématiquement
remplacé par « identifiantpersonnalisé ». Ainsi dans notre exemple, on remplace
« https://F5000A000099999999.netasq.com » par « https://portail.netasq.com » ;
2. Dans le script, la variable <fw> représentant l’identifiant de l’appliance sous la forme de
son numéro de série est cette fois ci renseignée sous la forme de
l’« identifiantpersonnalisé » oté du nom de domaine DNS. Dans notre exemple, au lieu
d’utiliser « F5000A000099999999 » on utilisera « portail ».
Version 2.0 - © NETASQ 2006
Page 14 sur 14
Référence: na_tn_spnego_002_fr