Terror da Internet, os ataques de DDoS ficaram em evidência ultimamente por causa dos grupos AnonOps e LuzSec, que atacaram vários sites usando essa técnica.
DDoS nada mais é que um ataque do tipo "estouro de boiada". Utilizando máquinas contaminadas, usa-se um programa "administrador" que envia o agendamento do ataque, com data e horário, para uma máquina de destino. No caso esse destino foi num dos servidores que administro. Por acaso onde está o serviço do http://eri.cx entre outros.
O ataque não foi dirigido diretamente à mim, mas um dos sites hospedados lá (não, não foi pro eri.cx). Durante um ataque DDoS, isso não importa muito pois tudo que está hospedado no servidor é afetado juntamente. Ou os serviços tornam-se indisponíveis ou a máquina pode travar, o que não deveria acontecer. Mas um ataque DDoS não abre brechas pra invasão ou algo do gênero.
Vírus, spammers, cavalos de tróia, etc. Os caminhos da Internet são cheios de bestas mitológicas, tão devastadores quanto os das epopéias gregas. Arrasando tudo a sua frente, sem dó, sem misericórdia.
E finalmente chegou meu dia de saborear tal destino. Conseguiram invadir esse site e fazer um "defacement", ou em bom português, desfigurar o site.
Como já dizia o dito popular: "em casa de ferreiro, o espeto é de pau". O site é baseado no CMS Mambo Server, de onde o Joomla surgiu. Como uso o Mambo desde 2005 (o primeiro post tem data de "Apr 27, 2005 at 12:06 PM"), por sugestão do meu caro amigo Eduardo Maçan que também o utilizava na época, nunca me incomodei em atualizar muito ou migrar pra outra plataforma. Comecei com a versão 4.5.0, mas tinha atualizado para 4.5.1, quando fiz a "cara" verdinha do site. A mudança foi justamente por motivo de segurança.
E agora, finalmente, fui atacado com sucesso. O ataque foi através do uso de um script chamado Fx29PHPBot. Não achei muita informação sobre o mesmo, mas deve estar baseado em algum sql injection ou coisa do tipo. Isso deixou alguns arquivos extras no servidor:
fx29id2.txt fx29bot.txt fx.php
além do próprio index.php, que foi sobrescrito.
Como o sistema é hospedado e não tenho acesso aos logs... só me restou buscar um backup do site, e carregar em read-only, até descobrir como o ataque ocorreu e, o mais importante, como impedir. Agora posso voltar a postar, utilizando a última versão do Mambo server, 4.6.2. O upgrade foi meio traumático, mas aparentemente com sucesso.
Aparentemente a Telefonica mudou de opinião sobre a politica de bloqueio das portas dentro do range dos "well know services". Recentemente realizei um teste por acaso e descobri minha porta 80, 443 e outras completamente disponíveis na rede. Verificando os logs via webalizer, vi que a quantidade de acessos aumento significante. Olhando cuidadosamente os logs, verifiquei que os ataques também. Mas entre os ataques e a portas liberadas, eu prefiro a segunda alternativa.
Um link interessante sobre WPA2 e AES para autenticação com sistema de chaves assimétricas e geração de chaves aleatórias. Substitui com muito mais segurança o factível WEP. Infelizmente sua implementação não é tão fácil assim e nem todos equipamentos funcionam a contento. Mas aqui fica a referência.
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org
mQGiBDraRLcRBAC4uqV5SMZdf+Y5gWzUSU5ohPpa2j21y0kHW415LkkqOY3q6dFa
Rre89QqMhr5aDe20Xzn1v+8l4XsY0JfvIEX3nIM7BEKd70JQVILb9KTbi++EzTUw
vART4u8hO/eeor3HxN3VcEMTGCsQB0ZDMTGv6+nSLWiZdyVgmmXaLQAdQwCgpBmw
0N1vJJOfJXW/FAq+W6RUujsEALU3lp16K5cIoXRHp89b0tKX27odr98csJh/WZms
VoXSfmXt10ZedEql74+CLKyB2oFdY8TRUI3WvjUXvFLfGyuYf/f8QfICaKRDODQv
bF7i1ve4OCbcNO4imy072fF2e2rQEHXu/kNAsJAYG/8Zb0HBif4XM8gwGJKbSINd
bU4EA/91xYZ4E6eIGAzaOhSzpyBv3UQAi8nc9bobo2bo/XdCUo+oEP9P7y2voDdW
KV8SklXChX2VqfwMonQwif7Yh/Zp3NIxg/UlJnkYr4E4YIMtfOKpEezTJLSLQNgb
04ldy9iTaimwyK7EgB6mwSEnCXlMf54lOrd4mnrjGA9VTEfNA7RJSMOpbGlvIEFs
ZXhhbmRyZSBMb3BlcyBMb3VyZWlybyAoZGVmYXVsdCBhZGRyZXNzKSA8aGVsaW9A
bG91cmVpcm8uZW5nLmJyPohXBBMRAgAXBQI62kS3BQsHCgMEAxUDAgMWAgECF4AA
CgkQIiqRMftZctHe1gCZAXwBIPVnWdIxU2K8+uXU4qqvp/MAn23gjT0Snqy4oZU5
cUv/N2FrOCWXuQINBDraRWUQCAD5p1JeGVMdWy5SUWVw+ldSLwGXwXXqeSg7ynb7
4ghsPOfLGFqzwabGRtUR8A3rtqwm3e4XqUhD8SX6a9HAwCuAiwpCZBvFocf2/59b
QW3NCAkQ0L2H7UigO0ZRpGEHtsFyerFnW2ftx75iPFh8kVwBh+1NKHASIOP87R5V
DgbUdvwdCSEOqyZiS43DyFIW68WU9H430g2Yo6Zy+HHV9MKVGK2Ki6hiTDecYTBz
JmOdawQvBzCZeDE5hivWMoFPJnYVOjD0jhQolF0lc0Fbpd76NYcmw5dxK5c9i8kn
KJTYLE8QlXTTzrim8KekoDE2TkEK+uo7Jr/WtebTPdV5mF5rAAMGB/wIAtSiCC0b
IXLBaAPCoPTifdGsyH+xaxkbzqr+Gntnvnic+vB7a15lkHMnZ7bmllPSohQTtX6R
pHj0jDOK2EJs4KcB5HWcH9XgQJWQ/e+Ht18kQ2Y3dnhFH4HoDbV8DhSt4gJIpBtf
C+77Wh5aa+7SSixmV8oiHTjEsP3wmxR5EmSMhVKyhHGYCeGXYi3ft4+/2qu/pZxJ
pjoPf2bKqa0UuxN7V1dhD/ofIGgwm3rJ9PXhr+UfM8ZUi5McDmKNwnkODlnPwT8H
1qJLzzZSyY1uCx4NPyS0OZ6xGBSgk8K6wZ2udjDPYV5Oyf/PZ2i/Ep3tv8wSajKv
nTFgwo1yWTJziEYEGBECAAYFAjraRWUACgkQIiqRMftZctENRQCggW0qwNf4ct3n
tidjmTCUEGKspecAnA+VoQo5aTrcjLLTKRDfRWKXVOTI
=1yPG
-----END PGP PUBLIC KEY BLOCK-----