For the complete documentation index, see llms.txt. This page is also available as Markdown.

MFA basé sur les certificats sur Fortigate

Objectif

Exiger un certificat utilisateur valide pour les utilisateurs SSL-VPN appartenant à un groupe AD spécifique.

Prérequis

  • Avoir déjà déployé des certificats auprès de vos utilisateurs via ADCS. Si ce n’est pas le cas, suivez Déploiement des certificats utilisateur dans Active Directory.

  • Avoir configuré l’authentification LDAP en fonction de votre Active Directory.

Si vous gérez FortiGate via FortiManager, les étapes et les emplacements peuvent différer. Demandez à un ingénieur le processus FortiManager.

1

Exportez votre certificat d’AC racine ADCS (clé publique uniquement)

Exportez le certificat public de votre AC racine ADCS depuis n’importe quel poste de travail du domaine.

Trouvez-le dans Certificats - Utilisateur actuel → Autorités de certification racines de confiance.

Exportez-le au format .cer / certificat Base-64 (sans clé privée).

2

Importez l’AC racine dans FortiGate

Importez votre certificat racine d’AC dans Système → Certificats → Créer/Importer → Certificat d’AC.

Pour plus de clarté, nous recommandons de renommer le certificat importé (nommé par défaut Ca_Cert_X, où X est un nombre) avec un nom plus parlant. Pour ce faire, ouvrez l’interface en ligne de commande FortiGate et saisissez les commandes suivantes :

config vpn certificate ca
rename Ca_Cert_X to ADCS_Cert

Le certificat devrait alors apparaître sous son nouveau nom.

3

Créez un pair utilisateur (PKI) qui relie le certificat à LDAP

Vous ferez référence à ce pair utilisateur dans votre règle d’authentification SSL-VPN.

Remplacez :

  • ADCS_Cert par le nom de votre AC importée (le renommage ci-dessus).

  • <LDAP_SERVER_NAME> par le nom de l’objet serveur LDAP FortiGate provenant de Utilisateurs et authentification → Serveurs LDAP.

config user peer
    edit pki01
        set ca ADCS_Cert
        set ldap-server <LDAP_SERVER_NAME>
        set ldap-mode principal-name
    next
end
config user peer
    edit pki01
        set ca ADCS_Cert
        set mfa-mode subject-identity
        set mfa-server <LDAP_SERVER_NAME>
    next
end
4

Créez un groupe AD pour les utilisateurs de certificats

Pour faciliter le déploiement du MFA auprès de vos employés, nous recommandons de créer un nouveau groupe Active Directory. Cela vous permettra de migrer progressivement les utilisateurs du groupe "VPN sans certificat" vers le groupe "VPN avec certificat". Créez ce nouveau groupe dans votre domaine Active Directory à l’aide de l’outil "Utilisateurs et ordinateurs Active Directory" outil. Dans l’exemple ci-dessous, nous l’avons nommé "NOMADE_CERT":

5

Créez le groupe d’utilisateurs FortiGate mappé au groupe AD

Créez un nouveau groupe d’utilisateurs dans Utilisateurs et authentification → Groupes d’utilisateurs.

Définissez :

  • Serveur distant = votre objet LDAP

  • Nom du groupe = NOMADE_CERT (ou le groupe AD de votre choix)

6

Associez le groupe d’utilisateurs à votre portail SSL-VPN

Dans Paramètres SSL-VPN, associez le nouveau groupe au portail souhaité.

Rouvrez le CLI FortiGate et saisissez la commande suivante :

conf vpn ssl settings
conf authentication-rule
show

La liste des associations existantes devrait alors s’afficher, comme dans l’exemple ci-dessous :

Vous devez maintenant identifier l’association nouvellement créée. Dans cet exemple, il s’agit du numéro 4, associé au groupe NOMADE_CERT.

Entrez les commandes suivantes (remplacez 4 par votre ID d’association) :

edit 4
set client-cert enable
set user-peer pki01
end
show

Vous devriez alors voir la liste mise à jour des associations :

Les utilisateurs du domaine AD appartenant à NOMADE_CERT doivent désormais présenter un certificat utilisateur valide pour se connecter.

7

Test depuis FortiClient

Sur une station de travail jointe au domaine, mettez à jour le profil VPN FortiClient :

Sélectionnez le certificat associé à votre utilisateur (ici "stoik_test") dans le champ "Certificat client" :

Dépannage des problèmes d’authentification

Les commandes suivantes vous permettront d’afficher les journaux de débogage pour LDAP et, de manière générale, pour les processus d’authentification (les commandes doivent être saisies dans le CLI FortiGate, et la session doit rester ouverte) :

diagnose debug enable
diagnose debug application fnbamd -1
diagnose debug application authd -1
diagnose debug application ldap -1

Si les commandes ci-dessus ne permettent pas d’identifier le problème (informations incorrectes dans le certificat, serveur LDAP injoignable, etc.), il peut être utile d’activer le journal de débogage SSL VPN :

diagnose debug app sslvpn -1
diagnose vpn ssl debug-filter src-addr4 XXX.XXX.XXX.XXX

Pour limiter la quantité de journaux affichés, remplacez XXX.XXX.XXX.XXX ci-dessus par l’adresse IP source à l’origine de la connexion VPN.

Une fois le débogage terminé, vous devez désactiver le mode de débogage :

Veuillez noter que cette procédure peut être assez complexe, car elle nécessite d’être simultanément connecté au FortiGate et en mesure de lancer FortiClient. N’hésitez pas à contacter nos experts si nécessaire.

Ce contenu vous a-t-il été utile ?