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

  • openvas-libraries
  • openvas-libnasl
  • openvas-server
  • openvas-plugins

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:

  • Instale o openvas-libraries
  • Instale o openvas-libnasl
  • Instale o openvas-server
  • Finalmente, instale o openvas-plugins

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:

  • Adicionar o diretório /opt/openvas/bin ao PATH do sistema
  • Adicionar as bibliotecas que acabaram de ser instaladas ao /etc/ld.so.conf. Para isso:
    # ldconfig /opt/openvas/lib

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:

  • Login: o nome que o usuário irá utilizar para se conectar ao servidor através do cliente;
  • Authentication: permite que você escolha qual será o método de autenticação do usuário: via certificado ou via senha. Eu prefiro senha, por ser mais simples. Para utilizar o método de senhas, escreva pass e pressione enter;
  • Login password: senha utilizada para o usuário se conectar ao servidor através do cliente que instalaremos mais adiante. Depois de digitar a senha e pressionar enter, você terá que redigitar a senha para garantir que ela está correta.
  • Rules set: o controle sobre o que cada usuário pode fazer no OpenVAS é bem interessante. Quando você cria uma conta, você deve especificar o que esta conta poderá fazer, como por exemplo, quais hosts ela poderá scanear. As regras seguem esta forma:
    accept 192.168.0.0/24
    default deny

    De acordo com essa regra, o usuário poderá apenas scanear os hosts presentes na rede 192.168.0.0/24 e nenhum outro. Para permitir que o usuário faça qualquer coisa, utilize a regra abaixo:
    default accept
    Quando terminar de definir as regras para o usuário que está sendo criado, pressione as teclas Ctrl + D.

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!

Compartilhe o post! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Webnews
  • Digg
  • del.icio.us
  • StumbleUpon
  • Reddit
  • Ask
  • Bloglines
  • email
  • Facebook
  • Furl
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • Pownce
  • Print
  • Rec6
  • Slashdot
  • Technorati
  • TwitThis

Não há posts relacionados a este!