El 22/01/2007 15:04:03 Carlos E. R. escribió: robin.listas> > Un cabreo-histeria mío con un "spambot" me ha llevado a escribir un robin.listas> > script en Perl que añade direcciones IP a un fichero ".htaccess" en la robin.listas> > raiz de un Apache y la verdad es que no tiene ninguna complicación. robin.listas> robin.listas> Si el tío tiene IP fija, vale, pero como sea dinámica no te valdrá de robin.listas> mucho. No, no, ni IP's fijas ni dinámicas da lo mismo. Son "zombies", ordenadores domésticos infectados con algún troyano que atacan los BBS (en sentido moderno=tablones de anuncios) intentando entrar viagras, casinos y demás anuncios no deseados. Los hay con IP fija y con IP dinámica. Al ejecutar un script atacan siempre en el mismo punto, con lo cual les cambias la diana que siempre buscan por una trampa y añades la IP al .htacces raiz del BBS con el deny from por delante con lo que a la que hacen la segunda petición ya les has bloqueado el acceso. Lo que si hay que hacer es que la trampa sea "invisible" al ojo humano. Mira eso es un ataque del "spambot" resumido: 59.95.12.118 - - [19/Jan/2007:03:52:01 -0500] "GET /cgi-bin/BBS/YaBB.pl?num=1155585943/0#0 HTTP/1.0" 404 59.95.12.118 - - [19/Jan/2007:03:52:28 -0500] "GET / HTTP/1.0" 200 59.95.12.118 - - [19/Jan/2007:03:52:52 -0500] "GET /cgi-bin/BBS/YaBB.pl HTTP/1.0" 200 59.95.12.118 - - [19/Jan/2007:03:53:05 -0500] "GET/cgi-bin/BBS/YaBB.pl?board=general HTTP/1.0" 200 59.95.12.118 - - [19/Jan/2007:03:53:29 -0500] "GET/cgi-bin/BBS/YaBB.pl?board=general;action=post;title=StartNewTopic HTTP/1.0" 200 59.95.12.118 - - [19/Jan/2007:03:55:04 -0500] "POST/cgi-bin/BBS/YaBB.pl?board=general;action=post2 HTTP/1.0" 302 59.95.12.118 - - [19/Jan/2007:03:55:11 -0500] "GET/cgi-bin/BBS/YaBB.pl?num=1159196906/0#0 HTTP/1.0" 200 Traducido: Entra en el script del BBS (YaBB.pl) y busca un determinado mensaje(1155585943) Al no encontrarlo (Código 404) vuelve a cargar el BBS y va a uno de los apartados y mete su mierda en un mensaje nuevo (1159196906) El robot siempre busca el mismo mensaje (1155585943) con lo que hay dos opciones meterle uno de "falso" y rezar para que no haga la segunda parte si devuelves el código 200 o analizar las peticiones entrantes con la cadena "1157785943". En la segunda opción escribes la IP del atacante en .htaccess y ya no puede realizar el resto de acciones porque Apache le deniega la entrada. -- Saludos, Josep M. Queralt