original in en Georges Tarbouriech
en to en Lorne Bailey
en to pt Bruno Sousa
O George é um utilizador de Unix de há longa data. Ele pensa que a
segurança dos computadores é um dos maiores desafios do século.
O um scanner livre, disponível em http://www.nessus.org. O projecto foi começado e é mantido por Renaud Deraison. A versão estável, na altura da redacção deste artigo é a 1.09 e a experimental a 1.14. O software está disponível sobre a GPL e muitas pessoas contribuem para o projecto, nomeadamente nos plugins... enquanto que outros beneficiam do trabalho do nessus sem mencionar o nome (mais acerca disto no fim do artigo). O nessus trabalha em muitos clones Unix quer para clientes e servidores e no Win32 como cliente. Demos uma espreitadela neste grande utilitário.
.
Indo até http://www.nessus.org,
pode obter este excelente pedaço de software. Visto que o nessus está
disponível como um cliente Win32, nós obviamente, consideraremos a versão
Posix neste artigo.
Para utilizar o nessus, precisa de pelo menos do nmap e do Gtk (Gimp
Toolkit). As ligações para os mesmo são fornecidos no site da nessus.
Contudo pode utilizar o nessus a partir da linha de comandos, sendo o Gtk
não obrigatório.
Pode obter o nessus de três modos diferentes : o bom, o mau, e o
"horrível".
A Boa maneira é a padrão, ou seja, faz download dos arquivos a partir de
um site de ftp mais perto de si. Tem quatro arquivos: as bibliotecas
nessus, as bibliotecas nasl, os core do nessus e os plugins do nessus.
Depois de descomprimidos, constrói-os e instala-os como normalmente : ./configure, make, make
install, seguindo a respectiva ordem dos arquivos. Se tiver uma versão
antiga do nessus instalada na sua máquina, primeiro tem de a remover. Para
tal o nessus fornece uma script de desinstalação para ser utilizado após o
primeiro "./configure" que é o das bibliotecas nessus. Corra esta script
antes de digitar "make". Faça o mesmo para cada pacote fornecido (excepto
se correr a script de desinstalação) e está feito.
O modo mau consiste em correr um script de download com o nome de
nessus-installer.sh. Depois digitando "sh nessus-installer.sh" instalará
automaticamente o pacote. Os quatro pacotes não precisam de ser instalados
separadamente. É agora somente um pacote sozinho.
O modo horrível : logo que o lynx esteja instalado na sua máquina e
estiver ligado à Internet digite somente "lynx -source
http://install.nessus.org | sh" e já está. NÃO deve ser root para fazer
isto.
Obviamente, que o modo recomendado é o "bom" ... bem se faz download do
nessus supomos que a segurança seja uma preocupação ! Visto que estamos a
falar de segurança não se esqueça de fazer download do checksum MD5.
O nessus vem com utilitários diferentes (nasl, uma linguagem de
scripting, nessus-adduser, nessus-build...). Cada um deste utilitários tem
a sua página man quer para o cliente quer para o servidor. Mais
documentação encontra-se disponível na distribuição (README, INSTALL...) ou
no site do nessus.
Para tornar as coisas mais fáceis de entender, utilizaremos exemplos do nessus versão X11 que é a que utiliza o Gtk.
O servidor nessusd
Para iniciar o nessus, precisa obviamente de correr o demónio servidor,
nessusd. Ao lançar o demónio pela primeira vez, tem de declarar o
utilizador e a palavra-passe, utilizando o comando nessus-adduser. Se os
pacotes das bibliotecas do nessus foram compilados com a opção
"--enable-cipher" (recomendado, para não dizer obrigatório !), é gerada uma
chave privada. Esta chave pode ser protegida com uma frase-passe. Estão
disponíveis muitas opções ao lançar o servidor poderá encontrá-las na
página man do nessusd.
A partir daqui pode criar a base de dados dos utilizadores e as
correspondentes regras. Ou seja, a quem é permitido correr o demónio do
servidor, o que lhe é permitido fazer scan (uma máquina, uma rede...). As
regras são na forma de "accept" ou "deny", precedido de um endereço IP de
rede e a sua máscara.
Por exemplo : accept 192.168.1.0/24, permite ao utilizador testar a
rede 192.168.1.
É também possível, definir um só utilizador sem nenhuma regra. Se deseja
que vários utilizadores possam correr o nessusd, terá de ter muita
precaução com o que lhes permite fazer. Não pode deixar toda a gente fazer
tudo na sua rede, ou pode ?
Po último, o nessusd assenta num ficheiro de configuração (normalmente)
encontrado em /usr/local/etc/nessus/nessusd.conf. Pode alterar o ficheiro à
mão, desde que saiba o que está a fazer.
Pode então iniciar o cliente nessus para se ligar ao servidor nessusd.
Para iniciar o cliente basta digitar "nessus &" numa shell. Isto abre a
janela de configuração e pede a frase passe acima referenciada. Esta janela
fornece-lhe 7 tabs.
O primeiro tab chama-se "nessusd host". A partir dele pode ligar-se à
máquina nessusd clicando no botão "Log in". Claro que, isto assume que lhe
é permitido ligar-se com este utilizador, por outras palavras o seu
utilizador tem de estar declarado na base de dados de utilizadores.
Mal inicia o scan, o nessus abre a janela apresentando o estado de
scan. Por exemplo, digamos que está a tentar uma rede inteira, chamada
192.168.1.0/24. Oito máquinas serão apresentadas de uma só vez, mostrando o
plugin que está a ser utilizado para máquina, para além de uma barra de
progresso. Eis como se parece :
Os Plugins são o "coração" do nessus. São testes de segurança - ou seja
programas de teste para descobrir uma dada vulnerabilidade. A linguagem
recomendada para escrever os testes de segurança é a NASL (Nessus Attack
Scripting Language). Encontrará imensa informação acerca do NASL neste URL
: http://www.nessus.org/doc/nasl.html.
Assim, se quiser contribuir para o projecto nessus escrevendo plugins,
é aqui que encontrará a informação correcta. Na altura de edição deste
artigo existem 756 plugins na base de dados do nessus !
Existem, praticamente 20 familias de plugins : as backdoors, a negação
de serviço (denial of service), adquirir autoridade root remotamente (gain
root remotely)... Como já mencionado cada plugin reporta informação.
Diz-lhe o que está incorrecto e o que deve fazer para corrigir o problema.
Não podemos falar de plugins sem mencionar o CVE (Common Vulnerabilities
and Exposures). Existe disponível uma base de dados com tal informação
disponível em http://cve.mitre.org. Aqui
encontrará tudo acerca dos mais conhecidos riscos de segurança. Um outro
sítio excelente para partilhar conhecimento. Um site deste tipo é um
referência absoluta a visitar.
Claro, que existe demasiada informação a dizer relativamente aos plugins
mas um livro não seria suficiente. Um bom modo de entender o seu
funcionamento e o modo como são escritos é lê-los a partir do directório
/usr/local/lib/nessus/plugins directory. Obrigado, novamente a Renaud
Deraison e contribuintes pelo excelente trabalho.
Mesmo que este título vos soe a Monty Python, infelizmente, não há humor
nele. As terceiras pessoas que leêm os meus artigos conhecem as minhas
frases fora do contexto (off-topic) : desta vez é uma secção inteira ! Mas,
é mesmo fora de contexto? Bem, mas isto é outra história, continuemos.
Visto que eu sou muito interessado em segurança de computadores, muito
frequentemente, visito os sites dedicados. Pode ser para aprender algo
sobre as novas vulnerabilidades ou para descobrir novos utilitários de
segurança. Acidentalmente, encontrei alguns produtos baseados num serviço
online de scan. De facto intitulam-se (pelo menos por agora) ASP
(Application Service Provider). Se for um pouco mais longe rapidamente
descobre que o motor por detrás do serviço é o nessus. Até agora tudo bem.
Contudo ao tentar encontrar a informação explícita, não consegui ver a
palavra "nessus". Foi aqui que fiquei ferido !
Muitas pessoas que trabalham na comunidade de software livre, fazem o
seu trabalho de graça e não para viver. O único pagamento que obtêm
chama-se : crédito. O nessus é apresentado sobre a GPL. Ou seja, toda a
gente pode utilizar o produto, modificá-lo, adaptá-lo... desde que o(s)
autor(es) seja(m) mencionado(s). Claro que a licença diz mais que isto. Se
não conhece a GPL, dê uma vista de olhos aqui.
Para mim, isto parece-me um roubo. Falo a sério, eu nem sequer preciso de
uma licença para dar crédito ao trabalho de outrém. Tenho muito respeito
pelas pessoas a trabalharem de graça (na maioria das vezes), partilhando
com a comunidade. Merecem o reconhecimento por parte dessa comunidade. Isto
aplica-se de um modo especial quando as pessoas tentam fazer dinheiro com o
trabalho dos outros. Pode chamar a isto respeito, reconhecimento, não
importa o quê. O facto é que estas palavras parecem ter perdido o seu
significado. Podemos afirmar com certeza que a GPL é a causa de tal
comportamento. Com o ASP não se considere que você esteja a vender
software. Segundo o País a GPL pode não ter nenhum valor legal.
A solução podia passar por os utilizadores dos tais ASPs pedirem o nome do
motor de scan que faz o verdadeiro trabalho. A resposta dada dirá pelo
menos, se as pessoas fornecendo o serviço são "honestas". Se não respondem
ou se disserem que inventaram tal motor (o qual identificou como sendo o
nessus), simplesmente não o use ! Em vez disso instale o nessus (o
verdadeiro) sendo mais seguro de qualquer modo.
Mas novamente, precisamos nós de uma licença para "dizer obrigado" às
pessoas que fizeram um grande e excelente trabalho ? E já agora o Renaud
Deraison não quer alterar a licença do nessus, o nessus ficará como GPL.
Desculpem-me por esta longa digressão. mas acredito que isto tinha de ser
dito.
À parte da última secção, o que há a reter deste artigo é a alta qualidade
do nessus. É um software deveras, impressionante. Utilizado em conjunto com
o nmap torna-se obrigatório quando a segurança é uma preocupação. É um
utilitário fiável, melhorado cada dia que passa. O meu agradecimento a
Renaud e amigos pelas actualizações constantes dos plugins.
Hoje, um administrador de sistema, não pode trabalhar sem o nessus e o nmap.
Este utilitários são capazes de encontrar vulnerabilidades que já pensava
resolvidas. Isto aplica-se a muitos SO encontrados na sua rede. E quando
você sabe que alguns S.O. são como crivos o nessus permite-lhe descontrair
um pouco.
Para além disto o nessus pode ajudá-lo a entender o modo como uma rede (ou
máquina) pode estar comprometida.
Se ler cuidadosamente os relatórios fornecidos, tome-os em conta e
aplique as necessárias correcções, melhorando, assim largamente a segurança
da rede (ou máquina). Novamente, eu disse "melhorar" a sua rede não está
100% segura só porque correu o nessus. A entrada para a segurança é um
longo caminho a percorrer e nós estamos muito longe do seu fim.
Uma vez mais, obrigado à comunidade de software livre, pelo excelente
trabalho que tem feito em relação à segurança.
Respeitante aquelas simpáticas pessoas que tentam ganhar dinheiro com o
trabalho de membros da comunidade de software livre, gostava de acrescentar
algo. Dizer "obrigado" não é um vergonha. Ser honesto não é assim tão
detestável, ou é ? Se este tipo de comportamento se expande, o risco é o
fim da comunidade ou uma grande alteração nas licenças (e provavelmente
mais e mais patentes !) Em ambos os casos, estará à sua mercê e as coisas
serão mais complicadas para si. E infelizmente, não será capaz de utilizar
o software livre mais alguma vez. Mas isto não significa que não consiga
vender o seu. Pense nisto !
Não estamos a viver num tempo excelente ?