Les attaquants utilisent fréquemment des informations d'identification perdues, volées, faibles ou par défaut pour augmenter leurs privilèges après avoir infiltré votre réseau. Bien que l'authentification à deux facteurs puisse réduire considérablement l'infiltration, il existe d'autres moyens d'entrer, tels que les logiciels malveillants. Ce didacticiel montre comment ajouter un rayon à sudo pour Centos 7 et Ubuntu 14.04 pour une authentification à deux facteurs avec le serveur WiKID Strong Authentication. L'utilisation de pam-radius est agréable car elle vous permet d'insérer un serveur radius, tel que Freeradius ou NPS sous Windows, afin que vous puissiez effectuer une autorisation dans votre répertoire, puis une authentification auprès d'un serveur d'authentification à deux facteurs distinct. La gestion de vos utilisateurs dans un répertoire central est une très bonne pratique de sécurité. Notez que puisque nous utilisons RADIUS, cette configuration de base fonctionne pour tous les systèmes 2FA de classe entreprise.
Configurer sudo sur Centos/RHEL pour l'authentification à deux facteurs
Nous allons commencer sur RHEL/Centos 7. Installez les prérequis :
sudo yum -y install make gcc pam pam-devel
Obtenez le dernier code PAM RADIUS (1.4 à ce jour) :
wget ftp://ftp.freeradius.org/pub/radius/pam_radius-x.x.x.tar.gz
Construisez la bibliothèque :
tar -xzvf pam-radius-x.x.x.tar.gz
cd pam-radius-x.x.x
sudo ./configure
sudo make
Copiez la bibliothèque au bon endroit :
cp pam_radius_auth.so /lib/security/
Ou pour 64 bits :
cp pam_radius_auth.so /lib64/security/
Créez le répertoire de configuration et copiez le fichier de configuration sous le nom 'server' :
sudo mkdir /etc/raddb
cp pam_radius_auth.conf /etc/raddb/server
Modifiez /etc/raddb/server et ajoutez l'adresse IP de votre serveur radius et le secret partagé à ce fichier.
# server[:port] shared_secret timeout (s)
127.0.0.1 secret 1
radius_server_IP secret 3
#
# having localhost in your radius configuration is a Good Thing.
(Notez que même si nous voulons éventuellement que le rayon soit dans la boucle, vous pouvez également utiliser votre serveur WiKID comme serveur de rayon, ajouter cette boîte Centos en tant que client réseau sur WiKID, redémarrer WiKID et terminer ou au moins vous pouvez tester de cette façon. C'est toujours une bonne idée de faire quelques petits tests en cours de route, assurez-vous simplement de les supprimer.)
Ensuite, nous devons dire à sudo d'utiliser le rayon. Modifiez le fichier /etc/pam.d/sudo et remplacez "auth include system-auth" par :
auth required pam_radius_auth.so
C'est tout pour la boîte Centos/RHEL 7. La même configuration fonctionne également pour 5 et 6.
Configurer sudo sur Ubuntu pour l'authentification à deux facteurs
La prochaine étape est le serveur Ubuntu 14.04. Tout d'abord, installez pam-radius :
sudo apt-get install libpam-radius-auth
Configurez-le également avec le serveur NPS en modifiant /etc/pam_radius_auth.conf. Pour que ce soit la même chose que ci-dessus :
# server[:port] shared_secret timeout (s)
127.0.0.1 secret 1
radius_server_IP secret 3
#
# having localhost in your radius configuration is a Good Thing.
Modifiez votre fichier /etc/pam.d/sudo et ajoutez la ligne « auth suffisante pam_radius_auth.so » au-dessus de la ligne comm-auth :
auth required pam_env.so readenv=1 user_readenv=0
auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth sufficient pam_radius_auth.so
@include common-auth
@include common-account
@include common-session-noninteractive
C'est pour le serveur Ubuntu.
Désormais, chaque fois qu'un administrateur tente d'utiliser sudo, il doit saisir son mot de passe à usage unique. PAM transmettra le nom d'utilisateur et l'OTP à votre serveur radius ou à votre serveur WiKID pour validation.
L'utilisation de l'authentification à deux facteurs pour les comptes administratifs est un outil puissant pour sécuriser votre réseau. Cela peut même faire partie des exigences PCI DSS.