Je voudrais analyser notre réseau (IPv4 et IPv6) pour ssh et trouver les options d'authentification proposées.
En fin de compte, je voudrais obtenir une liste analysable[1] d'hôtes contenant les informations suivantes :
- Adresse IP
[IPv4|IPv6]
- Facultatif : FQDN au moment de l'analyse
- Port
- Offre d'authentification par clé publique
[OUI|NON]
- Offre d'autres options
[OUI|NON]
- Est en SSHv1
[OUI|NON]
- Version SSH (la bannière)
En réalité, le format d'entrée m'importe peu, je pourrais le générer, une solution optimale accepterait les éléments suivants :
- CIDR
- Enregistrements DNS
- Adresses IPv4/IPv6
dans un fichier séparé par des sauts de ligne. J'ai examiné nmap et son moteur nse, nmap de base propose une analyse pour sshv1 mais pas pour les options d'authentification. Étant donné que mes compétences en lua sont ... en par avec les compétences en Karaté de David Carradine et en tant qu'acteur de Chuck Norris, je ne peux pas écrire ces choses moi-même.
De plus, je ne suis pas fixé sur nmap car c'est plutôt lent (du moins pour moi) et j'aimerais exécuter cette analyse régulièrement pour signaler les résultats.
La question est : Quels outils offrent les fonctionnalités requises ?
[1] : Peu importe si c'est XML, JSON, $FANCY_REPRESENTATION. Cela doit simplement être analysable par machine.
Comme demandé dans le commentaire :
J'ai accès aux hôtes. Je peux me connecter et même utiliser sudo :) -- Il s'agit d'une vérification de conformité. Je peux obtenir la configuration du serveur et nous utilisons Puppet qui devrait garantir que la configuration est correcte. Nous préférons quand même nous reposer sur un client qui vérifie de l'extérieur si tout fonctionne, l'avantage étant que je peux (avec des analyses automatisées) aller vers la personne responsable de l'hôte et demander pourquoi la gestion de la configuration ne fonctionne pas comme prévu. Nous parlons de quelques milliers d'hôtes ici et nous sommes 12 personnes dans l'équipe opérationnelle, passer en revue toutes les configurations... n'est pas vraiment ce que nous voulons (et ce que les auditeurs veulent).