Mettre en place une authentification Multi-Facteurs s'appuyant sur des certificats sur Fortigate

Prérequis :

  • Avoir déjà déployé des certificats auprès de vos utilisateurs via l'ADCS. Le cas contraire merci de suivre les instructions dans l'article suivant.
  • Avoir configuré une authentification LDAP s'appuyant sur votre Active Directory

Il est à noter que les étapes peuvent légèrement varier si vous utilisez un FortiManager. Auquel cas nous vous invitons à vous rapprocher de nos experts.

Exporter la clé publique du certificat racine de votre CA ADCS depuis n'importe quel poste du domaine. Le certificat doit se trouver dans "Certificats - Utilisateur actuel" -> "Autorités de certification racine". Rapportez-vous aux instructions de l'article cité en début de page pour retrouver le nom du certificat :

Importer le certificat racine de votre CA  sur votre Fortigate via l'onglet "System" -> "Certificates" puis "Create/Import" -> "CA Certificate" :

 

Pour plus de clarté, nous vous invitons à modifier le nom du certificat ainsi importé (par défaut sous le nom Ca_Cert_X où X est un chiffre) vers un nom plus parlant. Pour cela, ouvrez l'invité de commande Fortigate et tapez les commandes suivantes :

config vpn certificate ca
rename Ca_Cert_X to ADCS_Cert

Le certificat doit alors apparaitre sous son nouveau nom :

Il est alors nécessaire de configurer un user peer via les commandes suivantes. Pensez à remplacez XXXXX par le nom de la configuration LDAP présente dans votre Fortigate, celle-ci se trouve dans l'onglet "User & Authentication" -> "LDAP Servers" .  :

conf user peer
edit pki01set ca ADCS_Certificate
set ldap-server XXXXX
set ldap-mode principal-name
end

 

Pour faciliter le déploiement du MFA au sein de vos collaborateurs, nous vous invitons à créer un nouveau groupe Active Directory. Vous pourrez ainsi migrer progressivement les utilisateurs depuis le groupe "VPN sans certificat" vers le groupe "VPN avec certificat". Créez ce nouveau groupe dans votre domaine Active Directory depuis l'outil "Utilisateurs et ordinateurs Active Directory". Nous l'avons nommé "NOMADE_CERT" dans l'exemple ci-dessous :

Retourner sur l'interface d'administration de votre VPN et ajouter un nouveau "User Group" depuis l'onglet "User & Authentication" -> "User Groups". Configurez ce "User Groupe" avec votre connexion LDAP (Remote Server) et le groupe AD (Group Name) que vous venez de créer :

Dirigez-vous alors sur la page "SSL-VPN Settings" et mappez ce nouveau User Group à votre portail VPN :

Ouvrez à nouveau le CLI Fortigate et tapez la commande suivante :

conf vpn ssl settings
conf authentication-rule
show

La liste des mappings existants devrait alors être affichée, comme sur l'exemple ci-dessous :

Il vous faut alors trouver le mapping nouvellement créé. Ici c'est le numéro 4, associé au groupe "NOMADE-CERT". Tapez alors les commandes suivantes (le chiffre 4 sera à remplacer par celui correspondant à votre nouveau mapping) :

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

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

Les utilisateurs du domaine AD présent dans le groupe "NOMADE-CERT" devront alors disposer d'un certificat utilisateur valide pour se connecter au VPN.

Vous pourrez alors tester votre nouvelle connexion par certificat en modifiant la configuration d'un Forticlient installé sur un poste joint au domaine :

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

En cas de problème rencontré, n'hésitez pas à vous rapprocher de nos experts cyber.