Atacando um Apache – DDoS/DoS

por em 22/08/11 às 1:32 pm

Só hoje, foram feitos dois posts sobre como assegurar um servidor apache, não foi mencionado o hardering de S.O., importantíssimo para inibir uma série de outros ataques, como o syn flood, por exemplo.

Eu gostaria de apontar para vocês algumas ferramentas que são utilizadas para realizarem ataques DoS/DDoS diretamente ao Apache. A primeira delas é o Slowloris, velha conhecida da comunidade de segurança da informação.

Lembro-me que uma das primeiras coisas após descobrir que um site roda de baixo de um apache é rodar Slowloris. Essa ferramenta possui dois pré-requisitos que podem ser instalados facilmente rodando os seguintes comandos:

perl -MCPAN -e 'install IO::Socket::INET'
perl -MCPAN -e 'install IO::Socket::SSL'

O download do Slowloris pode ser feito no seguinte link. Um dado interessante e importante, você sabiam que o Nginx é imune a uma série de ataques, inclusive ao Slowloris ? É por isso que tem muito site grande migrando para ele.

Há algum tempo, nós fizemos uma série de testes de performance e compatibilidade entre o Apache e o Nginx. O Apache ganha no quesito módulos e o Nginx em performance e segurança. Continuamos com o Apache pois algumas aplicações apresentaram problemas utilizando o proxy_pass do Nginx.

Veja a lista de web servers que são imunes ao Slowloris, mas eu sou mais o Nginx:

Voltando aos ataques, há uma outra ferramenta, desta vez para o mundo Windows que pode ser utilizada, é a OWASP HTTP POST Tool.

Poderosa, fácil e simples de ser utilizada, essa ferramenta é excelente para testar a capacidade e a segurança do Apache. E por último e como alternativa para a ferramenta acima para o mundo Linux tem a r-u-dead-yet/RUDY, desenvolvida em Python, esse carinha roda em qualquer plataforma, que tenha Python :)

$ ./r-u-dead-yet.py http://localhost/upload.html
Found 1 forms to submit. Please select number of form to use:

1 ) http://localhost/upload.html/cgi-bin/fup.cgi

> 1

Found 1 parameters to attack. Please select number of parameter to use:

1 ) note

> 1

Number of connections to spawn: (default=50)

> 

[!] Attacking: http://localhost/upload.html/cgi-bin/fup.cgi
[!] With parameter: not

Vejam que este post tem objetivo educacional em. Há também uma série de outras ferramenta que podem ser utilizadas para atacar o apache, c4 e o t50 – sendo que essas duas têm um baita poder de fogo.

Uma coisa que acho bem interessante é entender o comportamento de um ataque e para isso, analisar o dump de uma conexão TCP/IP é a melhor pedida. Acabei encontrando estes dois DumpsDump1 com ataques Slow Post contra um apache. Vale e muito para estudo.

Bad Behavior has blocked 1278 access attempts in the last 7 days.