Passage en production

Rappel: l'image ISO d'installation du portail est livré avec des paramètres et certificats de test. Elle fonctionne dans la fédération de test du CRU/Renater car elle y a été déclarée. Pour passer en production il faut modifier ces paramètres et certificats puis déclarer le service dans la fédération choisie.

Par défaut, le portail est livré avec des paramètres de tests. Son nom est univnautes.entrouvert.lan, le serveur HTTPS associé possède un certificat auto-signé (donc invalide par défaut sur les navigateurs), le certificat SAML est un certificat associé au nom univnautes.entrouvert.lan dans la fédération de test de Renater.

En production, il faut donc modifier tout cela, idéalement dans cet ordre :

  1. donner un nom dans le domaine DNS de l'établissement (par exemple eduspot.univ-paris42.fr)

  2. placer un certificat valide sur le serveur HTTPS correspondant, obtenu auprès du CRU/Renater via le RSSI, valide pour le nom choisi précédemment

  3. créer un nouveau certificat SAML

  4. déclarer les métadonnées SAML finale (associant le nom choisi et le certificat SAML) auprès de la fédération CRU/Renater

Vous trouverez ci-dessous les détais pour chaque étape.

Choix du nom du portail (DNS forwarder)

Par défaut, le portail s'appelle univnautes.entrouvert.lan, il est associé à l'adresse IP 10.42.0.1 par le forwarder DNS local (10.42.0.1 étant l'adresse IP de l'interface LAN). En production, il faut changer ce nom dans la DNS.

Pour cela, se rendre dans Services/DNS Forwarder et ajouter le nom dans les overrides, en lui associant l'IP 10.42.0.1 (ou l'IP de l'interface LAN, si vous l'avez changée).

Certificat et clé HTTPS

Par défaut, le portail est accessible en HTTPS et utilise un certificat et une clé de test. Cela donne des messages d'alerte voire d'erreur sur les navigateurs.

Pour modifier le certificat HTTPS du portail, il faut se rendre sur la page Services/Captive Portal et y indiquer :

  • HTTPS server name : le nom du serveur (celui qui est déclaré dans le certificat)

  • HTTPS certificate : le certificat au format PEM ;

  • HTTPS private key : la clé privée associée, au format PEM ;

  • HTTPS intermediate certificate : le certificat de l'AC émettrice (en cas de certificat auto-signé de test, recopier le certificat), au format PEM.

Lorsque ces paramètres sont modifiés, le service cp_univnautes est automatiquement relancé pour prendre en compte les modifications.

pfSense ne comprend pas les certificats des nouvelles versions d'OpenSSL. Pour obtenir une clé dans un format utilisable dans pfSense, il faut utiliser la commande suivante : $ openssl rsa -in cle-eduspot.key > cle-eduspot-pour-pfsense.key

Certificat et clé SAML 2.0

Sur l'onglet Univnautes dans la page Services/Captive portal, on indique :

  • SAML Private Key : clé privée

  • SAML Signing Key (Certificate) : certificat (clé publique)

l'outil System/Cert Manager peut être utilisé pour générer la clé et le certificat SAML. Ils n'ont pas besoin d'être signés par une autorité reconnue.

Lorsque ces paramètres sont modifiés, le service cp_univnautes est automatiquement relancé pour prendre en compte les modifications.

Déclaration des métadonnées dans la fédération

Une fois le service relancé avec les nouvelles données SAML, les métadonnées XML du portail sont accessibles sur la page https://nom_du_portail/authsaml2/metadata

nom_du_portail doit être le nom choisi pour le serveur HTTPS). Il s'agit d'un fichier XML, qui peut être téléchargé et lu avec un éditeur de texte.

Ces données du service doivent être enregistrées dans la fédération.

Pour les tests, chacun peut utiliser la fédération de test https://federation.renater.fr/registry. Sur l'interface d'enregistrement d'un fournisseur de service (SP), il faut entrer les données une à une :

  • Intitulé du service : Portail Captif Univnautes - Université xyz

  • URL du service : https://nom_du_portail

  • URL de vos méta données : n'indiquez rien ici ! En effet l'URL du portail n'est pas joignable sur Internet ; il faut donc renseigner les paramètres ci-dessous un par un :

  • entityID : https://nom_du_portail/authsaml2/metadata

  • URL du service AssertionConsumerService SAML 1.0 : vide (notre fournisseur ne travaille qu'en SAML 2.0)

  • URL du service AssertionConsumerService SAML 2.0 : https://nom_du_portail/authsaml2/singleSignOnPost

  • Certificat X.509 : copié-collé du champ SAML Signing Key (Certificate) de la page Services/Captive Portal/Univnautes, en retirant les première et dernière lignes contenant les -----BEGIN CERTIFICATE----- et -----END CERTIFICATE-----

Forcer le rechargement des metadonnées et whitelist

Les métadonnées et la whitelist sont téléchargées chaque heure. Cependant, il peut être utile de les actualiser immédiatement ces données. Pour cela, deux techniques :

  • soit depuis la console (en direct ou en ssh), taper : # univnautes-update-metadata.sh

  • soit depuis l'interface web d'administration, se rendre sur la page Services / Captive portal, sur l'onglet Univnautes et cliquer sur le bouton Save en bas de page, sans modifier de paramètre. Cela recharge whitelist IP et metadonnées.

Dans les deux cas, pour vérifier, se rendre dans Status / System Logs sur l'onglet Portal Auth : vous devez voir une ligne du genre update-metadata: Loaded 117 providers.