Instalando e Configurando o Nessus
Ataliba Teixeira
Publicado em 22/07/2003 ás 09 h38 min
Manter uma rede segura atualmente é um dos grandes problemas enfrentados por todos os administradores do mundo. A disponibilidade dos sistemas, e sua ligação com a grande rede causam uma exposição da estrutura funcional de uma empresa a tudo e todos. E, por este motivo, a preocupação com ataques hackers deve ser cada vez maior.
A alguns anos atrás, esta preocupação não precisava existir, já que a internet não era parte integrande de uma empresa. O problema é, que, hoje, com a inclusão de diversas empresas nesta realidade, a necessidade de segurança cresceu. Esta necessidade se torna muito maior, quando a empresa possui links dedicados e, com isto, um parque de servidores próprios, que devem ser administrados e, auditoriados por um profissional interno.
Uma das formas de saber se seu sistema está seguro ou não, é usar ferramentas que varrem o seu sistema em busca de falhas e as apresentam. Estas ferramentas são chamadas de Scanners de Vulnerabilidades. Um dos mais conhecidos na atualidade, chama-se Nessus, e é gratuito. Aliás, gratuito não, ele é um Software Livre.
O Nessus é mais um dos scanners que apareceram após o SATAN, um scanner muito antigo, e que foi muito utilizado em toda a internet. O Nessus foi criado em 1998, por Reinaud Deraison. O melhor scanner na época era o já citado SATAN, e estava muito desatualizado. O grande trunfo do Nessus é ser dividido em plugins, e para atualizá-lo, você simplesmente terá que atualizar os mesmos.
As vantagens do Nessus são muitas, é software de alta qualidade, e de custo mínimo ( somente o download ), possui vasta documentação na internet, trabalha em paralelo com o Nmap ( outra ótima ferramenta ), e outras coisas mais. O Nessus, é, sem dúvida, uma das melhores ferramentas para auditoriar um sistema existentes na internet hoje.
Este artigo vai dedicar-se principalmente a mostrar como instalar e como configurar o Nessus para trabalhar em servidores Linux e na sua desktop Linux, para executar uma auditoria de toda sua rede.
Instalando o Nessus
Existem duas possibilidade de instalação do Nessus. Uma, é você executar o download dos fontes do programa e executar a instalação do mesmo manualmente. Outra, é executar o download de um script chamado nessus-installer.sh, com ele, executar a instalação do Nessus. Em ambos os casos, você vai ter um sistema funcional. Neste artigo, vou mostrar os dois modos de instalação. Aliás, o uso do nessus-installer.sh, quase inutiliza uma explicação, já que o script por si só, já guia o usuário em sua instalação sem nenhum problema.
Para instalar o nessus, você deve primeiramente ir ao site do programa, que está na seguinte url http://www.nessus.org, e seguir para a parte de downloads, http://www.nessus.org/nessus_2_0.html, onde você vai escolher um mirror para executar o download do script nessus-installer.sh.
Após o download do mesmo, execute o comando su para mudar para o superusuário. Após isto, execute o comando :
# sh nessus-installer.sh
E siga os passos. Eles são muito amigáveis, e não vão lhe causar grandes problemas. Literalmente, o script já contém os pacotes com os fontes do programa, executa a compilação e instalação. Depois, simplesmente cabe a você fazer as configurações pós instalação, que serão explicadas mais adiante.
Para facilitar a vida, criei um pequeno script que faz o download do nessus-installer.sh e o executa. Clique aqui e faça o download.
Bom, o segundo modo, é lógico, executar o download dos fontes do Nessus, e executar a compilação manualmente. Sinceramente, não vejo muita utilidade para isto hoje, mas muitas pessoas preferem ter controle total da instalação. Para executar este tipo de compilação, você vai precisar dos seguintes pacotes :
- nessus-libraries
- libnasl
- nessus-core
- nessus-plugins
Na página em que você encontrou uma lista de locais onde você pode fazer o download do nessus-installer.sh, você também vai encontrar uma lista de locais onde você pode fazer o download destes pacotes. Após possuir os quatro em seu computador ( para este passo não criei nenhum script para facilitar ), iremos iniciar a compilação. A ordem em que será explicada aqui a compilação, é a ordem que deve ser seguida. Caso isto não seja feito, você terá problemas em instalar o programa.
$ su
# tar -xvzf nessus-libraries-x.x.tar.gz
# cd nessus-libraries
# ./configure && make && make install
# tar -xvzf libnasl-x-x.tar.gz
# cd libnasl
# ./configure && make && make install
Nesta parte, cabe uma observação. O Nessus possui uma interface gráfica, em que ele pode ser utilizado no seu gerenciador de janelas favorito. Caso você queira a interface gráfica, executará os comandos de sempre na compilação do pacote nessus-core, configure/make/make install. Agora, caso você não queira uma interface gráfica para o Nessus, você irá executar o comando :
# configure --disable-gtk && make && make install
Mas, continuando a seguir o padrão :
# tar -xvzf nessus-core-x.x.tar.gz
# cd nessus-core
# ./configure && make && make install
# tar -xvzf nessus-plugins-x.x.tar.gz
# cd nessus-plugins
# ./configure && make && make install
Executado isto, simplesmente você já tem seu Nessus rodando sem problemas. Algumas observações que devem ser feitas. Caso a instalação não ache as bibliotecas do nessus, digite ldconfig. Ele atualizará o mapa das bibliotecas instaladas no seu sistema.
Feita a instalação, chega a hora de configurar o Nessus, para que ele possa trabalhar sem problemas.
Configurando e usando o Nessus
O Nessus é um programa dividido em duas partes, um servidor e um cliente. O cliente já possui uma versão para o mundo Windows, mas, o servidor, só possui versões para o mundo Unix. Por este motivo, mesmo que você queira usar o Nessus em um computador com o S.O. Windows, terá que possuir uma máquina Unix, para instalar o servidor. Ao final do artigo explicarei como você pode executar o Nessus a partir de uma máquina com o Windows Instalado.
Primeiramente, como superusuário, você deve adicionar os usuários que irão usar o Nessus. O programa possui um comando para isto, que é o nessus-adduser. Primeiramente, o programa irá lhe pedir o nome de usuário que será utilizado. Vá seguindos os passos, e termine a adição do seu usuário. Um ponto, caso você use senha encriptada ( é recomendado isto ), você deve especificar de quais hosts o seu usuário pode executar o escaneamento do seu sistema. Outro modo interessante, lógico, é filtrar as conexões via firewall ( dê uma olhada em documentações sobre o iptables ).
Logo após, você deve iniciar o seu servidor do Nessus. Para isto, você deve, especificar de qual host o nessus deve receber conexões. A opção para isto é a --listen, veja só o exemplo :
# nessus --listen=127.0.0.1 ou
# nessus -a 127.0.0.1
Após estar com o servidor do Nessus funcionando, podemos iniciar o scan. Há dois modos de fazer isto : com a GUI, interface gráfica do Nessus ( caso você a tenha instalado ) ou pelo modo console, padrão na maioria das instalações. Primeiramente, vou falar sobre como usar o console, já que, é o modo em que faço os scans na maioria das vezes.
Há modos de você automatizar todo o processo de scan. Um dos modos interessante é criar scripts em modo console, usando programação shell. Não vou falar sobre isto aqui, já que não há sentido. Um site interessantíssimo sobre isto é o site do Aurélio. Este grande amigo possui grande documentação sobre shell e filiados.
Mas voltando, para fazer um scan em modo console, você irá executar o seguinte comando :
# nessus [ servidor ] [ porta ] usuario senha [ arquivo_de_hosts ] [ arquivo_de_resultado ]
Ou seja, vamos explicar o comando :
- nessus : nessus é o programa nessus, que irá executar alguma coisa de acordo com os argumentos que você passar na linha de comando.
- servidor : servidor é onde o nessusd está rodando. Caso você tenha colocado no nessusd rodando na sua máquina local, ele será 127.0.0.1, ou seja, a interface lo ( loopback ). No caso de outro ip, por exemplo, 192.168.1.1, o servidor seria este ip.
- porta : o nessus por padrão estará na porta 1241, mas você pode mudar isto. Com o argumento no nessusd -p ou --p , você pode colocar o número de porta que você quiser. Veja só um exemplo, o nessus será colocado para escutar o loopback e, rodar na porta 3001 : nessusd --listen=127.0.0.1 --port=3001 . Você pode executar muitos mais operações de configuração do nessus somente lendo o man do programa : man nessusd.
- usuario : lembra do usuário que você criou mais acima neste tutorial ? bom, é com ele que agora você vai fazer o scan, nesta argumento você colocará o nome de usuário que você criou para acessar o nessusd.
- senha : você pode omitir este argumento, mas você terá que usá-lo de um jeito ou outro. Quando você omite, ele abre um prompt de leitura de senha, para que você entre a senha. No caso, para eliminar mais um passo, a colocação da senha como argumento, é mais interessante. A senha, aí, é a mesma que você colocou acima para o usuário que você está usando.
- arquivo_de_hosts : o arquivo de hosts, é o arquivo de alvos que você irá escanear. Exemplo : quero escanear o foo.com e o foo.com.br. O arquivo de alvos ficaria do seguinte modo :
foo.com
<p>foo.com.br</p> </li>
Ou seja, cada host deve ser colocado em um linha específica. Isto quantos hosts você quiser escanear. Mas lembre-se, caso você tenha uma conexão discada, é bom lembrar que quanto mais hosts sendo escaneados, mais tempo isto vai levar. Talvez seja mais interessante você dividir em vários arquivos de hosts.
arquivo_de_resultados - o arquivo onde vai ser gravado o resultado do seu scan. Por padrão ( neste tutorial ), ele seria arquivo_de_resultados.txt.
Para um exemplo prático, iremos usar o seguinte cenário. O nessusd está ouvindo o ip 127.0.0.1 na porta 3001, tem um usuário cadastrado chamado user com senha usuario, usando um arquivo de alvos alvos.txt e um arquivos de resultados resultado.txt :
# nessus 127.0.0.1 3001 user usuario alvos.txt resultado.txt
Bom, acredito que isto tenha explicado o uso do nessus em modo console.
Atualizando os plugins do Nessus
Para atualizar os plugins do nessus, é muito fácil. Como usuário root, digite no prompt :
# nessus-update-plugins
e para ver o que está acontecendo, ou seja, quais plugins foram instalados, você pode usar o modo verbose :
# nessus-update-plugins -v
Ou seja, como foi falado na introdução, o nessus foi projetado para ser um programa de fácil atualização.
Em um próximo artigo irei explicar como usar o Nessus em modo gráfico. Tal artigo irá demorar um pouco, devido a precisar de muitas figuras para exemplificar seu uso :-)
Referências
- Site do Nessus - http://www.nessus.org
- Linuxsecurity - http://www.linuxsecurity.com
- Linuxsecurity brasileiro - http://www.linuxsecurity.com.br