Configurer les facteurs d'authentification de connexion SSH dans CentOS 7

La sécurité est l'un des bastions de CentOS 7 et on aime administrateurs ou le personnel informatique qui gère ce type de machines doit s'assurer que ces niveaux de sécurité s'améliorent chaque jour car ce qui est en danger, ce sont les informations des utilisateurs. Il existe diverses mesures de sécurité que nous pouvons mettre en œuvre dans CentOS 7 Et l'un des principaux, sur lequel nous allons nous concentrer, est l'authentification.

Un facteur de authentification C'est une méthode qui détermine qu'un utilisateur a les autorisations pour effectuer une action au sein du système comme le démarrage d'une session ou l'installation d'une application, cela est essentiel car cela nous permet d'avoir un contrôle centralisé sur chaque événement qui se produit dans le système Il y a quelques composants fondamentaux dans le processus d'authentification tels que :

Canal d'authentificationC'est ainsi que le système d'authentification fournit un facteur à l'utilisateur afin qu'il démontre son autorisation, par exemple, un ordinateur.

Facteur d'authentificationComme nous l'avons mentionné, c'est la méthode pour montrer que nous avons les droits pour effectuer l'action, par exemple, un mot de passe.

On sait que SSH utilise des mots de passe prédéfinis, mais c'est un facteur d'authentification et il est important d'ajouter un canal car un le mot de passe entre de mauvaises mains met en danger toute l'intégrité de l'opération. Cette fois, nous parlerons et analyserons comment implémenter plusieurs facteurs d'authentification, connus en tant que MAE, car ceux-ci augmentent notablement la sécurité d'accès en exigeant non pas un, mais plusieurs paramètres d'authentification pour se connecter correctement.
Il existe différents facteurs d'authentification tels que :

  • Mots de passe et questions de sécurité.
  • Jeton de sécurité.
  • Voix ou empreinte digitale numérique.
Avec ces concepts, nous allons commencer le processus de configuration de plusieurs facteurs d'authentification dans CentOS 7.

1. Comment installer Google PAM


PAM (Module d'authentification enfichable) est essentiellement une infrastructure d'authentification pour les utilisateurs d'environnements Linux. Ce PAM génère TOTP (Time-based One-time Password) et est compatible avec les applications OATH-TOTP telles que Google Authenticator.

Étape 1
Pour installer PAM sur CentOS 7 il faudra d'abord installer le référentiel EPEL (Extra Packages for Enterprise Linux), pour cela nous utiliserons la ligne suivante. Nous acceptons le téléchargement et l'installation respective des packages.

 sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

AGRANDIR

Étape 2
Une fois le référentiel EPEL installé, nous installerons PAM dans CentOS 7 en utilisant la ligne suivante :

 sudo yum installer google-authenticator

AGRANDIR

Étape 3
Si c'est la première fois que nous utilisons ce référentiel, nous devons accepter l'utilisation du mot de passe de EPEL mais ne sera plus demandé, dans cette ligne, nous entrons le des lettres:

AGRANDIR

Nous pouvons voir que l'installation a réussi. nous avons installé PAM Dans CentOS 7, nous utiliserons l'aide de l'utilitaire pour générer le TOPT pour l'utilisateur auquel un deuxième facteur d'authentification sera ajouté. Il est important de préciser que cette la clé doit être générée par l'utilisateur mais pas au niveau du système puisque chaque accès est personnel.

2. Comment utiliser Google PAM


Maintenant, nous allons voir comment exécuter et utiliser PAM de Google.

Étape 1
Dans cet esprit, nous procédons à démarrer google-authenticator à l'aide de la commande suivante :

 google-authentificateur
La fenêtre suivante s'affichera où nous obtenons le message si les jetons de sécurité seront basés sur le temps, nous entrons Y :

AGRANDIR

Étape 2
PAM gère deux types de jetons, basés sur le temps ou séquentiels, les séquentiels permettent au code de commencer à un point puis d'augmenter à chaque utilisation. Le jeton basé sur le temps permet au code d'être modifié de manière aléatoire après un temps spécifié. Au appuyez sur Y, nous verrons la suite.

Nous voyons un QR Code lequel nous pouvons scanner avec notre téléphone ou notez la clé secrète juste en dessous. De la même manière on peut voir le code de vérification (6 chiffres) qui change toutes les 30 secondes.

AGRANDIR

NoterIl est vital que sauvegardons tous les codes déployé en lieu sûr.

Étape 3
Dans la question que l'on voit en fin de ligne, cela indique que les clés seront écrites et que le fichier sera mis à jour. google-authentificateurSi nous entrons la lettre n, le programme sera fermé et l'application ne fonctionnera pas.
Nous entrons dans la lettre Oui, ce qui suit s'affichera :

AGRANDIR

Étape 4
Cette question porte sur la question de savoir si nous acceptons nous évitons un échec répétition qui fait expirer chaque code après avoir été utilisé, cette option empêche les étrangers de capturer ces codes pour un accès non autorisé. En appuyant sur et nous verrons ceci :

AGRANDIR

Étape 5
Si nous répondons si à cette question nous autorisons par contre avec jusqu'à 8 codes valides avec une fenêtre de quatre minutes, si nous répondons, nous n'aurons pas que 3 codes valides avec une fenêtre d'une minute et demie. Là, nous sélectionnons le option la plus appropriée étant le plus sûr. Nous verrons encore la suite.

Cette question fait référence à la limitation des tentatives auquel un attaquant peut accéder avant d'être bloqué, le maximum est de 3 tentatives. Cliquer sur Oui, nous avons donc configuré google-authenticator dans CentOS 7.

AGRANDIR

3. Comment configurer OpenSSH sur CentOS 7


À ce stade, nous allons créer un deuxième Connexion SSH pour effectuer les tests car si nous bloquons le seul accès SSH nous aurons des difficultés à configurer les paramètres.

Étape 1
Pour modifier ces valeurs, nous accéderons au fichier sshd à l'aide de l'éditeur préféré, nous entrerons ce qui suit :

 sudo nano /etc/pam.d/sshd

AGRANDIR

Étape 2
A la fin du fichier nous ajouterons la ligne suivante :

 authentification requise pam_google_authenticator.so nullok

AGRANDIR

Étape 3
Nous gardons le fichier à l'aide de la combinaison de touches :

Ctrl + O

Oui nous sommes sortis du même en utilisant la combinaison :

Ctrl + X

Étape 3
Le terme nullok indique à PAM que ce facteur d'authentification est facultatif, permettant aux utilisateurs sans OATH-TOTP d'accéder à l'aide de leur clé SSH. À présent nous allons configurer sshd Pour autoriser ce type d'authentification, nous saisirons pour cela la ligne suivante :

 sudo nano / etc / ssh / sshd_config

AGRANDIR

Étape 4

  • nous localiserons la ligne suivante :
 ChallengeRéponseAuthentification
  • nous allons décommenter la ligne:
 ChallengeResponseAuthentication oui
  • Nous commenterons sur la ligne :
 ChallengeResponseAuthentication non

AGRANDIR

Étape 4
Nous sauvegardons les modifications en utilisant Ctrl + OU ALORS. et nous redémarrons le service en utilisant la ligne suivante :

 sudo systemctl redémarrer sshd.service
Étape 5
Pouvons valider connectivité accédant depuis un autre terminal :

4. Comment activer SSH pour gérer MFA dans CentOS 7

Étape 1
Pour cela, nous accédons à nouveau au fichier sshd.config et dans la dernière partie du fichier, nous ajouterons la ligne suivante :

 AuthenticationMethods publickey, mot de passe publickey, keyboard-interactive 

AGRANDIR

Étape 2
Nous sauvegardons les modifications en utilisant Ctrl + OU ALORS puis nous accéderons au fichier PAM sshd en utilisant la ligne suivante :

 sudo nano /etc/pam.d/sshd
Étape 3

Là, nous localiserons la ligne auth substack mot de passe-auth et nous le commenterons (#) afin que PAM n'exige pas le mot de passe pour l'accès par SSH :

AGRANDIR

Étape 4
Nous gardons les changements. On redémarre le service à l'aide de la commande :

 sudo systemctl redémarrer sshd.service

5. Comment ajouter un troisième facteur d'authentification dans CentOS 7

Étape 1
Nous avons pu constater que les facteurs d'authentification suivants ont été ajoutés :

 clé publique (clé SSH) mot de passe clé publique (mot de passe) keyboard-interactive (code de vérification)
Étape 2
Si nous essayons de nous connecter, nous ne verrons que la clé SSH et le code de vérification actifs, pour activer le mot de passe, il suffit d'accéder à nouveau à la route sudo nano /etc/pam.d/sshd et là décommenter la ligne
 auth substack mot de passe-auth.
Étape 3
Nous sauvegardons les modifications et nous allons redémarrer le service en utilisant sudo
 systemctl redémarrer sshd.service 
Comme nous le voyons, plus nous gérons de niveaux de sécurité dans CentOS 7, plus nous aurons la possibilité d'avoir un système stable et fiable pour tous les utilisateurs. Pour continuer à vous renseigner sur la sécurité de votre système, consultez comment configurer, activer ou désactiver le pare-feu dans CentOS 7.

Pare-feu CentOS7

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave