web-dev-qa-db-fra.com

SSH: Comment désactiver les chiffrements faibles?

L'équipe de sécurité de mon organisation nous a dit de désactiver les chiffrements faibles car ils émettaient des clés faibles.

  arcfour
  arcfour128
  arcfour256

Mais j'ai essayé de rechercher ces chiffres dans les fichiers ssh_config et sshd_config, mais je les ai trouvés commentés.

 grep arcfour *
ssh_config:#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc

Où d'autre devrais-je vérifier pour désactiver ces chiffres de SSH?

53
rɑːdʒɑ

Si vous n'avez pas de liste explicite de chiffres définie dans ssh_config en utilisant le mot clé Ciphers, puis la valeur par défaut, selon man 5 ssh_config (côté client) et man 5 sshd_config (côté serveur), c'est:

            aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
            [email protected],[email protected],
            [email protected],
            aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
            aes256-cbc,arcfour

Notez la présence des quatre chiffres de l'arcfour. Vous devrez donc peut-être définir explicitement une valeur plus restrictive pour Ciphers.

ssh -Q cipher du client vous indiquera les schémas que votre client peut prendre en charge. Notez que cette liste n'est pas affectée par la liste des chiffres spécifiés dans ssh_config. Suppression d'un chiffre de ssh_config ne le supprimera pas de la sortie de ssh -Q cipher. De plus, en utilisant ssh avec le -c L'option pour spécifier explicitement un chiffre remplacera la liste restreinte de chiffres que vous définissez dans ssh_config et éventuellement vous permettre d'utiliser un chiffrement faible. Il s'agit d'une fonctionnalité qui vous permet d'utiliser votre client ssh pour communiquer avec des serveurs SSH obsolètes qui ne prennent pas en charge les nouveaux chiffrements plus puissants.

nmap --script ssh2-enum-algos -sV -p <port> <Host> vous indiquera les schémas pris en charge par votre serveur.

43
Ulrich Schwarz

Pour désactiver RC4 et utiliser des chiffrements sécurisés sur le serveur SSH, codez en dur ce qui suit dans /etc/ssh/sshd_config

ciphers [email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr

OU si vous préférez ne pas dicter de chiffres mais souhaitez simplement supprimer les chiffres non sécurisés, exécutez-les à la place sur la ligne de commande (en mode Sudo):

sshd -T | grep ciphers | sed -e "s/\(3des-cbc\|aes128-cbc\|aes192-cbc\|aes256-cbc\|arcfour\|arcfour128\|arcfour256\|blowfish-cbc\|cast128-cbc\|[email protected]\)\,\?//g" >> /etc/ssh/sshd_config

Vous pouvez vérifier les chiffres actuellement utilisés par votre serveur avec:

Sudo sshd -T | grep ciphers | Perl -pe 's/,/\n/g' | sort -u

Assurez-vous que votre client ssh peut utiliser ces chiffres, exécutez

ssh -Q cipher | sort -u

pour voir la liste.

Vous pouvez également demander à votre client SSH de négocier uniquement des chiffrements sécurisés avec des serveurs distants. Dans /etc/ssh/ssh_config ensemble:

Host *
    ciphers [email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr

Les extraits ci-dessus proviennent de ici
Pour tester les paramètres de votre serveur, vous pouvez utiliser ssh-audit

32
savageBum

Le problème avec la spécification explicite d'une liste de chiffrement est que vous devez ajouter manuellement de nouveaux chiffres à mesure qu'ils sortent. Au lieu de cela, listez simplement les chiffres que vous souhaitez supprimer, en ajoutant la liste (pas chaque chiffre individuel) avec un caractère "-". Donc, dans ce cas, la ligne Ciphers devrait se lire:

Ciphers -arcfour*

Ou si vous préférez:

Ciphers -arcfour,arcfour128,arcfour256

Depuis la page de manuel sshd_config sur l'option Ciphers (depuis OpenSSH 7.5, publié le 20/03/2017):

Si la valeur spécifiée commence par un caractère "+", les chiffres spécifiés seront ajoutés à l'ensemble par défaut au lieu de les remplacer. Si la valeur spécifiée commence par un caractère "-", les chiffres spécifiés (y compris les caractères génériques) seront supprimés de l'ensemble par défaut au lieu de les remplacer.

Cela s'applique également aux options KexAlgorithms et MACs.

24
Spacedog

Comment désactiver un chiffrement ssh faible, 100% de travail testé sur Fedora 29. Le problème: Nessus rapporte que mon serveur samba4 utilise des chiffrements non forts aes256-cbc et aes128-cbc. J'ai donc mis ces lignes dans /etc/ssh/sshd_config

MACs hmac-sha2-512,hmac-sha2-256
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
KexAlgorithms diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,curve25519-sha256,[email protected]

Et voilà! .. il utilise toujours le chiffrement cbc car cette commande fonctionne :(

ssh -c aes256-cbc samba4

Je vérifie donc le systemd utile et je découvre que le service sshd utilise un autre fichier pour les chiffres

/etc/crypto-policies/back-ends/opensshserver.config

Sauvegardez le fichier pour plus de sécurité

cp /etc/crypto-policies/back-ends/opensshserver.config     /etc/crypto-policies/back-ends/opensshserver.config.old

Modifiez-le et supprimez le chiffrement cbc. Redémarrez le service

systemctl restart sshd

Et enfin tester, fonctionne très bien..cbc désactivé.

ssh -c aes256-cbc samba4
Unable to negotiate with 192.168.0.48 port 22: no matching cipher found. Their offer: [email protected],[email protected],aes256-ctr,[email protected],aes128-ctr
2
elbarna

activer/désactiver le chiffrement besoin de l'ajouter/le supprimer dans le fichier/etc/ssh/sshd_config Après avoir édité ce fichier, le service doit être rechargé

systemctl reload sshd
/etc/init.d/sshd reload

Ensuite, l'exécution de cette commande à partir du client vous indiquera les schémas pris en charge

ssh -Q cipher

Pour vérifier si le chiffrement arcfour est activé ou non sur le serveur, exécutez cette commande

ssh localhost -c arcfour

Pour vérifier si le chiffrement arcfour128 est activé ou non sur le serveur, exécutez cette commande

ssh localhost -c arcfour128
2
Kumar