Falha de segurança em servidores na internet

Publicado por Marcelo Ferreira em 01/11/2009

[ Hits: 10.259 ]

 


Falha de segurança em servidores na internet



A internet permite muitas possibilidades, desde o acesso rápido a notícias, encontrar amigos de infância em sites de relacionamento, pagar contas e assistir vídeos. Mas a internet não é só cercada de maravilhas fornecidas através da tecnologia, há também crackers (hackers do mal), furto ou desvio de informações, golpes, assédios e invasões a redes.

O objetivo desta dica é alertar aos administradores como detectar se sua rede está aberta ao público da internet e possui falhas de segurança em seus serviços. Esta dica será descrita para o sistemas operacionais baseados no Debian, como Ubuntu, Xubuntu e muitos outros.

Instalação dos programas

Devemos instalar algumas ferramentas no seu sistema operacional Linux (dig e nessus). Todos os comandos nesta dica serão executados como root:

# aptitude update
# aptitude install dig nessus nessusd


O Nessus é um aplicativo cliente/servidor. Precisamos inicializar o Nessus como servidor (nessusd):

# nessusd -D

No Nessus faz-se necessário criar um usuário para logar no nessusd (servidor Nessus):

# nessus-adduser

O programa 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 7042-E401-2288-C2D6-2269
# nessus-fetch --check
# nessus-fetch --plugins


Consultando servidores DNS na internet

Algumas empresas não configuram seus servidores DNS corretamente, permitindo realizar a consulta a zonas DNS inteiras, revelando assim a lista dos computadores cadastrados no serviço de consultas de nomes da empresa.

Vamos agora tentar descobrir o nome e o endereço de rede IP do servidor DNS de um domínio. Execute o comando abaixo:

# dig -t soa 3cta.eb.mil.br

O comando acima retornará como resposta o nome do SOA, isto é, Start Of Authority, que é o responsável pelo domínio consultado. Agora com o nome do SOA vamos descobrir o seu endereço de rede IP.

# dig -t a dns1.eb.mil.br

O comando retornará o endereço de rede IP. Agora com as informações coletadas vamos a transferência completa da zona DNS.

# dig -t axfr 3cta.eb.mil.br @200.199.248.5

Que ótimo, esta zona está bem configurada e não permitiu a transferência!

Agora vamos executar novamente a sequência de comandos mas em outra zona. Vamos detectar se o DNS realizará a transferência completa da zona.

# dig -t soa dominioalvo.com.br
# dig -t a apolo.planetsys.com.br
# dig -t axfr dominioalvo.com.br @200.155.11.74


Pronto, identificamos um DNS mal configurado, agora temos informações de máquinas que pertencem ao domínio. Temos uma lista com os respectivos nomes e endereços de rede IP. E vale uma dica nunca atribuir o nome da máquina com o serviço, por exemplo, um servidor de e-mails com o nome mail.dominioalvo.com.br e outro servidor ftp com o nome ftp.dominioalvo.com.br.

Testando balanceamento de endereços IPs dos servidores

Vamos confirmar os IPs e verificar se não há balanceamento do ip no servidores. Vamos executar o dig 4 vezes para cada endereço, analisando se o endereço de rede ip será sempre o mesmo. (alguns sites utilizam balanceamento de ip, exemplo www.uol.com.br e www.google.com):

# dig -t a ftp.dominioalvo.com.br; dig -t a ftp.dominioalvo.com.br; dig -t a ftp.dominioalvo.com.br; dig -t a ftp.dominioalvo.com.br
# dig -t a mail.dominioalvo.com.br; dig -t a mail.dominioalvo.com.br; dig -t a mail.dominioalvo.com.br; dig -t a mail.dominioalvo.com.br
# dig -t a mysql.dominioalvo.com.br; dig -t a mysql.dominioalvo.com.br; dig -t a mysql.dominioalvo.com.br; dig -t a mysql.dominioalvo.com.br
# dig -t a www.dominioalvo.com.br; dig -t a www.dominioalvo.com.br; dig -t a www.dominioalvo.com.br; dig -t a www.dominioalvo.com.br


Identificamos que os nomes não respondem por vários endereços de rede IP, eles respondem por um único endereço IP.

Testando falhas de segurança nos endereços IPs dos servidores

O teste será realizado diretamente pelo endereço de rede IP dos servidores, poupando assim a resolução do nome.

Não será demonstrado como utilizar a ferramenta gráfica do Nessus, no VOL a vários artigos sobre o assunto. Vamos gerar o arquivo que conterá os endereços IP a serem testados:

# host ftp.dominioalvo.com.br | awk '{print $4}' > /tmp/ips_alvo.txt
# host mail.dominioalvo.com.br | awk '{print $4}' >> /tmp/ips_alvo.txt
# host mysql.dominioalvo.com.br | awk '{print $4}' >> /tmp/ips_alvo.txt
# host www.dominioalvo.com.br | awk '{print $4}' >> /tmp/ips_alvo.txt


Agora vamos verificar as falhas de segurança através da ferramenta Nessus via console:

# nessus -T html -q 127.0.0.1 1241 <Usuário_do_Nessus> <senha_do_usuário_do_Nessus> /tmp/ips_alvo.txt /tmp/alvo.html -V

Conclusão

Agora abra o arquivo /tmp/alvo.html no seu browser e verifique o resultado dos testes! Você poderá encontrar falhas simples de serem corrigidas, como também algumas que deverão ter seus programas atualizados. Prepare-se, afinal como verificamos neste artigo a internet disponibiliza seus servidores e serviços a todos, muitas vezes com falhas e brechas de segurança e você não estava ciente.

Viva a liberdade...

Outras dicas deste autor

Integração do CACTI (Version 0.8.7b) com autenticação LDAP-Linux

Criar disquete de boot de instalação do Debian

NAT entre a máquina real e máquinas virtuais (VirtualBox)

Instalação e uso do SUDO no Debian

Instalação de template para monitoramento de hardware no CACTI (Debian)

Leitura recomendada

Kpackage - Instalando pacotes no Conectiva Linux 10

Chmod sem mistérios

Removendo opção inválida "KDE" da lista de sessões da tela de login do GDM

Erro do Grub ao clonar servidor Linux com ACRONIS

Recuperando a senha de root pelo Grub

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts