Nessus como ferramenta para verificação de vulnerabilidades (Debian)

Publicado por Marcelo Ferreira em 31/10/2009

[ Hits: 16.158 ]

 


Nessus como ferramenta para verificação de vulnerabilidades (Debian)



1- Introdução
Neste tutorial vou descrever como criar uma solução de verificação de vulnerabilidades em servidores, roteadores, switchs, sistema operacional Microsoft Windows, sistema operacional FreeBSD, entre outros.

Devido ao custo elevado de soluções proprietárias que realizam a verificação de vulnerabilidades e a criação de relatórios de forma automática (html), estarei explicando de forma simples como instalar, configurar e automatizar o Nessus. Todo o processo será descrito para um computador com o Linux Debian previamente instalado.

Nessus é uma ferramenta para verificação de vulnerabilidades, em alguns casos durante sua utilização equipamentos podem ficar inoperantes ou lentos devido ao grande número de testes (através de portas) que este aplicativo realiza. Segundo alguns sites ou textos, o computador que for alvo de testes com o Nessus pode até mesmo chegar a travar, requerendo um famoso reboot (reinicialização).

Segundo o wikipedia do Nessus, ele é um programa de verificação de falhas/vulnerabilidades de segurança (portas, vulnerabilidades, exploits). Ele é composto por um cliente e servidor, sendo que o scan propriamente dito é feito pelo servidor. O nessusd (servidor Nessus) faz um port scan ao computador alvo, depois disso vários scripts (escritos em NASL, Nessus Attack Scripting Language) ligam-se a cada porta aberta para verificar problemas de segurança. O Nessus ajuda a identificar e resolver alguns problemas de vulnerabilidades. A parte Servidor executa os testes enquanto a parte cliente permite a configuração e emissão de relatórios.

Instalação dos programas (pacotes) necessários

Os pacotes devem ser instalados conforme abaixo:

# apt-get install nessus nessusd nessus-plugins

Instalação do servidor web que armazenará as páginas de verificação de vulnerabilidades:

# apt-get install apache2

Com isso concluímos a instalação dos pacotes necessários para o funcionamento do Nessus. Vale ressaltar que o Nessus roda como um servidor e alguns de seus plugins podem danificar ou travar algum equipamento ou aplicativo.

Configurações iniciais

Como descrito na introdução, o Nessus é um aplicativo cliente servidor. Precisamos inicializar o Nessus como servidor(nessusd):

# nessusd -D

Para a utilização do Nessus faz-se necessário criar um usuário para logar no nessusd (servidor Nessus), execute o comando abaixo como root:

# nessus-adduser

O programa irá pedir os dados do novo usuário tais como login, senha, senha em texto plano (padrão) ou encriptada.

Será necessário registrar e atualizar o seu Nessus, acesse o site do Nessus e faça o registro como "HomeFeed". Será enviado para o seu e-mail o código de ativação:

# nessus-fetch --register <código_de_ativação>
# nessus-fetch --check
# nessus-fetch --plugins


Nessus modo texto

O Nessus possui uma interface gráfica muito simples de ser utilizada, o objetivo deste tutorial não é descrever a parte gráfica e sim criar uma estrutura que verifique vulnerabilidades e crie relatórios automaticamente.

O Nessus possui uma estrutura simples de comando conforme descrito abaixo:

nessus <servidor> <porta> <usuario> <senha_do_usuario> <alvos> <resultados>

Onde:
  • Servidor: servidor onde o nessusd está rodando
  • Porta: padrão é 1241
  • Usuário: usuário que criamos no passo anterior
  • senha_do_usuario: senha que criamos no passo anterior
  • Alvos: arquivo contento os IPs ou nome das máquinas a serem scaneadas (separados por vírgulas exemplo: 10.12.4.15, 10.12.4.20)
  • Resultados: arquivo onde serão armazenados os resultados.

Automatizando a execução e criação de relatórios do nessus

Criação de diretórios, execute os comandos como root:

# mkdir /scripts
# mkdir /var/www/nessus
# chown www-data:www-data /var/www/nessus
# chmod 655 /scripts
# chmod 744 /var/www/nessus


Vamos criar um arquivo com os IPs a serem verificados, vamos chamar de /scripts/alvos.txt, utilizando seu editor de texto favorito adicione as seguintes linhas:

<IP1>
<IP2>
<IP3>
<IP4>
<IPn>

Vamos criar um script e chamar de /scripts/nessus.sh, utilizando seu editor de texto favorito adicione as seguintes linhas:

#!/bin/bash
#
MES=`date +%B`
nessus -T html -q 127.0.0.1 1241 <Usuario> <senha_do_usuario> /scripts/alvos.txt /var/www/nessus/resultado${MES}.html -V
chmod 655 /var/www/nessus/resultado${MES}.html
chowh www-data:www-data /var/www/nessus/resultado${MES}.html

Alterar a permissão do arquivo criado, execute o comando como root:

# chmod -R 600 /scripts

Para gerar os relatórios automaticamente, vamos agendar as suas tarefas, execute o seguinte comando como root:

# crontab -e

Adicione as linhas abaixo no crontab (os relatórios serão gerados todo dia 1 a 1 hora da manhã):

0 1 1 * * /scripts/nessus.sh

Para acessar os relatórios mensais (agendados através do cron), acesse através de qualquer browser:

http://seu.enderedo.rede.ip/nessus/

Conclusão

O Nessus realmente conseguiu suprir todas as necessidades de nossa empresa. Afinal testamos algumas soluções proprietárias, mas no final das contas as respostas eram idênticas ou muito próximas ao nessus.

Concluímos que a ferramenta é simples de ser instalada, confiável e livre.

Viva a liberdade...

Outras dicas deste autor

Modelos (templates) de gráficos para o CACTI - parte II (cliente Windows XP)

Scanner Epson Stylus TX200 no Debian/Ubuntu

Configuração do Mozilla e Firefox para acesso ao site da Serpro

Instalação rápida do CACTI (SNMP) no Debian

Integração do CACTI com autenticação LDAP-Linux

Leitura recomendada

PidGin - O novo Gaim

Conhecendo e usando o debdelta

Escutando CDs no XMMS

Tenha um Relógio no seu Google Chrome

Personalizando a interface Web do Nagios

  

Comentários
[1] Comentário enviado por wachter em 31/10/2009 - 12:49h

Mt boa a dica
:)

[2] Comentário enviado por AllanDC em 03/11/2009 - 11:31h

Olá.

Parabéns pela dica, porém, discordo quando você diz que a ferramenta é livre, veja o trecho retirado do site do registro do Nessus:

"A HomeFeed is available for free to individual home users, and cannot be used by organizations or individuals professionally."

Como você viu, o Nessus com registro HomeFeed não pode ser usado em empresas, somente para uso doméstico, se você o está fazendo, está burlando a licença de uso do programa.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts