Sécuriser sa connexion SSH.

Rédigé par monptitnuage - - Aucun commentaire
Ce tutoriel est un complément de ma documentation Modifier le port 22 utilisé pour les connexions SSH.

Rappel avant de commencer :
SSH (Secure Shell) est un protocole de communication sécurisé, il permet une connexion distante entre deux machines.
Exemple : votre ordinateur et votre site web
Avec SSH vous pouvez accéder à votre site et le gérez à distance comme s'il était branché à votre ordinateur. Maintenant il est possible de renforcer la sécurité de la connexion en modifiants des paramètres dans le fichier de configuration.

Etape 1 :
Avant de modifier le fichier de configuration, il est important de faire une copie. Utiliser la commande suivante cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old

Etape 2 :
C'est ici que tous se passe. On édite le fichier avec la commande nano /etc/ssh/sshd_config et on effectue les modifications suivantes :
  • Par défaut, le port SSH est en 22, mais il est possible de le modifier en changant la ligne "Port 22" par "Port 2020" par exemple.

  • La connexion à distance peut se faire avec le compte "root" ou bien un compte utilisateur mais afin de restreindre l'accès nous allons interdire la connexion avec le compte "root". Retrouver la ligne suivante et modifier la valeur «yes» par «no».
    Exemple :
    PermitRootLogin yes devient PermitRootLogin no
    Pour les prochaines connexions en SSH il faudra donc utiliser un compte utilisateur puis utiliser la commande «su» pour avoir accès au compte super-utilisateur.

  • Maintenant il est possible d'autoriser qu’un utilisateur précis à se connecter en SSH sur la machine. Ajouter la ligne "AllowUsers" entre les deux lignes suivantes :
    PermitRootLogin no
    AllowUsers xxxxx (A la place des xxxxx en rouge, entrez compte utilisateur existant dont vous souhaitez autoriser la connexion.)
    StrictModes yes

  • Ajout d’un timeout d’inactivité. Il n’est pas prudent de garder une session ouverte indéfiniment, surtout si l’on s’absente un moment. Pour cela, ajouter les deux lignes en rouge comme suit :
    Exemple :
    PermitRootLogin no
    AllowUsers xxxxx
    StrictModes yes
    ClientAliveInterval 600 (déconnexion au bout de 10min d'innactivité)
    ClientAliveCountMax 0 (valeur par défaut)
Etape 2 :
Il ne reste plus qu'à nregistrer les modifications en utilisant la combinaison "Ctrl+X" et en confirmant. Relancez le service SSH à l’aide de la commande "/etc/init.d/ssh restart"


Pour en finir avec la sécurisation du protocole SSH, il est possible de créer une petite alerte pour être informer lorsqu’une connexion est effectuée sur notre machine.
Il faut commencer par se rendre dans le fichier le configuration en utilisant la commande nano /root/.bashrc puis il faut ajouter la ligne suivante :
echo 'Accès Shell Root le ' `date` `who` | mail -s `hostname` Shell Root de `who | cut -d"(" -f2 | cut -d")" -f1` monmail@test.com"

Et voilà, désormais lorsqu’une connexion SSH sera effectuée sur le serveur, un mail nous sera envoyé avec l’heure, la date et le compte utilisé.
Exemple : Acces Shell Root le dimanche 12 janvier 2014, 19:28:05 (UTC+0100) pi pts/1 2014-01-12 19:27 (david)

Webmasteur et rédacteur du blog monptitnuage
Vous pouvez me suivre sur Twitter : @monptitnuage

Écrire un commentaire

Quelle est la dernière lettre du mot rmzuri ?