SSH securiser

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Durcissement du serveur SSH
Fichier /etc/ssh/sshd_config
Voir aussi SSH sans root · Fail2ban · Port knocking

Options de durcissement du serveur SSH, à positionner dans /etc/ssh/sshd_config.

Options de base

Protocol 2                     # forcer SSHv2
AllowUsers root vivek jerry    # liste blanche d'utilisateurs
DenyUsers saroj anjali foo     # liste noire d'utilisateurs
ClientAliveInterval 300        # déconnexion sur inactivité
ClientAliveCountMax 0
IgnoreRhosts yes               # désactiver les .rhosts
HostbasedAuthentication no     # pas d'authentification par host
PermitRootLogin no             # pas de login root direct
Banner /etc/issue              # bannière d'alerte
PermitEmptyPasswords no        # refuser les mots de passe vides

Restreindre l'écoute et les accès

Port 300
ListenAddress 192.168.1.5
ListenAddress 202.54.1.5

AllowUsers root@192.168.2.0/24
AllowGroups admin@server1.office.net
Match Address 10.25.55.0/24

Les directives DenyUsers, AllowUsers, DenyGroups et AllowGroups filtrent finement l'accès. On recommande aussi d'imposer des mots de passe forts, de privilégier l'authentification par clé/certificat et de chrooter le service (via rssh ou ChrootDirectory, voir Chroot SSH).

Options complémentaires

UsePrivilegeSeparation yes     # séparation de privilèges
StrictModes yes                # refuse les permissions dangereuses sur ~/.ssh
VerifyReverseMapping yes       # vérification du reverse DNS
AllowTcpForwarding no          # désactiver le forwarding si inutile
X11Forwarding no
PasswordAuthentication no      # n'autoriser que les clés
PrintLastLog yes               # afficher la dernière connexion

L'emplacement de la bannière se définit avec Banner /etc/ssh/sshd-banner (ou /etc/motd pour le message post-connexion).

Se protéger des attaques par force brute

Compléter la configuration par un dispositif de blocage des tentatives répétées : Fail2ban, DenyHosts, sshguard, ou une détection type BFD. Le Port knocking et fwknop permettent en outre de masquer l'ouverture du port SSH.

Voir aussi