Suite Ă la demande de Ricardo, cherchant conseils et posant des questions utiles Ă -propos de la bonne configuration de SSH, je lui avais postĂ© ce mĂ©mo que jâavais Ă©crit, en AoĂ»t 2015 :
Hier, et aujourdâhui, je me suis plongĂ© dans les fichiers README relatives aux diffĂ©rentes versions 6.x et 7.x.
Le premier mĂ©mo confirme ce que jâavais Ă©crit dans lâarticle ci-dessus, le deuxiĂšme article informe dâun avis de sĂ©curitĂ© important !
De la bonne configuration des fichiers de config SSH.
CÎté serveur : fichier de config /etc/ssh/sshd_config ⊠le fichier ssh_config lui sert à obliger les stations qui chercheraient à se connecter
CÎté station : fichier de config ~/.ssh/ssh_config
En résumé :
-
- CÎté client/serveur : utiliser de préférence les modes de chiffrement Ciphers suivant :
- chacha20-poly1305@openssh.com - dÚs la version 6.5, par défaut dans la 6.9
- Ă dĂ©faut, lâun des deux chiffrements suivants : aes128-gcm@openssh.com, aes256-gcm@openssh.com
-
- cÎté client/serveur : utiliser de préférence les modes MAC EtM, :
- de préférence hmac-sha2-512-etm@openssh.com, dÚs que disponible ;
- à défaut les modes suivants : hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256
-
- cÎté client/serveur : utiliser les algorithmes KexAlgorithms suivants : curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
-
- cÎté client/serveur : utiliser le chiffrement ED25519 pour générer vos nouvelles clés, et/ou les mettre à jour ! (pour savoir comment les générer, lire mon premier mémo.)
-
- cĂŽtĂ© client : utiliser lâoption âUseRoaming noâ !
- (à utiliser impérativement pour toutes les versions <= 7.2 - option désactivée définitivement à partir de cette version 7.2)
- -cĂŽtĂ© client : utiliser lâoption âIdentityPersistâ qui dĂ©finit le temps de vie de la clĂ© enregistrĂ©e (en nombre de secondes, ou âtrueâ, pour infini.)
Concernant lâoutil âssh-keygenâ :
- On nâutilise plus les chiffrements DSA, ECDSA : byebye !!!
- On utilise correctement RSA, Ă mimina avec lâoption â-oâ utilisant le durcissement PKBDF, et des clĂ©s minimales de 4096 bits, voire plus - tel que, par exemple :
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -o
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -o -a 64
- Mieux on utilise directement le chiffrement ED25519, avec lâoption â-oâ utilisant le durcissement PKBDF - tel que, par exemple :
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -o -a 64
Pour mĂ©mo, lâoption â-aâ spĂ©cifie le nombre de tours dĂ©sirĂ©s ; si non spĂ©cifiĂ©e, le durcissement PKBDF sera utilisĂ© en faisant 16 tours de chiffrement. La valeur 64 est la recommandation actuelle pour les paranoĂŻaques.
/!\ Attention : plus la clĂ© durcie est crĂ©Ă©e avec un nombre de bits important, et un nombre de tours considĂ©rables, plus le temps de connexion au serveur sera allongĂ© - ce temps est nĂ©cessaire et nĂ©cessitĂ© pour que la machine âdĂ©codeâ votre clĂ© - cela a donc un impact non nĂ©gligeable sur le temps de connexion, et donc sur lâusage dâoption, telle que âLoginGraceTimeâ ⊠la recommandation actuelle est de 60 secondes. Si pour vos besoins, vous avez baissĂ© Ă moins de secondes, il va falloir remonter cette valeur ⊠etc ⊠etc ⊠[b]/![/b]
Ainsi lĂ oĂč avant vous arriviez Ă vous connecter en quelques petites secondes, la probabilitĂ© que ce soit en plusieurs dizaines de secondes est une rĂ©alitĂ© !
- Gestion des connexions SSH avec Home chiffré !
- Gestion du SSH ChrootDirectory âŠ
Ci-joint un script de génération de clés !