Configurer SPNEGO dans le cadre de la Haute Disponibilité

Dans le cadre de la Haute disponibilité, la configuration SPNEGO telle que décrite dans les sections précédentes ne peut convenir. En effet l’ensemble de cette configuration est basé sur l’identification du firewall utilisé pour l’authentification, en d’autres termes, par son numéro de série.

Or, deux firewalls en Haute disponibilité ne possèdent pas le même numéro de série. Dans une telle configuration, la modification consiste donc à remplacer l’identifiant de chacun des firewalls (leur numéro de série) par un nom unique pour les deux membres du cluster.

Le protocole SPNEGO vérifiant le nom de domaine complet du firewall, cet identifiant doit donc être sous la forme nom.domaine.

Configurer SPNEGO en modifiant l’identifiant du firewall

Dans cet exemple, il s'agit de remplacer https://SN710A000099999999.stormshield.com par https://portail.stormshield.com. Pour ce faire, il est nécessaire de créer un couple certificat serveur / clé privée au nom de l'identifiant choisi :

  • Soit par l'intermédiaire d'une autorité racine créée sur chacun des firewalls.
  • Soit par le biais d'organismes spécialisés comme Verisign, Thawte ou autres.

La suite de cette section présente la méthode basée sur la signature du certificat par une autorité racine du firewall.

Créer l'autorité de certification

Sur le firewall principal :

  1. Dans le module Configuration > Objets > Certificats et PKI, cliquez sur Ajouter puis sélectionnez Ajouter une autorité racine.
  2. Dans le champ CN, entrez le nom de l'autorité (exemple : CA-SPNEGO).
    L'Identifiant proposé par défaut reprend ce nom.
  3. Dans la section Attributs de l'autorité, remplissez les champs Organisation (obligatoire), Unité d'organisation (obligatoire), Lieu (facultatif), État ou province (obligatoire) et Pays (obligatoire).
  4. Cliquez sur Suivant.
  5. Saisissez et confirmez le Mot de passe de l'autorité.
  6. Sauf besoins très spécifiques, laissez la Validité et la Taille de clé aux valeurs proposées.
  7. Cliquez sur Suivant.
  8. Indiquez les éventuels points de distribution des listes de révocation de certificats.
  9. Cliquez sur Suivant.
  10. Validez la création de l'autorité en cliquant sur Terminer.

Créer le certificat serveur

Sur le firewall principal :

  1. Dans le module Configuration > Objets > Certificats et PKI, cliquez sur Ajouter puis sélectionnez Identité serveur.
  2. Dans le champ Nom de domaine qualifié (FQDN), indiquez l'identifiant choisi (portail.stormshield.com dans l'exemple).
  3. Cliquez sur Suivant.
  4. Sélectionnez l'Autorité de Certification précédemment créée (CA-SPNEGO dans l'exemple) pour signer ce certificat.
    Les attributs du certificat sont automatiquement complétés à l'aide de ceux de l'autorité.
  5. Renseignez le Mot de passe de l'autorité.
  6. Cliquez sur Suivant.
  7. Sauf besoins très spécifiques, laissez la Validité et la Taille de clé aux valeurs proposées.
  8. Cliquez sur Suivant.
  9. Validez la création du certificat en cliquant sur Terminer.

Personnaliser le portail captif

Sur le firewall principal, modifiez le portail captif pour qu'il présente l'identifiant du cluster à la place du numéro de série du firewall :

  1. Placez-vous dans le menu Configuration > Utilisateurs > Authentification > onglet Portail captif,
  2. Dans le champ Certificat (clé privée), sélectionnez le certificat précédemment créé.

Terminer la configuration de SPNEGO

Une fois le certificat affecté au portail captif, la configuration de SPNEGO se déroule de manière identique à la procédure initiale de la modification du serveur DNS à la configuration des clients. A ceci près que :

  1. Vous devez ajouter l’entrée « identifiant_personnalisé » au serveur DNS. Ainsi, la chaîne « numero_de_serie_du_firewall.domaindns » est à remplacer par « identifiant_personnalisé ». Dans cet exemple, on remplace donc https://SN710A000099999999.stormshield.com par https://portail.stormshield.com.
  2. Lors de l'utilisation du script spnego.bat, la variable <FW> représentant l’identifiant du firewall prend cette fois-ci la valeur « identifiant_personnalisé » sans le nom de domaine DNS. Dans cet exemple, il s'agit donc de portail.