serverInstallation ADFS

🧱 Prérequis sur SrvPKI

Avant d'installer ADFS, assurez-vous que :

  • Le serveur est joint au domaine secu07.internal.

📜 Création d'un certificat SSL (Auto-signé)

Pour ADFS, la méthode la plus simple dans un environnement de test est de générer un certificat auto-signé via PowerShell. Ce certificat sera utilisé pour les communications SSL.

Exécutez cette commande sur SrvPKI :

# Générer un certificat auto-signé pour le nom de fédération
New-SelfSignedCertificate -DnsName "iam.secu07.internal" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(2)

👥 Création du compte de service et du groupe

Exécutez ces commandes sur le contrôleur de domaine (SrvDC1) :

# Créer le compte de service pour ADFS (le mot de passe est converti directement)
New-ADUser -Name "svc_adfs" -SamAccountName "svc_adfs" -Description "Compte de service ADFS" -Enabled $true -PasswordNeverExpires $true -AccountPassword (ConvertTo-SecureString 'Pa$$w0rd' -AsPlainText -Force)

# Créer le groupe pour les utilisateurs autorisés à accéder à l'Extranet
New-ADGroup -Name "DL_Extranet" -GroupScope DomainLocal -GroupCategory Security

📥 Installation du rôle ADFS

Sur SrvPKI, exécutez la commande suivante dans PowerShell (Admin) :


⚙️ Configuration du service de fédération

  1. Ouvrez le Gestionnaire de serveur et cliquez sur le drapeau de notification.

  2. Sélectionnez Configure the federation service on this server.

  3. Welcome : Sélectionnez "Create the first federation server in a federation server farm".

  4. Connect to AD DS : Utilisez un compte administrateur du domaine.

  5. Specify Service Properties :

    • SSL Certificate : Sélectionnez votre certificat (ex: iam.secu07.internal).

    • Federation Service Name : Doit correspondre au nom DNS du certificat (ex: iam.secu07.internal).

    • Federation Service Display Name : "SEC2 SSO Portal".

  6. Specify Service Account : Sélectionnez "Use an existing domain user account" et utilisez le compte secu07\svc_adfs.

  7. Specify Database : Sélectionnez "Create a database on this server using Windows Internal Database".

  8. Validez et cliquez sur Configure.


🔑 Configuration des certificats ADFS

Dans la console AD FS Management :

  1. Allez dans Service -> Certificates.

  2. Vérifiez la présence des certificats :

    • Service communications : Pour le HTTPS.

    • Token-signing : Pour signer les assertions SAML.

    • Token-decrypting : Pour déchiffrer les jetons.


🛡️ Approbation de partie de confiance (Relaying Party Trust)

C'est ici que nous lions ADFS au serveur Extranet (SimpleSAMLphp).

  1. Dans AD FS Management, clic droit sur Relying Party Trusts -> Add Relying Party Trust....

  2. Welcome : Sélectionnez "Claims aware".

  3. Select Data Source : "Enter data about the relying party manually".

  4. Display Name : "Extranet SimpleSAMLphp".

  5. Configure Certificate : (Optionnel pour SAML 2.0 si non chiffré, mais recommandé).

  6. Configure URL : Cochez "Enable support for the SAML 2.0 WebSSO protocol" et entrez l'URL de l'Extranet (ex: https://www.secu07.internal/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp).

  7. Configure Identifiers : Ajoutez l'identifiant de l'entité (ex: https://www.secu07.internal/simplesaml/module.php/saml/sp/metadata.php/default-sp).

  8. Choose Access Control Policy : Sélectionnez "Permit specific group" et ajoutez DL_Extranet.


📊 Règles de transformation des revendications (Issuance Claims)

Pour que SimpleSAMLphp reçoive les informations de l'utilisateur :

  1. Clic droit sur le trust créé -> Edit Claim Issuance Policy....

  2. Add Rule -> "Send LDAP Attributes as Claims".

  3. Claim rule name : "LDAP Attributes".

  4. Attribute store : "Active Directory".

  5. Mapping :

    • SAM-Account-Name -> Name ID

    • E-Mail-Addresses -> E-Mail Address

    • Display-Name -> Common Name

Last updated