quinta-feira, 30 de janeiro de 2014

Como bloquear relays(IP's) da rede TOR que estão acessando seu servidor linux

Eu sou um fã e utilizador da rede TOR, porém meu servidor tem recebido ataques constantes e analises periódicas de vulnerabilidade através dela. Isso é um pesadelo para qualquer administrador de servidor. Portanto tive que buscar uma forma de bloquear os ips dos relays do TOR para que esse gasto de banda desnecessário parasse. Sendo assim encontrei na internet um script simples mas fantástico, que vou compartilhar e explicar como funciona.


Script:

# links -dump https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=$(links -dump ip.dnsexit.com | sed 's/ //g') | sed 's/ /\n/g' | sed -n '/^[0-9].*\..*\..*\./p' | sed -n '2,$p' | while read IP; do iptables -I INPUT -s "$IP" -j DROP; done


Dependências: 

Você precisa ter instalado no servidor o "links", uma especie de navegador para linha de comando do linux.

Script para instalar o Links no ubuntu: 
# apt-get install links

Modo de usar:

Execute isso como root em seu servidor. Sim, só isso... Mas o ideal é executar esse script pelo cron do linux periodicamente, pois cada vez que ele roda atualiza os ips que serão bloqueados pelo iptables. Lembre-se que esses ips estão sempre sendo alterados, pois qualquer um pode se tornar um relay do TOR.

O que o script faz?

Ele busca a lista de ips públicos da rede TOR que podem acessar o seu servidor, logo depois, é atualizado as regras do iptables(Firewall do Linux) bloqueando cada um dos ips para o INPUT (conexão de entrada).

Dicas:

* Se você possui IP fixo, pode trocar o subshell $(links -dump ip.dnsexit.com | sed 's/ //g') pelo seu IP, isso vai deixar a execução mais rapida, pois esse subshell pega o ip da maquina que está executando o script.* Se o serviço de firewall fica em outro servidor, substitua o INPUT por FORWARD.

Observação:


Isso não vai livrar você totalmente da rede TOR, mas vai ajudar bastante.

Fontes:
http://www.vivaolinux.com.br/dica/Bloqueando-acesso-ao-servidor-a-utilizadores-do-TOR
https://check.torproject.org/cgi-bin/TorBulkExitList.py

quarta-feira, 22 de janeiro de 2014

Pentest e vulnerabilidades em sistemas

O que é PENTEST?

O teste de penetração é um método que avalia a segurança de um sistema de computador ou de uma rede, simulando um ataque de uma fonte maliciosa. O processo envolve uma análise nas atividades do sistema, que envolvem a busca de alguma vulnerabilidade em potencial que possa ser resultado de uma má configuração do sistema, falhas em hardwares/softwares desconhecidas, deficiência no sistema operacional ou técnicas contramedidas. Todas as análises submetidas pelos testes escolhidos são apresentadas no sistema, junto com uma avaliação do seu impacto e muitas vezes com uma proposta de resolução ou de uma solução técnica. - Fonte: Wikipedia

Porque fazer esse tipo de teste?


Segurança da informação é extremamente importante nos dias atuais, principalmente pelo fato de cada vez mais dependermos desses sistemas em nossas vidas.

Só existem duas formas de saber se existem falhas de segurança em seu sistema ou rede:
1) O sistema foi invadido por um hacker/cracker e o mesmo informou as vulnerabilidades existentes.
2) Você descobre as vulnerabilidades antes do hacker.

Eu particularmente prefiro a segunda opção... Até porque acredito que a maioria dos hackers e principalmente os crackers não informam a vulnerabilidade que descobriram.

Quais são as causas e efeitos?


Um sistema mal feito em conjunto com uma infraestrutura mau projetada pode causar um prejuízo tremendo para qualquer empresa ou pessoa. Dentre os prejuízos mais comuns estão perda e sequestro de dados sigilosos. Já parou para pensar se algum banco deixa vazar suas informações bancarias?

Seguem algumas ferramentas técnicas essenciais que eu mesmo uso para fazer teste de penetração em redes ou testar vulnerabilidades de aplicações web dos meus clientes:

NMap => Detecta topologia, portas e serviços de uma rede ou host, assim como detecta versão de SO entre outras coisas.

SQLmap => Ótimo escâner de vulnerabilidade em sistemas, com foco em sqlinjection com exploitation.

Openvas => Scanner genérico de vulnerabilidade de sistemas e redes.

Metasploit => Scanner genérico de vulnerabilidade de sistemas e redes. (Prefiro Openvas).

BackTrack/Kali Linux => (Meu preferido) Sistema operacional baseado em linux especialmente desenvolvido para testes de vulnerabilidades em todos os tipos de aplicações redes e dispositivos.

Dica: O BackTrack/Kali Linux tem todas as ferramentas citadas e muitas outras.

Espero ter ajudado.

Links úteis:

https://www.kali.org/
http://www.backtrack-linux.org/
http://www.openvas.org/
http://sqlmap.org/
https://nmap.org/