Duo Authentication Proxy

Configuration Duo Authentication Proxy

Le proxy d’authentification Duo peut être installé sur un hôte physique ou virtuel. Il est recommandé un système avec au moins 1 CPU, 200 Mo d’espace disque et 4 Go de RAM (bien que 1 Go de RAM soit généralement suffisant).

1. Installer le proxy d’authentification Duo

  • Sur Windows
    • Téléchargez le proxy d’authentification le plus récent pour Windows à partir de https://dl.duosecurity.com/duoauthproxy-latest.exe . Notez que le nom de fichier réel reflétera la version, par exemple duoauthproxy-3.2.4.exe
    • Lancez le programme d’installation du proxy d’authentification sur le serveur Windows cible en tant qu’utilisateur doté de droits d’administrateur et suivez les invites à l’écran.

  • Sur Linux
    • Assurez-vous que Perl, Python 2.6 ou 2.7 (y compris les en-têtes de développement et les bibliothèques) et une chaîne d’outils de compilation sont installés. Sur les distributions basées sur RPM les plus récentes – comme Fedora, RedHat Enterprise et CentOS – vous pouvez les installer en exécutant (en tant que root):
      • $ yum install gcc make python-devel libffi-devel perl zlib-devel
    • Sur les systèmes dérivés de Debian, installez ces dépendances en exécutant (en tant que root):
      • $ apt-get install build-essential python-dev libffi-dev perl zlib1g-dev
    • Téléchargez le proxy d’authentification le plus récent pour Unix depuis https://dl.duosecurity.com/duoauthproxy-latest-src.tgz . Selon votre méthode de téléchargement, le nom de fichier réel peut refléter la version, par exemple duoauthproxy-3.2.4-src.tgz.
    • Extrayez les fichiers du proxy d’authentification et créez-le comme suit:
      • $ tar xzf duoauthproxy-latest-src.tg
      • $ cd duoauthproxy-version-src
      • $ make
    • Installez le proxy d’authentification (en tant que root):
      • $ cd duoauthproxy-build
      • $ ./install
    • Suivez les instructions pour terminer l’installation. Le programme d’installation crée un utilisateur pour exécuter le service proxy et un groupe pour posséder le répertoire et les fichiers journaux. Vous pouvez accepter les noms d’utilisateur et de groupe par défaut ou entrer les vôtres.
    • Si vous avez besoin de désinstaller le proxy, exécutez /opt/duoauthproxy/uninstall

2. Fichier de configuration du proxy

Une fois l’installation terminée, nous allons configurer le proxy

Le fichier de configuration du proxy d’authentification Duo est nommé authproxy.cfg et se trouve dans le sous-répertoire conf de l’installation du proxy. Avec les chemins d’installation par défaut, le fichier de configuration du proxy sera situé à :

  • Sur Windows
    • Windows (64 bits) C: \ Program Files (x86) \ Duo Security Authentication Proxy \ conf \ authproxy.cfg
    • Windows (32 bits) C: \ Program Files \ Duo Security Authentication Proxy \ conf \ authproxy.cfg
  • Sur Linux
    • Linux              /opt/duoauthproxy/conf/authproxy.cfg

C’est dans ce fichier qu’on aura à faire toutes les configurations du Duo Proxy. Vous pouvez supprimer le contenu du fichier et commencer avec un fichier vierge.

3. Configurer le proxy pour votre authentificateur principal

Dans cette étape, vous allez configurer l’authentificateur principal du proxy c’est-à-dire le système qui validera les mots de passe existants des utilisateurs. Dans la plupart des cas, cela signifie configurer le proxy pour communiquer avec Active Directory ou RADIUS. Ici nous allons configurer pour que le Proxy prenne en compte Active Directory.

Pour utiliser Active Directory / LDAP comme authentificateur principal, ajoutez une [ad_client] section en haut de votre fichier de configuration. Ajoutez les propriétés suivantes à la section:

OBLIGATOIRE

  • host: Le nom d’hôte ou l’adresse IP de votre contrôleur de domaine.
  • service_account_username : Nom d’utilisateur d’un compte de domaine autorisé à se lier à votre annuaire et à effectuer des recherches. Nous vous recommandons de créer un compte de service disposant d’un accès en lecture seule.
  • service_account_password : Le mot de passe correspondant à service_account_username. Si vous êtes sous Windows et que vous souhaitez crypter ce mot de passe, voir Cryptage des mots de passe dans la documentation complète du proxy d’authentification.
  • search_dn : Nom distinctif LDAP (DN) d’un conteneur Active Directory ou d’une unité d’organisation (OU) contenant tous les utilisateurs que vous souhaitez autoriser à se connecter. Par exemple:search_dn=DC=example,DC=com

OPTIONNEL

  • host_2 : Nom d’hôte ou adresse IP d’un contrôleur de domaine secondaire / de secours. Vous pouvez ajouter des contrôleurs de domaine supplémentaires comme host_3, host_4, etc.
  • security_group_dn : Pour restreindre davantage l’accès, spécifiez le nom distinctif LDAP (DN) d’un groupe de sécurité qui contient les utilisateurs qui doivent pouvoir se connecter en tant que membres directs du groupe. Les groupes imbriqués ne sont pas pris en charge. Les utilisateurs qui ne sont pas des membres directs du groupe spécifié ne passeront pas l’authentification principale.
    • Exemple: security_group_dn=CN=DuoVPNUsers,OU=Groups,DC=example,DC=com
  • À partir de Authentication Proxy v3.2.0, le security_group_dn peut être le DN d’un utilisateur AD primarygroup. Les versions antérieures ne prennent pas en charge les groupes principaux.

Par exemple:

4. Configurez le proxy pour Cisco ISE

Ensuite, nous allons configurer le proxy d’authentification pour qu’il fonctionne avec votre Cisco ISE. Créez une section [radius_server_auto] et ajoutez les propriétés répertoriées ci-dessous. Si vous avez déjà configuré le proxy d’authentification Duo pour une autre application RADIUS Auto, ajoutez un numéro à l’en-tête de section pour le rendre unique, par exemple [radius_server_auto2].

OBLIGATOIRE

  • ikey : Votre clé d’intégration Duo, obtenue à partir de la page de détails de l’application dans le panneau d’administration Duo.
  • skey: Votre clé secrète Duo, obtenue à partir de la page de détails de l’application dans le panneau d’administration Duo. Si vous êtes sous Windows et que vous souhaitez crypter le skey, voir Cryptage des mots de passe dans la documentation complète du proxy d’authentification.
  • api_host : Votre nom d’hôte Duo API (par exemple api-XXXXXXXX.duosecurity.com), obtenu à partir de la page de détails de l’application dans le panneau d’administration Duo.
  • radius_ip_1 : L’adresse IP de votre Cisco ISE. Seuls les clients avec des adresses configurées et des secrets partagés seront autorisés à envoyer des demandes au proxy d’authentification.
  • radius_secret_1 : Un secret à partager entre le proxy et votre Cisco ISE. Si vous êtes sous Windows et que vous souhaitez crypter ce secret, consultez Cryptage des mots de passe dans la documentation complète du proxy d’authentification.
  • Client : Le mécanisme que le proxy d’authentification doit utiliser pour effectuer l’authentification principale. Cela devrait correspondre à une section « client » ailleurs dans le fichier de configuration. Voici les sections client qu’on peut avoir sont les suivantes:
    • ad_client : Utilisez Active Directory pour l’authentification principale. Assurez-vous d’avoir une [ad_client]section configurée.
    • radius_client : Utilisez RADIUS pour l’authentification principale. Assurez-vous d’avoir une [radius_client] section configurée.
    • duo_only_client : N’effectuez pas d’authentification principale. Assurez-vous d’avoir une [duo_only_client]section configurée.
  • Ce paramètre est facultatif si vous n’avez qu’une seule section « client ». Si vous en avez plusieurs, chaque section « serveur » doit spécifier le « client » à utiliser.

OPTIONNEL

  • port : Port sur lequel écouter les demandes d’accès RADIUS entrantes. Si vous avez plusieurs sections de serveur RADIUS, vous devez utiliser un port unique pour chacune. Défaut: 1812
  • failmode : Soit safe ou secure:
    • safe : Dans le cas où le service de Duo ne peut pas être contacté, les tentatives d’authentification des utilisateurs seront autorisées si l’authentification principale réussit. On le met par défaut.
    • secure : Dans le cas où le service de Duo ne peut pas être contacté, toutes les tentatives d’authentification des utilisateurs seront rejetées.
  • radius_ip_2 : L’adresse IP de votre deuxième Cisco ISE, si vous en avez un. Vous pouvez spécifier des périphériques supplémentaires comme radius_ip_3, radius_ip_4, etc.
  • radius_secret_2 : Les secrets partagés avec votre deuxième Cisco ISE, si vous en utilisez un. Vous pouvez spécifier des secrets pour les périphériques supplémentaires comme radius_secret_3, radius_secret_4, etc.

Un fichier de configuration terminé qui utilise Active Directory devrait ressembler à ceci:


Assurez-vous d’enregistrer votre fichier de configuration lorsque vous avez terminé.

5. Démarrez le proxy

  • Sur windows
    • Ouvrez une invite de commande administrateur et exécutez:
      • net start DuoAuthProxy
    • Vous pouvez également ouvrir la console des services Windows (services.msc), localiser « Duo Security Authentication Proxy Service » dans la liste des services et cliquer sur le bouton Démarrer le service.
    • Si le service démarre correctement, la sortie du service proxy d’authentification est écrite dans le fichier authproxy.log , qui se trouve dans le sous-répertoire du journal.
    • Si vous voyez une erreur indiquant que le « service n’a pas pu être démarré », ouvrez l’Observateur d’événements d’application et recherchez une erreur dans la source « DuoAuthProxy ». Le retraçage peut inclure une « ConfigError » qui peut vous aider à trouver la source du problème.
    • Arrêtez et redémarrez le service proxy d’authentification en cliquant sur le bouton Redémarrer le service dans la console des services Windows ou en émettant ces commandes à partir d’une invite de commandes administrateur:
      • net stop DuoAuthProxy & net start DuoAuthProxy
  • Sur linux
    • Ouvrez un shell racine et exécutez:
      • # /opt/duoauthproxy/bin/authproxyctl start
    • Pour vous assurer que le proxy a démarré correctement, exécutez:
      • # /opt/duoauthproxy/bin/authproxyctl status
    • La sortie du service de proxy d’authentification est écrite dans le fichier authproxy.log, qui se trouve dans le sous-répertoire du journal.
    • Pour arrêter et redémarrer le proxy d’authentification, ouvrez un shell racine et exécutez:
      • # /opt/duoauthproxy/bin/authproxyctl restart

Si vous modifiez votre fichier authproxy.cfg après la configuration initiale, vous devrez arrêter et redémarrer le service ou processus Duo Authentication Proxy pour que votre modification prenne effet.


TESTS

Lorsqu’on teste, on peut vérifier la réussite de la connectivité en consultant les logs. Pour tout échec de connexion, les logs peuvent aussi nous aider à identifier le problème afin de les résoudre.

Windows (64 bits) C: \ Program Files (x86) \ Duo Security Authentication Proxy \ log \ authproxy