GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment sécuriser SSH à l'aide de l'authentification à deux facteurs sur Ubuntu 16.04 LTS

Dans ce didacticiel, nous allons vous montrer comment sécuriser SSH à l'aide de l'authentification à deux facteurs sur Ubuntu 16.04 LTS. Pour ceux d'entre vous qui ne le savaient pas, Sécuriser SSH avec l'authentification à deux facteurs à l'aide La vérification en deux étapes de Google Authenticator (également connue sous le nom d'authentification à deux facteurs, en abrégé TFA) est un processus en deux étapes pour vérifier l'identité d'une entité essayant d'accéder à des services sur un ordinateur ou sur un réseau. l'authentification multifacteur qui peut impliquer un seul des trois facteurs d'authentification (un facteur de connaissance, un facteur de possession et un facteur d'héritage) pour les deux étapes.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo ‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer le SSH sécurisé étape par étape en utilisant l'authentification à deux facteurs sur un serveur Ubuntu 16.04 (Xenial Xerus).

Prérequis

  • Un serveur exécutant l'un des systèmes d'exploitation suivants :Ubuntu 16.04 et toute autre distribution basée sur Debian comme Linux Mint.
  • Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
  • Accès SSH au serveur (ou ouvrez simplement Terminal si vous êtes sur un ordinateur).
  • Un non-root sudo user ou l'accès à l'root user . Nous vous recommandons d'agir en tant qu'non-root sudo user , cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.

Sécuriser SSH à l'aide de l'authentification à deux facteurs sur Ubuntu 16.04 LTS

Étape 1. Tout d'abord, assurez-vous que tous vos packages système sont à jour en exécutant le suivant apt-get commandes dans le terminal.

sudo apt-get update
sudo apt-get upgrade

Étape 2. Installation de Google Authenticator.

Pour installer le package sur Ubuntu, exécutez la commande suivante :

apt-get install libpam-google-authenticator

L'étape suivante consiste à obtenir le code de vérification. C'est une commande très simple pour obtenir le code de vérification et les codes à gratter en répondant simplement à des questions simples du serveur qu'il posera Vous pouvez effectuer cette étape en exécutant la commande suivante :

google-authenticator

Vous serez invité à répondre à quelques questions ; répondez aux deux premières questions par oui (y) :

Do you want authentication tokens to be time-based (y/n) y

Un gros code QR sera généré dans votre terminal. Vous pouvez scanner le code avec l'application d'authentification sur votre téléphone ou tablette Android/iOS/Windows ou entrer le secret clé générée à l'écran.

Des codes à gratter d'urgence seront également générés. Vous pouvez utiliser ces codes pour vous authentifier au cas où vous perdriez votre appareil mobile :

Your emergency scratch codes are:
80461001
68335920
89765548
12485672
11145603

Enregistrez les paramètres d'authentification pour l'utilisateur root en répondant OUI à la question suivante :

Do you want me to update your "/root/.google_authenticator" file (y/n) y

Ensuite, vous pouvez configurer l'authentificateur pour générer des mots de passe à usage unique. Au cours des 30 dernières secondes, tous les mots de passe générés peuvent être utilisés une seule fois. Répondez y pour créer le fichier qui stocke ces paramètres :

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

Vous pouvez utiliser le paramètre suivant si vous rencontrez des problèmes de synchronisation de l'heure sur vos appareils, nous n'utiliserons donc pas cette option :

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) n

Le paramètre suivant empêche les attaques par force brute. Vous n'aurez que trois chances toutes les 30 secondes d'entrer le mot de passe correct :

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

Félicitations ! Vous avez fini de générer votre clé et de l'ajouter à votre client, mais une configuration supplémentaire est nécessaire avant que ces paramètres entrent en vigueur.

L'étape suivante consiste à configurer les paramètres d'authentification dans openSSH. Pour ce faire, ouvrez le "/etc/pam.d/sshd ” fichier et ajoutez la ligne suivante à la fin du fichier :

### nano /etc/pam.d/sshd
auth required pam_google_authenticator.so

Enregistrez les modifications, ouvrez le "/etc/ssh/sshd_config ” et activez l'authentification Challenge-Response :

### nano /etc/ssh/sshd_config
ChallengeResponseAuthentication yes

Enfin, enregistrez le fichier et redémarrez le serveur SSH pour que les modifications prennent effet :

systemctl restart ssh

Félicitations ! Vous avez réussi à sécuriser SSH. Merci d'avoir utilisé ce didacticiel pour sécuriser SSH à l'aide de l'authentification à deux facteurs sur le système Ubuntu 16.04 LTS (Xenial Xerus). Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons vous invite à consulter le site Web officiel de SSH.


Ubuntu
  1. Comment installer et sécuriser Redis sur Ubuntu 18.04 LTS

  2. Comment installer et sécuriser phpMyAdmin sur Ubuntu 18.04 LTS

  3. Comment configurer un serveur VPN à l'aide de Pritunl sur Ubuntu 18.04 LTS

  4. Comment activer le service SSH dans Ubuntu 22.04 LTS

  5. Sécurisez SSH en utilisant l'authentification à deux facteurs sur Ubuntu 16.04

Comment activer ssh sur Ubuntu 20.04 LTS Linux

Comment installer le serveur SSH sur Ubuntu 18.04 LTS

Comment installer le serveur SSH sur Ubuntu 20.04 LTS

Comment configurer l'authentification à deux facteurs sur Ubuntu 20.04 LTS

Comment installer le serveur SSH sur Ubuntu 22.04 LTS

Comment configurer l'authentification basée sur la clé Ssh pour Github en utilisant le fichier ~/.ssh/config ?