Un serveur SSH bien sécurisé

Je vous ai déjà parlé des guides Mozilla pour aider à bien configurer ses serveurs.

Mes articles concernaient les serveurs Web Nginx et Apache.

Mozilla s’est aussi attelé au serveur le plus répandu sous Unix/Linux : OpenSSH.

Je vous avoue que sans ce guide la configuration est ardue car comment savoir quels algorithmes, méthodes de chiffrement et hashages utiliser ???

 

Selon Mozilla, un serveur moderne devrait ressembler à ça (/etc/ssh/sshd_config) :

# Algorithmes d'échange de clés (sans DSA)
HostKey /etc/ssh/ssh_host_ed25519_key
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
 
# Méthodes de chiffrement (sans SHA1)
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com
 
# Les authentifications ne sont possibles que par clés publiques (attention, la gestion des clés est un lourd travail à prévoir en amont !)
AuthenticationMethods publickey
 
# Augmenter le niveau de log à verbose pour voir plus d'infos dans /var/log/auth.log
LogLevel VERBOSE
 
# Augmenter le niveau de log de SFTP pour voir les accès en lecture et écriture des fichiers.
Subsystem sftp  /usr/lib/ssh/sftp-server -f AUTHPRIV -l INFO
 
# Interdiction des connexions en tant que root (il faut user du su ou du sudo), pour ça aussi, il faut bien préparer le terrain !
PermitRootLogin No
 
# Utiliser le système de bac à sable pour ne pas que les processus soient lancés avec des privilèges trop importants.
UsePrivilegeSeparation sandbox

 

La page Mozilla est ici.

Ca fera l’objet d’une future recette Ansible.

 

 

Sur le même sujet :