Un serveur SSH endurci

Je vous conseille vivement de suivre les recommandations de la page de stribika sur le « Secure Secure Shell », ou « Secure SSH », qui visent à rendre le serveur SSH suffisamment sécurisé pour résister à la NSA, disent-ils…

This article has been translated to English.

Il faut bien sûr adapter ces recommandations à la version d’OpenSSH (ou autre serveur SSH) utilisée, puisque les algorithmes supportés varient d’une version à une autre. Ainsi, j’ai dû adapter la configuration pour la version de OpenSSH présente dans Debian Wheezy, de la manière suivante :

KexAlgorithms diffie-hellman-group-exchange-sha256
HostKey /etc/ssh/ssh_host_rsa_key
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512,hmac-sha2-256,hmac-ripemd160

au lieu de :

KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
HostKey /etc/ssh/ssh_host_ed25519_key HostKey /etc/ssh/ssh_host_rsa_key
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,hmac-ripemd160-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,umac-128@openssh.com

En effet, les algorithmes en gras ci-dessus sont inconnus de cette vieille version de OpenSSH. Je modifierai à nouveau la configuration lorsque je changerai de version ; les informations nécessaires sont dans la page de manuel du fichier sshd_config.

Et si cette sécurité accrue ne suffisait pas à vous convaincre, il y a un bonus : après avoir effectué les changements, j’ai constaté la complète disparition des dizaines de tentatives quotidiennes de connexions frauduleuses sur mon serveur SSH ! Fail2ban va s’ennuyer :-D

La raison à cela semble être que les robots qui attaquent les serveurs n’ont pas été mis à jour depuis quelques temps et qu’ils utilisent des algorithmes dépassés. J’ai ainsi dans mes logs de très nombreuses occurrences des 3 lignes suivantes :

sshd: fatal: Unable to negotiate a key exchange method [preauth]
sshd: fatal: no matching cipher found: client aes128-cbc,blowfish-cbc,3des-cbc server aes256-ctr,aes192-ctr,aes128-ctr [preauth]
sshd: fatal: no matching mac found: client hmac-md5,hmac-sha1 server hmac-sha2-512,hmac-sha2-256,hmac-ripemd160 [preauth]

Petite note finale : pour plus de sûreté, il faut guetter les mises à jour de la page sur GitHub, car cette page est construite collaborativement et se perfectionne au fur et à mesure que l’auteur synthétise les connaissances acquises.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : http://yalis.fr/cms/index.php/trackback/65

Fil des commentaires de ce billet