Sécuriser l’accès ssh à votre serveur Debian 7

1/52/53/54/55/5 (3 votes, moyenne: 3,33 sur 5)
Loading...
S

Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.


Bonjour à tous,

 

Aujourd’hui, on va voir comment sécuriser l’accès ssh à notre serveur Debian 7, car le ssh, c’est quand même un des services les plus critiques de notre serveur.

 

Dans l’ordre des choses on va :

 

  1. Créer un nouvel utilisateur sans les droits root
  2. Changer le port ssh
  3. Interdire l’accès en root
  4. Re-configurer fail2ban pour qu’il surveille le nouveau port
  5. Installer la double authentification avec google authenticator

 

 

Créer un nouvel utilisateur sans les droits root

 

Connectez vous en root et lancez la commande, remplacez chocobo par votre nom d’utilisateur :

adduser chocobo

 

Ensuite, ajoutez l’utilisateur au groupe sudo et installer sudo, remplacez chocobo par votre nom d’utilisateur :

adduser chocobo sudo && apt-get install sudo

 

 

Changer le port ssh

 

Maintenant on va éditer la configuration de ssh

nano /etc/ssh/sshd_config

 

Au début du fichier vous avez la variable port :

Port 22

 

Remplacez 22 par un autre port, par exemple 14956 :

Port 14956

 

Ne fermez pas le fichier

 

Interdire l’accès ssh en root

 

Maintenant, on va interdire l’accès en ssh pour l’utilisateur root, pas de panique, il faudra simplement passer par votre nouvel utilisateur pour vous connecter en root ensuite 😉

Dans la partie authentication, mettez ces paramètres :

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
AllowUsers chocobo

 

Maintenant, sauvegardez le fichier avec Ctrl+O et redémarrez le service ssh :

service ssh restart

 

Re-configurer fail2ban pour qu’il surveille le nouveau port

 

Editez le fichier de configuration de fail2ban :

nano /etc/fail2ban/jail.conf

 

Et changez le port dans la partie [ssh] :

[ssh]
enabled = true
port = 14956
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

 

Maintenant, sauvegardez le fichier avec Ctrl+O et redémarrez votre serveur :

reboot

 

Installer la double authentification avec google authenticator

 

Maintenant, étape optionnelle mais qui rendra votre serveur ssh inviolable, on va installer la double authentification avec google authenticator.

Connectez vous sur votre nouvel utilisateur en ssh et lancez la commande suivante :

sudo apt-get install libqrencode3

 

Ensuite, téléchargez et installer le packet google authenticator :

cd /tmp
 wget http://ftp.fr.debian.org/debian/pool/main/g/google-authenticator/libpam-google-authenticator_20130529-2_amd64.deb
 sudo dpkg -i libpam-google-authenticator*.deb

 

Maintenant, en étant toujours connecter sur votre nouvel utilisateur, lancez la commande suivante :

google-authenticator

 

Suivez les instructions et répondez oui à chaque fois

Photographiez le QR code avec votre téléphone, et SURTOUT gardez bien les codes de secours :

Your emergency scratch codes are:
 13809037
 38309694
 54378734
 23727466
 99489495

 

 

Maintenant éditez le fichier de configuration de pam pour ssh et rajoutez cette ligne à la fin :

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

 

Et éditez le fichier de configuration du serveur ssh :

nano /etc/ssh/sshd_config

 

Et mettez la ligne suivante àYES :

ChallengeResponseAuthentication yes

 

Redémarrez votre serveur :

reboot

 

 

Maintenant, lorsque vous allez vous re-connecter il demandera votre code :

login as: root
Password:
Using keyboard-interactive authentication.
Verification code:
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3+deb7u2 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Jun 10 14:30:13 2014
root@debian:~#

 

Maintenant, désinstallez l’application SUDO :

apt-get remove sudo

 

Et voilà, avec ça votre accès ssh n’a rien a craindre 😉

 

A propos de l'auteur

Nicolas Simond

Ingénieur Systèmes et Réseaux et guitariste hard rock et metal à mes heures perdues.
Je suis le créateur et l'unique rédacteur d'Abyss Project, c'est ici que je note la plupart de mes procédures et quelques divagations.

Si vous l'article vous a aidé, pensez à me payer un café :)

Subscribe
Notify of
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

4 Commentaires
Plus récents
Plus anciens Populaires
Inline Feedbacks
View all comments
Dorian
9 années plus tôt

bonsoir,

un peux novice dans cette branche 🙂 je configure mon vps-ovh sous debian 7
je ne comprend pas trop l’intérêt de sudo si on le désinstalle ensuite et surtout si l’on peut a tout moment faire un su?

bobe
bobe
9 années plus tôt

Salut,

C’est quoi l’intérêt du google_authenticator comparé à une paire de clés ?