Falha de segurança em servidores na internet

Publicado por Marcelo Ferreira em 01/11/2009

[ Hits: 10.242 ]

 


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

Configuração do Mozilla e Firefox para acesso ao site da Serpro

Criar disquete de boot de instalação do Debian

Modelos (templates) de gráficos para o CACTI

Instalação de programa de sensores (Gkrellm)

Impressão através do sistema de emulação 3270 SIAFI/HOD para Debian Linux

Leitura recomendada

[RESOLVIDO] Erro: "WARNING: Cannot write log" ao criar cache do Squid

Criando uma chave privada (OpenVPN)

Seminário Linux em São Paulo - 22/10/2004 - entrada franca

Customizando o SystemRescueCD Linux

PClinuxOS - vale a pena, excelente!

  

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