Varredura de SSH para opções de autenticação oferecidas

3

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).

    
por serverhorror 26.11.2013 / 23:24

1 resposta

0

Antes que alguém feche isso acabei criando um roteiro feio:

Ele tem a maioria das informações básicas de que preciso e provavelmente o expandirei para atender às nossas necessidades internas.

$ python scanner.py --help
usage: scanner.py [-h] [--num-cpus NUM_CPUS] [--infile INFILE] [--port PORT]

optional arguments:
  -h, --help           show this help message and exit
  --num-cpus NUM_CPUS  Number of CPUs. Sets the maximum number of parallel
                       tasks.
  --infile INFILE      Input file to read from (Default: stdin).
  --port PORT          Which port shall be scanned! (If you can guess the
                       default you are ueber!)
[INFO/MainProcess] process shutting down
    
por 28.11.2013 / 21:38