OpenSSH : installer et paramétrer

Présentation d'OpenSSH

Le SSH (Secure Shell) est un protocole réseau qui permet aux utilisateurs d’établir une connexion sécurisée entre deux ordinateurs. SSH fournit non seulement une connexion cryptée, mais permet également d’envoyer des commandes à l’appareil distant. SSH s’étant progressivement orienté vers une solution propriétaire, OpenSSH est né d’un fork est il est open-source.

Généralement OpenSSH est installé sur toutes les distributions mais il peut arriver que ce ne soit pas le cas.
Dans ce cas, commençons par installer la version serveur.

$ apt-get install openssh-server

Configuration d'OpenSSH

Le service SSH (port 22 par défaut) est certainement l’un des plus attaqués après le service Web (port 80 par défaut). D’ailleurs il n’aura pas fallu plus de 10 minutes après l’installation du serveur avant de voir les premières tentatives d’authentification dans les logs.

$ vi /var/log/auth.log +

May  4 20:49:11 sd-42508 sshd[3569]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.36  user=root
May  4 20:49:12 sd-42508 sshd[3569]: Failed password for root from 116.31.116.36 port 42908 ssh2
May  4 20:49:15 sd-42508 sshd[3569]: Failed password for root from 116.31.116.36 port 42908 ssh2
May  4 20:49:18 sd-42508 sshd[3569]: Failed password for root from 116.31.116.36 port 42908 ssh2
May  4 20:49:19 sd-42508 sshd[3569]: Received disconnect from 116.31.116.36: 11:  [preauth]
May  4 20:49:19 sd-42508 sshd[3569]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.36  user=root
May  4 20:50:15 sd-42508 sshd[3613]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.36  user=root
May  4 20:50:17 sd-42508 sshd[3613]: Failed password for root from 116.31.116.36 port 54262 ssh2
May  4 20:50:19 sd-42508 sshd[3613]: Failed password for root from 116.31.116.36 port 54262 ssh2
May  4 20:50:22 sd-42508 sshd[3613]: Failed password for root from 116.31.116.36 port 54262 ssh2
May  4 20:50:22 sd-42508 sshd[3613]: Received disconnect from 116.31.116.36: 11:  [preauth]
May  4 20:50:22 sd-42508 sshd[3613]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.36  user=root

C’est pourquoi la principale chose à faire est de sécuriser un minimum cet accès SSH en modifiant le port d’écoute utilisé et en interdisant l’accès à l’utilisateur Root.
Voici certaines modifications à apporter dans le fichier /etc/ssh/sshd_config

# What ports, IPs and protocols we listen for
Port 2022
Protocol 2
[...]
# Logging
SyslogFacility AUTH
LogLevel INFO
[...]
# Authentication:
LoginGraceTime 30       # Une connexion SSH de 30 secondes sans authentification entraine la deconnexion
PermitRootLogin no      # Interdire a Root de s'authentifier
AllowUsers petitsurfeur     # Liste des utilisateurs autorises a s'authentifier
[...]
PermitEmptyPasswords no

Rechargez la configuration et pensez à modifier Putty et Fail2ban car l’accès SSH tourne désormais sur ce nouveau port et plus sur le port 22 par défaut. Avant de fermer votre session SSH, pensez à lancer une nouvelle session pour vérifier que cela fonctionne, sinon vous pourriez bien perdre définitivement l’accès au serveur.

$ systemctl reload ssh

Foire aux problèmes

Vous aimerez aussi...