Mantenho o maravilhoso e ultra moderno encurtador eri.cx, que agora passou a sofrer ataques constantes. Chato? É, mas ataque na Internet já virou lugar comum, então, temos de estar preparados. Sempre! O foco só mudou, pois antes esse tipo de ataque vinha por e-mail, com os SPAMs.
Entre os muitos scripts que tenho, tem um que verifica por alguns padrões de palavras como “cialis”, “tramadol”, “xanax” e “taladafil”. Não tenho ideia do que sejam – Aliás o “xanax” dá uma certa ideia… rs
O que me faz pensar que esses links não são legítimos? Perfil de tráfego. São links em que o número de cliques aumenta muito rápido. Com isso, eu tenho uns scripts que fazem algumas verificações, inclusive com palavras chaves como essas. Se o link entra nesse perfil, eu removo para uma tabela chamada “quarantine”, salvando exatamente o formato de entrada. Em seguida, eu troco para o meu próprio site. É uma propaganda subversiva, mas é mais legítimo que permitir que as pessoas caiam nesse truques.
Hoje eu resolvi dar uma olhada nos ataques, aliás nos logs dos ataques, e procurar um perfil. Então eu precisava pegar os IPs e procurar um padrão. Basicamente pegar via SQL os IPs, e fazer um count() na quantidade de vezes que apareciam e apenas mostrar aqueles que um padrão acima do normal.
O resultado foi esse aqui:
mysql> select ip, count(ip) as ip_count from quarantine group by ip having count(ip) > 10 order by count(ip) desc; +---------------+----------+ | ip | ip_count | +---------------+----------+ | 173.44.37.250 | 168 | | 96.47.224.50 | 139 | | 173.44.37.226 | 136 | | 173.44.37.242 | 121 | | 96.47.224.42 | 118 | | 96.47.225.82 | 117 | | 173.44.37.234 | 115 | | 96.47.225.74 | 112 | | 96.47.225.66 | 110 | | 96.47.224.58 | 100 | | 213.5.66.88 | 89 | | 96.47.225.162 | 71 | | 96.47.225.170 | 69 | | 96.47.225.186 | 69 | | 96.47.225.178 | 67 | +---------------+----------+ 15 rows in set (0.01 sec)
Com isso foi fácil ver um padrão claro de ataque de apenas alguns ranges IPs. Bastou uma pequena adição ao iptables pra acabar com a farra.