Universidade Federal do Rio Grande do Sul
Instituto de Informática - PGCC
Gerência de Redes
Profa. Liane Tarouco

 
 


Tutorial: The Nessus Security Scanner


Vinícius da Silveira Serafim

 
     
 

 

Introdução
Características Gerais
Controle de Acesso
Plug-ins
Scanning (varredura)
Relatórios
Plataformas
Distribuição

 

Para obter o arquivo da apresentação em formato PowerPoint (.ppt), envie um e-mail para serafim@inf.ufrgs.br

Introdução

      O Nessus é uma ferramenta muito útil quando utilizado para a realização de gerência pró-ativa de segurança em redes de computadores. Com ela é possível fazer não só um levantamento dos serviços sendo oferecidos na rede, mas também das vulnerabilidades encontradas nestes serviços ou sistemas operacionais.

      São apresentadas neste tutorial as caracteristicas da ferramenta, assim como alguns exemplos de relatórios por ela gerados.

 

Características Gerais

      O Nessus possui uma arquitetura cliente/servidor. O servidor é o responsável por todo o processo de varredura, ficando o cliente apenas com a função de configurar a varredura e acompanhar o seu andamento, recebendo os resultados do servidor e apresentando os resultados do processo.

      Não basta a instalação de um cliente para o estabelecimento de uma conexão com o servidor, pois, uma vez que o Nessus possui recursos para autenticação de usuários.

      Outra característica muito relevante para tornar o Nessus uma ferramenta de uso fácil e prático, é a implementação dos testes de vulnerabilidades serem implementados como plug-ins, ou seja, não necessitando de quaisquer alterações no código do programa em si, fato que ocorria em outras ferramentas do gênero. (ex.: SATAN)

 

Controle de Acesso

      Conforme citado anteriormente, o Nessus fornece dois tipos de autenticação:

  • uso simples de senha: somente o cliente se autentica junto ao servidor, fornecendo um nome de usuário e uma senha. Ambos passam em claro na rede e por isso esse esquema não é seguro.
  • uso de chaves assimétricas: neste esquema, tanto o cliente quanto o servidor são autenticados, umas vez que cada um possui a chave pública correspondente da chave privada do outro.

     Além destes recursos para autenticação, é possível a criação (no servidor) de regras de restrição para cada usuário, ou seja, pode-se ter em uma organização, um único servidor Nessus e como usuários os administradores de rede de cada departamento, mas cada um somente com permissões para varrer a rede sob sua administração.

 

Plug-ins

      Os plug-ins podem ser escritos de duas formas:

  • utilizando a NASL (Nessus Attack Scripting Language): a NASL é uma linguagem de script, implementada no próprio Nessus, que permite a criação e manutenção rápida e fácil dos testes de vulnerabilidade, já que apresenta um nível de abstração bastante grande em relação aos detalhes de comunicação, uso de variáveis, etc. Ainda, não é necessário que qualquer processo de compilação seja executado pelo usuário.
  • utilizando a linguagem C: apesar de tornar a criação/manutenção de testes bem mais complicada e demorada, pode ser utilizado sem maiores problemas.

      Devido às facilidades fornecidas pela NASL, os atuais 564 testes do Nessus são todos escritos com ela.

      Outra facilidade disponibilizada para a atualização dos plugins é o utilitário nessus-update-plugins, ao ser executado, este utilitário acessa o site de distribuição dos Nessus e faz o download e instalação dos novos plug-ins encontrados.

 

Scanning (varredura)

      O Nessus pode realizar a varredura simultânia de um número de alvos limitado apenas pela capacidade do equipamento onde se encontra o servidor.

      Ao realizar a varredura, o Nessus emprega os seguintes métodos:

  • Smart Service Recognition: o Nessus não determina qual o serviço que está sendo oferecido em uma porta do alvo somente pelo número dessa porta, mas tenta fazer uma troca de mensagens para reconhecer o serviço. Dessa forma, por exemplo, se existir um servidor HTTP na porta 21 em um alvo, o Nessus não detectará um servidor FTP, mas sim HTTP.
  • Serviços Duplicados: caso seja encontrado o mesmo serviço em mais de uma porta, todos os testes são realizados em cada porta.
  • Smart Scanning: o Nessus faz uso de resultados de testes já realizados para decidir sobre a execução dos próximos testes. Por exemplo, se um teste apontou que não existe acesso anônimo ao servidor de FTP, todos os testes seguintes que dependem de acesso anônimo não serão realizados, economizando tempo.

Relatórios

      São relatados nos relatórios, os serviços encontrados em cada máquina varrida, bem como suas possíveis vulnerabilidades. São oferecidas ainda, para algumas delas, as medidas a serem tomadas para amenizar ou eliminar o risco por elas oferecido.

      Os relatórios podem ainda serem exportados para os seguintes formatos:

Plataformas

      O servidor Nessus só esta disponível para plataformas Unix-like, tal como:

  • Linux
  • FreeBSD
  • Solaris

      Já o cliente é disponibilizado para as seguintes plataformas além das Unix-like:

  • Windows
  • Java

Distribuição

       Os arquivos de distribuição do Nessus, bem como maiores informações, podem ser obtidas no seu site oficial: www.nessus.org