Comment puis-je déterminer les MAC, les chiffres, la longueur de clé et les KexAlogrithms pris en charge par mes serveurs ssh?
J'ai besoin de créer une liste pour un audit de sécurité externe. Je cherche quelque chose de similaire à openssl s_client -connect example.com:443 -showcerts
. D'après mes recherches, il ssh
utilise les chiffres par défaut répertoriés dans man sshd_config
. Cependant, j'ai besoin d'une solution que je peux utiliser dans un script et . Je dois me corriger ici: vous pouvez spécifier man sshd_config
qui ne répertorie pas les informations sur la longueur des clésServerKeyBits
dans sshd_config
.
Je suppose que cela ssh -vv localhost &> ssh_connection_specs.out
renvoie les informations dont j'ai besoin, mais je ne sais pas si les chiffres répertoriés sont les chiffres pris en charge par le client ou par le serveur. De plus, je ne sais pas comment exécuter ce non interactif dans un script.
Existe-t-il un moyen pratique d'obtenir SSH
des informations de connexion?
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
comme suggéré par @Jakuje ne fonctionne que sur les hôtes RHEL7, mais pas RHEL6. J'ai fini par utilisernmap --script SSH2-hostkey localhost
etnmap --script ssh-hostkey localhost
ssh -vv
génère les fonctionnalités prises en charge en tant que client vers serveur (ctos) et serveur vers client (stoc). Cependant, il semble que ces résultats soient limités à ce que les deux parties soutiennent, ce qui les rend moins utiles pour un audit de sécurité.Réponses:
Vous manquez quelques points dans votre question:
ServerKeyBits
est une option pour le protocole version 1, que vous avez heureusement désactivée!Les chiffrements, MAC et KexAlgorithms pris en charge sont toujours disponibles en manuel et cela n'a rien de commun avec les longueurs de clé.
Les Chiphers, MAC et KexAlgorithms activés sont ceux qui sont offerts en utilisant la connexion comme vous le faites remarquer. Mais ils peuvent également être obtenus par d'autres moyens, par exemple en utilisant
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
Pour obtenir la longueur de clé de vos clés de serveur, vous pouvez utiliser ssh-keygen:
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
mais vous voudrez probablement aussi les tailles de modules qui sont proposées et utilisées lors de l'échange de clés, mais cela dépend vraiment de la méthode d'échange de clés, mais elle devrait également être lisible à partir de la sortie de débogage
ssh -vvv host
.la source
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
ne fonctionnait que mes hôtes RHEL7, mais pas RHEL6. J'ai fini par utilisernmap --script SSH2-hostkey localhost
etnmap --script ssh-hostkey localhost
Il semble que la réponse sur /superuser//a/1219759/173408 soit également une réponse à votre question. Il tient sur une seule ligne:
Voici la sortie sur une machine Debian 9.4 simple avec la version SSH actuelle:
la source
PORT STATE SERVICE VERSION 22/tcp filtered ssh
avec cette commande - bien que je puisse me connecter à ce même serveur via ssh.1.2.3.4
par l'IP de votre serveur?