Introdução
Manter seus servidores seguros atualmente não é uma tarefa nem um pouco fácil. Centenas de vulnerabilidades são descobertas todos os dias e nem sempre é possível verificar todas. Como você pode fazer para verificar todas as vulnerabilidades ou erros de configuração (que afetem a segurança) dos seus softwares de um jeito fácil?
Nesta situação o OpenVAS se encaixa como uma luva.
O que é o OpenVAS?
O OpenVAS (Open Vulnerability Assessment System) é um scanner de vulnerabilidades: ele possui um conjunto de scripts que são capazes de testar várias vulnerabilidades de forma automatizada e simples.
Centenas de vulnerabilidades são testadas e, ao final do processo, um relatório é gerado contendo informações que você pode utilizar para corrigir o problema e também indicando links com informações mais completas sobre as falhas encontradas no sistema.
Embora seja um sistema extremamente completo, o OpenVAS é bem simples de instalar e utilizar. Neste artigo te ensinarei a instalar o servidor e o cliente. Em um próximo texto, irei ensinar a você como realizar seu primeiro scan em servidores.
Download
O site oficial do OpenVAS é o www.openvas.org. Nele você encontra muita documentação e, claro, as versões mais recentes do software.
Quando escrevo este artigo, a versão mais recente do software é a 2.0.1 (considerando o núcleo openvas-server). Para instalar corretamente o OpenVAS e poder utilizar todas as funcionalidades do software você deve baixar os seguintes pacotes (para o servidor):
Faça sempre o download da versão mais recente.
Instalação
A instalação não dá praticamente trabalho nenhum. Em 15 minutos você terá o servidor configurado e pronto para utilização. Porém, é necessário que você siga a ordem certa para que tudo instale corretamente:
Então, vamos lá. Para não espalhar os arquivos do OpenVAS por todo o servidor, eu vou instalar o programa em /opt/openvas. Para isso, sempre que eu executar o ./configure vou colocar a opção –prefix=/opt/openvas. Você pode instalar em qualquer diretório que prefira ou mesmo nem especificar o diretório no qual o software será instalado.
No meu caso, para que o software compilasse corretamente foi necessário instalar os pacotes libpcap, libpcap-devel, gpgme e gpgme-devel.
Para instalar o openvas-libraries:
# tar xzvf openvas-libraries-2.0.2.tar.gz
# cd openvas-libraries-2.0.2
# ./configure –prefix=/opt/openvas
# make
# make install
Ok, as bibliotecas que o OpenVAS precisa já estão instaladas corretamente. Antes de continuar, há duas coisas que você precisa fazer:
O próximo pacote a ser instalado é o openvas-libnasl:
# tar xzvf openvas-libnasl-2.0.1.tar.gz
# cd openvas-libnasl-2.0.1
# ./configure –prefix=/opt/openvas
# make
# make install
Ok! Libnasl instalado corretamente. Vamos instalar agora o openvas-server:
# tar xzvf openvas-server-2.0.1.tar.gz
# cd openvas-server-2.0.1
# ./configure –prefix=/opt/openvas
# make
# make install
Antes de continuar, você deve adicionar o /opt/openvas/sbin ao PATH do sistema.
Agora instalaremos o último pacote, os plugins:
# tar xzvf openvas-plugins-1.0.6.tar.gz
# cd openvas-plugins-1.0.6
# ./configure –prefix=/opt/openvas
# make
# make install
Pronto, o OpenVAS está instalado no seu servidor. Agora vamos configurá-lo, atualizar o banco de dados de plugins e instalar o cliente em uma máquina.
Configurando o OpenVAS
O OpenVAS criptografa todo o conteúdo que é transmitido entre ele e o cliente utilizando SSL. Para que isso funcione corretamente, você vai precisar gerar um certificado no servidor.
Para facilitar as coisas, o OpenVAS já possui um script que faz isso para você. Se você incluiu o diretório /opt/openvas/sbin ao PATH do sistema basta digitar o comando:
# openvas-mkcert
Primeiro, ele irá perguntar a validade do certificado CA. Informe a validade em dias ou aperte enter para utilizar o valor padrão.
Depois, ele irá perguntar a validade do certificado do servidor. Como no passo anterior, informe a validade em dias ou aperte enter para utilizar o valor padrão.
Em seguida, informe BR e aperte enter. Informe seu estado (a string digitada pode conter espaços) e depois sua cidade (que também pode conter espaços no nome).
Logo após, você deverá informar o nome da sua empresa e pressionar enter. O script irá gerar os certificados e informar em qual diretório os guardou. Quando o script finalizar, irá aparecer uma tela para você pressionar enter para finalizar a execução dele. Faça isso e você retornará ao prompt.
Agora vamos adicionar usuários ao OpenVAS. Para isso, execute o comando abaixo:
# openvas-adduser
O script para adição de usuários ao sistema irá inicializar. Você só pode criar um único usuário por vez, o que pode ser um pouco chato se você precisar criar mais de um usuário pois são várias as informações que você precisa fornecer ao script. Vamos a elas:
Depois, basta pressionar y e enter e o usuário estará criado. Para remover um usuário, utilize o comando openvas-rmuser e informe o login que deseja apagar do banco de dados de autenticação.
Agora vamos atualizar os scripts que detectam as vulnerabilidades nos sistemas analisados.
Estes scripts são chamados de NVT’s e atualizações para eles são disponibilizadas através de serviços de feed. Os desenvolvedores do OpenVAS disponibilizam um serviço de feed padrão para atualizar os NVT’s que já são distribuídos com o OpenVAS. Durante a atualização, apenas NVT’s novos e modificados serão baixados para a sua máquina, o que otimiza um pouco o processo.
Para conseguir atualizar os NVT’s você vai precisar do rsync e do md5sum instalados na sua máquina. É bem provavel que eles já estejam nos repositórios da maioria das distribuições atualmente, portanto basta utilizar o seu gerenciador de pacotes preferido para instalá-los.
Para atualizar, execute o comando:
# openvas-nvt-sync
Ele irá demorar um pouco para executar, mas no final todos os seus plugins estarão atualizados e novos NVT’s terão sido adicionados ao seu banco de dados.
Quando o openvas-nvt-sync terminar de executar, você deverá reinicializar o openvasd (o serviço principal do OpenVAS). Para isso, pegue o PID do openvasd que está sendo executado atualmente:
# ps aux | grep openvasd
E mate todos os processos:
# kill < PID’s >
Depois inicie novamente o OpenVASd:
# openvasd &
A primeira inicialiação do OpenVAS é bem demorada pois ele lê e carrega todos os plugins que estão instalados no sistema (e que, geralmente, são em grande quantidade. No meu sistema, por exemplo, existem mais de 11.100 scripts). As inicializações subsequentes são bem mais rápidas.
Na documentação oficial do OpenVAS, os desenvolvedores mostram um script utilizado para automatizar esta tarefa. É bem útil, assim você pode colocar uma entrada no Crontab e fazer com que os NVT’s sejam atualizados automaticamente todos os dias pela manhã. Segue o script:
#!/bin/sh
temp=‘tempfile‘
openvas-nvt-sync 2>&1> $temp
if [ $? -ne 0 ]
then
cat $temp
fi
rm $temp
if [ -f /var/lib/run/openvasd.pid ]
then
pid=‘cat /var/lib/run/openvasd.pid‘
kill -1 $pid 2>/dev/null
fi
Salve este script (e dê permissões de execução) em um lugar do sistema e crie o job no cron.
Ok, no lado do servidor já está tudo pronto! Vamos agora instalar o cliente para podermos começar a scanear nossos servidores!
Instalando o cliente
Toda a ação do OpenVAS acontece no lado do cliente! É lá que nós definimos o host que vamos analisar, quais NVT’s vamos executar, analisamos o relatório e o exportamos para algum outro formato de nossa preferência.
Nele porém há uma pegadinha: embora o OpenVAS possua clientes para Linux e Windows, apenas a versão para Linux consegue trabalhar corretamente com a versão mais nova do servidor. De acordo com os desenvolvedores, o cliente para Windows já está quase pronto mas eles estão tendo alguns problemas com as rotinas de cross-compiling.
Você pode instalar o cliente na mesma máquina onde você instalou o servidor sem problemas.
Vamos à instalação. Faça o download da versão mais nova e:
# tar xzvf openvas-client-2.0.3.tar.gz
# cd openvas-client-2.0.3
# ./configure
# make
# make install
Se você tiver todas as dependências instaladas, isso já resolve o problema
Para executar o cliente, execute o comando:
# openvas-client
Conclusão
O OpenVAS não é um software que vai fazer milagres na sua rede, mas com certeza você poderá deixar a sua rede muito mais segura com o auxílio dele.
Na minha opinião, o único problema com ele é a falta de tradução para os relatórios gerados. Atualmente, ele só os gera em inglês. Porém, com um inglês bem básico você já consegue verificar as falhas e entender como corrigí-las. Além disso, também seria interessante um cliente web para que ele possa sempre funcionar automaticamente em qualquer plataforma, não tendo discrepâncias entre as versões para Linux e versões para Windows.
No próximo artigo vou ensinar você a utilizar o OpenVAS Client para fazer sua primeira análise de servidores e geração de relatórios.
Até lá! Enquanto isso, deixe seus comentários abaixo! Tentarei ajudar a você da melhor maneira possível!
Não há posts relacionados a este!

Publicando meu perfil no LinkedIn aqui no blog, tenho como objetivo expandir minha rede de contatos profissionais. Me adicione no LinkedIn!

3 Comentários
Hugo Melo
17|Jun|2009 1Olá! Bom dia Pedro!
O artigo ficou muito bom! Consegui executar em meu ambiente sem maiores problemas.
Gerson Raymond
13|Nov|2009 2Parabéns pelo artigo meu caro Pedro Pereira, realmente algo de grande valia para os demais que procuram e necessitam de ferramentas livres.
Grande Abraço !!!
javier
14|Nov|2009 3oi pedro sou javier usuario ubuntu, instalei o openvas pelas dica Publicada por Gerson Raymond em 22/04/2009 no viva o linux , adicionando o seguinte repositório deb http://apt.intevation.de/ etch openvas na sources list,depois aplicar um apt-get install openvas-client .
Fazendo isso ou OpenVAS já estaria instalado no Ubuntu?
o teria de continuar a instalar
openvas-libraries
openvas-libnasl
openvas-server
openvas-plugins
me desculpe o incomodo
Deixe seu comentário!