Académique Documents
Professionnel Documents
Culture Documents
Resumo. Este artigo relata o ataque sofrido pela UFG no seu servidor de Portais Web e
descreve as tcnicas de visualizao de informaes, as ferramentas computacionais e as
solues de gerncia de redes adotadas pela equipe interna da Universidade para analisar
e mitigar o problema. O tipo de ataque utilizado muito comum e difcil de ser contido,
sendo que a experincia adquirida serve de apoio para outras instituies de ensino que
esto sujeitas a incidentes similares.
Abstract. This papers reports the Internet attack on UFGs Web site server. It also describes the information visualization techniques, the computational tools and the networking
managment solutions that were employed by the University IT team for analysing and mitigating the problem. Such type of attack is very common and difficult to contain. Therefore,
the experience acquired by dealing with it is usefull for other educational instituitions the
may encounter similar situations.
1. Introduo
A infraestrutura para servios de portal Web da universidade composta por servidores Web
e sistemas gerenciadores de banco de dados, todos virtualizados, os quais mantm um conjunto de
mais de 300 stios para unidades acadmicas, rgos administrativos e ncleos de pesquisa e extenso e mais de 60 projetos no homologados pelo Cercomp [3] utilizando tecnologia PHP. Frente ao
volume de stios, da quantidade de informao disponibilizada ao pblico interno e externo da UFG
e quantidade de usurios dirios, a interrupo, ou mesmo a simples lentido desse sistema, tem
impacto significativos nas atividades adminstrativas da instituo.
No incio de novembro de 2011, vrios setores da UFG comearam a reclamar unidade de
TI sobre a lentido no acesso aos portais Web. De fato, os servios Web haviam se tornado to lentos
que cliques dos usurios sobre as pginas dos portais levavam minutos para produzirem uma resposta.
Algumas horas depois da reclamao, era preciso reiniciar o servidor para restabelecer o servio. No
entanto, a lentido dos portais voltava a ocorrer periodicamente.
Com os servios funcionando precariamente, o setor de TI responsvel pelos servidores
mobilizaram-se para analisar a situao, tendo identificado um ataque intenso de DDoS em intervalos de tempo regulares, seguidos de um fluxo contnuo de trafgo direcionados para alguns domnios
especficos.
Vrias abordagens foram pensadas e testadas para analisar a natureza do problema e procurar
conter o ataque. As prximas sees deste trabalho descrevem as ferramentas e estratgias utilizadas
nessa tarefa. Comeamos, no entanto, com uma breve introduo sobre DDoS e outras formas comuns
de ataque a servidores Web.
como ilustra a Figura 1(c). O ciclo de ataque comeando com uma nova rajada de requisies e uma
sequencia intensa de consultas aos portais repetia-se a cada 45 minutos, aproximadamente.
(a)
(b)
(c)
Figura 1. Visualizao das requisies Web. A imagem (a) mostra as requisies em situao
normal. A imagem (b) ilustra a rajada de requisies no incio de um ciclo de ataque. J a
imagem (c) mostra a sequncia intensa de requisies que completa o ciclo.
O objetivo das requisies excessivas era, no apenas tornar o servio Web lento pelo volume
inicial de requisies a serem atendidas, mas tambm fazer com que o servidor Web criasse vrias
novas portas de conexo para tal atendimento. Essas portas eram mantidas abertas, consumindo
permanentemente recursos da mquina e reduzindo a possibilidade de atendimento das legtimas requisies dos usurios.
A segunda ferramenta utilizada foi o software livre Zabbix [14], configurado para monitorar
o consumo de CPU e de memria dos servidores, alm do volume de trfego de rede e a quantidade
de processos abertos nas mquinas. A Figura 2 apresenta um grfico do Zabbix mostrando o uso
dos recursos do servidor Web principal durante o perodo do ataque. A imagem confirma o consumo
excessivo de recursos do servidor a cada ciclo de ataque at atingir um limite onde o servidor se
tornava inoperante, precisando ser reiniciado para restaurar o funcionamento do servio.
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_max_orphans = 5000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
Em seguida, a anlise foi voltada para a camada de rede objetivando impedir ou reduzir o
mximo possvel a entrada de pacotes com a caracterstica do ZeroWindow. Atravs de pesquisas
em listas de discusso chegou-se a um conjunto de regras de firewall que efetuavam a conteno de
pacotes TCP que possuem o campo window com valor zero, com uma taxa pr-determinada. Essas
regras foram configuradas com o utilitrio iptables [7] conforme o Registro 2:
iptables -N ZERO_WINDOW_RECENT
iptables -A -m u32 --u32 "6&0xFF=0x6 && 4&0x1FFF=0 && 0>>22&0x3C@12&0xFFFF=0x0000" -j
ZERO_WINDOW_RECENT
iptables -A ZERO_WINDOW_RECENT -m recent --set --name ZERO_WINDOW
iptables -A ZERO_WINDOW_RECENT -m recent --update --seconds 60 --hitcount 2 --name ZERO_WINDOW -j
LOG --log-level info --log-prefix "Zero size Window DoS blocked: "
iptables -A ZERO_WINDOW_RECENT -m recent --update --seconds 60 --hitcount 2 --name ZERO_WINDOW -j
DROP
Outro aspecto notado, foi que nos perodos de ataque a quantidade de entradas na tabela de
conexes do servidor crescia muito rpido. Esse comportamento estava associado ao mecanismo
de funcionamento do ataque ZeroWindow que provocava um grande nmero de conexes pendentes.
Exemplos dessas entradas podem ser vistas no Registro 3:
...
tcp
tcp
tcp
tcp
tcp
tcp
tcp
tcp
tcp
...
0
0
0
0
0
0
0
0
0
1711
12241
8890
181
36301
0
441
0
0
200.xxx.xxx.xxx:80
200.xxx.xxx.xxx:80
200.xxx.xxx.xxx:80
200.xxx.xxx.xxx:80
200.xxx.xxx.xxx:80
200.xxx.xxx.xxx:80
200.xxx.xxx.xxx:80
200.xxx.xxx.xxx:80
200.xxx.xxx.xxx:80
188.143.xxx.xxx:57148
189.27.xxx.xxx:49310
189.93.xxx.xxx:49706
189.74.xxx.xxx:1333
201.14.xxx.xxx:1230
201.24.xxx.xxx:49523
157.55.xxx.xxx:45227
163.231.xxx.xxx:20399
163.231.xxx.xxx:20438
ULTIMO_ACK
ULTIMO_ACK
ESPERA_FIN1
ESPERA_FIN1
ULTIMO_ACK
TIME_WAIT
ESPERA_FIN1
TIME_WAIT
TIME_WAIT
em
em
em
em
em
timewait
em
timewait
timewait
Registro 3. Entradas na tabela de conexes do servidor.
Figura 3. Comparao entre servidores de pginas para Ruby com base no nmero de requisies por segundos. O Rtulo c req. representa o nvel de concorrncia, ou seja, o nmero
de requisies simultneas.
As requisies dos usurios so gerenciadas pelo Nginx e direcionadas atravs de proxy para
o Thin. Configuramos e rodamos 3 processos do Thin, cada um escutando em um porta distinta, para
aumentar a disponibilidade do servio.
5. Concluso
Neste trabalho, comentamos sobre a tentativa de derrubar o servidor de portais Web da UFG
caracterizada por ataques do tipo DDoS e ZeroWindow. Os ataques, de fato, causaram lentido e
interrupo dos servios web, tendo prejudicado quase 400 Portais Web da instituio. Ferramentas
computacionais para anlise de dados de rede e do consumo dos recursos dos servidores, com tcnicas
de visualizao de informaes, foram importantes para estudar e identificar a causa do problema,
bem como, para verificar a eficcia das solues adotadas pelas equipes do Cercomp.
O ataque durou ao todo quase 3 meses de forma contnua, tendo parado somente em janeiro
de 2012. Durante esse perodo, foram realizadas modificaes nas configuraes bsicas de rede,
no sistema operacional e nas aplicaes do servidor Web, as quais anularam o impacto dos ataques.
No atual momento, os portais Web esto funcionando normalmente, com capacidade suficiente para
atender o acentuado crescimento de demandas nesta rea.
Outra soluo que acreditamos ser eficiente para ataques distribudos como o que foi presenciado ter recursos de infraestrutura, tambm distribudos e que possam ser estendidos de forma
dinmica, ou seja, de acordo com a necessidade. Os esforos esto sendo guiados nesse sentido e
estudos de configuraes de hardware e software para implementar essa soluo um trabalho futuro
a ser desenvolvido.
Referncias
[1] US-CERT Vulnerabilidade TCP ZeroWindow. http://www.kb.cert.org/vuls/id/
723308, 2011. 2
[2] C10K Problem. http://www.kegel.com/c10k.html, 2012. 5
[3] CERCOMP Centro de Recursos Computacionais da UFG. http://www.cercomp.ufg.
br, 2012. 1
[4] Dropbox Servio de compartilhamento de arquivos. http://www.dropbox.com, 2012.
5
[5] Facebook Aplicativo para redes sociais. http://www.facebook.com, 2012. 5
[6] Github Gerenciador de projetos. http://www.github.com, 2012. 5
[7] iptables Utilitrio para configurar regras de firewall no kernel do linux. http://www.
netfilter.org/, 2012. 4
[8] Lighttpd Servidor de pginas de alto desempenho. http://www.lighttpd.net, 2012.
5
[9] Logstalgia Ferramenta de visualizao de trfego Web. http://code.google.com/p/
logstalgia/, 2012. 2
[10] Nginx Servidor de pginas de alto desempenho. http://www.nginx.org, 2012. 5
[11] PHP-FPM FastCGI Process Manager. http://php-fpm.org, 2012. 5
[12] Sockstress Ferramenta automatizada para ataque ZeroWindow. http://en.wikipedia.
org/wiki/Sockstress, 2012. 2
[13] Wordpress Gerenciador de Blogs. http://www.wordpress.org, 2012. 5
[14] Zabbix Ferramenta de monitoramento de trfego. http://www.zabbix.com, 2012. 3