OpenSSH est un logiciel qui permet d’utiliser le protocole SSH pour l’accès à distance sur des machines Linux et le transfert de fichiers de manière sécurisé.
Site officiel du projet : http://www.openbsd.org/openssh/fr/index.html
Voici la configuration détaillée d’un serveur ssh réalisé à l’aide d’OpenSSH (ici en version 6.4) qui se trouve dans le fichier /etc/ssh/sshd_config
Port 22 Protocol 2 SyslogFacility AUTH LogLevel INFO LoginGraceTime 2m PermitRootLogin no StrictModes yes AllowUsers john PermitEmptyPasswords no UsePAM yes X11Forwarding no PrintLastLog yes UsePrivilegeSeparation sandbox
Les directives Port et Protocol sont optionnelles puisque ces valeurs sont celles présentes par défaut.
SyslogFacility et LogLevel permet d’activer les logs d’OpenSSH de façon suffisante pour pouvoir les traiter avec Fail2ban par exemple.
LoginGraceTime indique le temps maximum pour s’identifier avant que la connexion soit coupée. Ici 2 minutes.
PermitRootLogin interdit ici la connexion directe de l’utilisateur root. Même avec le bon mot de passe, vous ne pourrez pas vous connecter en root directement. Il convient d’utiliser un simple utilisateur pour se connecter en ssh puis de passer root ensuite. L’utilisateur doit faire partie du groupe wheel.
# gpasswd -a john wheel
StrictModes permet de vérifier les autorisations des utilisateurs.
AllowUsers indique les utilisateurs ayant le droit de se connecter. Cette directive est à associer à PermitRootLogin. Au final, root ne peut jamais se connecter et seul john le peut même si d’autres utilisateurs sont présents sur la machine.
PermitEmptyPasswords interdit la connexion avec un mot de passe nul.
UsePAM utilise PAM pour vérifier les utilisateurs.
X11Forwarding interdit l’affichage à distance d’un environnement graphique.
PrintLastLog affiche la date, l’heure et l’ip de la dernière connexion juste après la connexion.
UsePrivilegeSeparation permet d’isoler via un processus fils la connexion d’un utilisateur avant de créer un nouveau processus avec les droits de cet utilisateur lorsque celui-ci est bien authentifié.
Vous trouverez sur le site officiel toutes les directives : http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config
N’hésitez pas à commenter !