SSH : Configuration Sécurisée

Article publié, le et modifié le
4 minute(s) de lecture

Cet article contient 694 mots.
Source brute de l'article : MD

Description

Après quelques lectures intéressantes, certaines à ce jour dites “vieilles”, je me fais la même réflexion agissante que d’autres de mieux configurer le serveur SSH.
Cela nécessite que votre version du serveur OpenSSH soit supérieure à la version 6.5 !

Configuration

Au choix des fichiers de configuration, il faut absolument reconfigurer le fichier de configuration de votre serveur /etc/ssh/sshd_config, et côté client, le plus simple est de modifier votre fichier de configuration, dans votre home personnel, ~/.ssh/config


Bien sûr, hormis le fait de n’utiliser que la version 2 du protocole, et de ne pas permettre au compte root de se connecter, de désactiver l’authentification par mot de passe, en utilisant l’authentification par clés, veillez aux choses ci-dessous :

HostKey

Config serveur : commentez les déclarations HostKey pour ne garder que celles relatives au chiffrement RSA et ED25519. Puis, toujours sur le serveur, recréez de nouvelles clés, selon les chiffrements RSA et ED25519.

cd /etc/ssh
rm ssh_host_*
ssh-keygen -t ed25519 -f ssh_host_ed25519_key > /dev/null
ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key > /dev/null

Attention : ne mettez pas de passphrases lors de la génération, sinon le serveur ne sera pas capable de les lire…. le fichier /var/log/auth vous le dira, de toute façon !

Sandbox

Attention

Chiffrements

Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com

Astuce

À vérifier au cas par cas… regardez donc le log d’authentification sur votre serveur !

Échange de clés

KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

Message Authentication Codes

MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com

Astuce

Utilisation

Attention

Les configurations suivantes sont à faire côté client, bien sûr !

Mettre-à-jour vos clés

ssh-keygen -o -p -f id_rsa -a 64

  • L’option -f spécifie le fichier de clé privée à utiliser.
  • L’option -o est celle qui utilise le durcissement PKBDF.
  • et pour finir, l’option -a définit le nombre de tours “de moulinettes” que va effectuer la génération.
Info

Nouvelles clés

Nouvelle clé ED25519

Info

ssh-keygen -t ed25519 -f fichier_id -a nb_tours

Tel que, par exemple :

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -a 64

Nouvelle clé RSA

ssh-keygen -t rsa -b nb_bits -f fichier_id -o -a nb_tours

Tel que, pour l’exemple :

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -o -a 64

Astuces

Si vous avez paramétré l’option LoginGraceTime, pensez à augmenter sa valeur, sinon vous aurez le droit à ne pas pouvoir vous connecter, sans aucun message d’erreur dans le log d’authentification.

En effet, selon le nombre de tours que vous avez paramétrés pour la génération de votre clé, ou sa mise-à-jour, le déchiffrement et la réponse du serveur prendra plus de temps, peut-être plus que le temps d’ouverture, de la fenêtre de connexion, autorisé.

Je mets à disposition mon script shell de génération de clés, basé sur lesdites informations…

Documentations