Configuration de PAM
Configurer un domaine personnalisé
1.Créez un domaine personnalisé pour les utilisateurs qui se connectent via un module PAM.
2.Lors de la configuration du client RADIUS, sélectionnez le domaine personnalisé dans la section Utilisateurs.
Comparaison entre domaine personnalisé et domaine AD actuel Si un domaine personnalisé est sélectionné et que le module PAM envoie « domaine\nom_utilisateur » au serveur ESA RADIUS, un utilisateur portant le nom d’utilisateur « domaine\nom_utilisateur » est créé dans le domaine personnalisé. Si vous sélectionnez Domaine AD actuel ou Domaine AD actuel et domaines approuvés au lieu d’un domaine personnalisé et que le module PAM envoie « domaine\nom_utilisateur » au serveur ESA RADIUS, un utilisateur portant le nom d’utilisateur « nom_utilisateur » sera créé dans le domaine « domaine ». |
Module d’authentification PAM
1.Téléchargez PAM RADIUS tar.gz à partir de https://freeradius.org/sub_projects/
2.Extrayez le package téléchargé en exécutant la commande suivante dans une fenêtre de terminal :
tar xzvf pam_radius-release_2_0_0.tar.gz
3.Générez la bibliothèque .so en exécutant les commandes suivantes dans une fenêtre de terminal :
cd pam_radius-release_2_0_0
./configure
make
Sous Linux, par exemple OpenSuse, en fonction de la sortie de la commande configure, des dépendances peuvent devoir être installées.
sudo zypper install gcc make pam-devel
4.Copier la bibliothèque générée à l’emplacement par défaut des modules PAM
Linux:
cp pam_radius_auth.so /lib/security
OU
cp pam_radius_auth.so /lib64/security
Mac:
cp pam_radius_auth.so /usr/lib/pam
Dans OS X El Capitan et versions ultérieures, cet emplacement est protégé par Protection de l’intégrité du système (System Integrity Protection). Pour utiliser cet emplacement, vous devez désactiver cette fonctionnalité pour la commande copy.
5.Créez un fichier de configuration de serveur nommé server dans /etc/raddb/. Dans celui-ci, tapez les détails du serveur RADIUS sous la forme suivante :
<radius server>:<port> <shared secret> <timeout in seconds>
par exemple
1.1.1.1 test 60
où :
•1.1.1.1 représente l’adresse IP du serveur ESA RADIUS
•test est le secret partagé d’un client RADIUS configuré dans ESA Web Console
•60 est le temps d’attente en secondes pour l’approbation de la notification push
6.Appliquer les autorisations de sécurité appropriées au fichier de configuration
chown root /etc/raddb
chown root /etc/raddb/server
chmod 600 /etc/raddb
chmod 600 /etc/raddb/server
Voir INSTALL pour obtenir des recommandations de sécurité pour le fichier de configuration et USAGE pour les paramètres qui peuvent être transmis à la bibliothèque. Par exemple, vous pouvez utiliser le paramètre « debug » pour identifier les problèmes potentiels.
Intégration du module PAM
Les modules PAM peuvent être incorporés dans différents types de connexions, par exemple, login, sshd, su, sudo, etc. La liste des types de connexions se trouve dans /etc/pam.d/.
•sshd - Connexion à distance à l’aide de SSH
Assurez-vous de définir ChallengeResponseAuthentication sur yes dans /etc/ssh/sshd_config. |
•sudo
•su
•common-auth - OpenSUSE (toutes les authentifications)
•login - OpenSUSE (connexion console)
•authorization - Écran d’ouverture de session macOS
Pour activer l’authentification à 2 facteurs pour l’un des services ci-dessus, ajoutez la ligne suivante au fichier de configuration correspondant dans /etc/pam.d :
auth required pam_radius_auth.so use_first_pass
Dans la commande ci-dessus, pam_radius_auth.so représente le chemin d’accès à un module PAM configuré précédemment, ou simplement « pam_radius_auth.so » dans le cas contraire. use_first_pass fait en sorte que le module PAM ne demande pas de mot de passe à usage unique supplémentaire pour rien, sauf si ESA RADIUS requiert le deuxième facteur. Par exemple, si l’authentification Push est activée pour un utilisateur bénéficiant de la protection par authentification à 2 facteurs, le module PAM attend uniquement l’approbation de la notification Push sans demander à taper un mot de passe à usage unique.
Pour vous assurer que l’authentification à 2 facteurs n’est pas demandée lorsque le premier facteur a échoué, remplacez auth required pam_unix.so par auth requisite pam_unix.so.
Certaines interfaces de connexion, y compris l’écran d’ouverture de session de macOS, ne peuvent pas afficher un champ distinct pour l’authentification à 2 facteurs. Dans de tels cas, seuls les utilisateurs utilisant l’authentification push (push d’application mobile), les utilisateurs n’utilisant pas l’authentification à 2 facteurs ou les utilisateurs dont l’adresse IP est sur liste blanche peuvent se connecter. Pour vous assurer que seule l’authentification push par application mobile est utilisée sans demander de mot de passe à usage unique, même si l’utilisateur a activé des options supplémentaires d’authentification à 2 facteurs, ajoutez client_id=challenge_never à la ligne de configuration :
auth required pam_radius_auth.so use_first_pass client_id=challenge_never
Valeurs disponibles pour client_id :
•challenge_if_possible - L’option par défaut demande toujours un mot de passe à usage unique si l’utilisateur a activé un type de mot de passe à usage unique, même si l’envoi du « push par application mobile » a réussi.
•challenge_always - Demande toujours un mot de passe à usage unique, même si l’envoi du « push par application mobile » a réussi et que l’utilisateur n’a activé aucun type de mot de passe à usage unique. Cette option vous permet toujours de saisir une clé de récupération principale en cas de problème (ceci est recommandé pour les scénarios critiques, par exemple, la connexion SSH à un serveur distant qui n’est pas facilement accessible autrement).
•challenge_if_needed - Ne demande jamais de mot de passe à usage unique si l’envoi du « push par application mobile » a réussi, évitant ainsi un champ ou une demande de mot de passe à usage unique supplémentaire et permettant une connexion plus rapide.
•challenge_never - Ne demande jamais de mot de passe à usage unique.
Sur certaines distributions Linux, il est possible de changer facilement le gestionnaire de connexion. Par exemple, gdm est compatible avec la demande d’informations supplémentaires.