Gostaria de verificar a nossa rede (IPv4 e IPv6) para o ssh e encontrar as opções de autenticação oferecidas.
Por fim, gostaria de ter uma lista analisável [1] de hosts que contenha as seguintes informações:
- IP
[IPv4|IPv6]
-address
- Opcional: FQDN no momento da verificação
- Porta
- Oferece autenticação de chave pública
[YES|NO]
- Oferece outras opções
[YES|NO]
- é SSHv1
[YES|NO]
- Versão SSH (o banner)
Na verdade, não me preocupo com o formato de entrada que eu poderia gerar, uma solução ideal aceitaria o seguinte:
- CIDR
- registros DNS
- Endereços IPv4 / IPv6
em um arquivo separado por novas linhas. Eu olhei no nmap e é nse engine, o estoque nmap oferece uma varredura para sshv1 mas não para opções de autenticação. Desde que minhas habilidades de lua estão ... em sintonia com David Carradines Habilidades de karatê e habilidades de ator de Chuck Norris Eu não posso escrever essas coisas eu mesmo.
Além disso, não estou definido no nmap, pois é bastante lento (pelo menos para mim) e gostaria de executar essa verificação regularmente para relatar os resultados.
A pergunta é: Quais ferramentas oferecem o material necessário?
[1]: não me importa se é XML, JSON, $ FANCY_REPRESENTATION. Só precisa ser máquina parseable
Como perguntado no comentário:
Eu tenho acesso aos hosts. Eu posso logar e até mesmo sudo :) - Esta é uma verificação de conformidade. Eu posso obter a configuração do servidor e estamos executando o fantoche que deve garantir que a configuração esteja correta. Nós ainda preferimos confiar em um cliente que verifica de fora que não está funcionando, também a vantagem é que eu posso (com varreduras automatizadas) executar para a pessoa responsável pelo host e perguntar por que o gerenciamento de configuração não é correndo como isso já está no lugar. Eu estou falando na ordem de alguns milhares de hosts aqui e foram 12 pessoas na equipe ops, ler através de todas as configurações é ... não é bem o que queremos (e não o que os auditores querem).