Tengo un sitio que, por razones regulatorias, no puede indexarse o buscarse automáticamente. Esto significa que debemos mantener alejados a todos los robots y evitar que recorran el sitio.
Obviamente hemos tenido un archivo robots.txt que no permite nada desde el principio. Sin embargo, observar el archivo robots.txt es algo que solo los robots con buen comportamiento hacen. Recientemente hemos tenido algunos problemas con robots que no se comportan bien. He configurado Apache para prohibir algunos agentes de usuario, pero es bastante fácil evitarlo .
Entonces, la pregunta es, ¿hay alguna forma de configurar Apache (tal vez instalando algún módulo?) Para detectar un comportamiento similar al robot y responder? ¿Alguna otra idea?
Por el momento, todo lo que puedo hacer es prohibir las direcciones IP basadas en la inspección manual de los registros y eso simplemente no es una estrategia viable a largo plazo.
Respuestas:
Puede vincular a una página oculta que, cuando se visita, captura el agente de uso y la dirección IP del bot y luego agrega uno o ambos a un archivo .htaccess que los bloquea permanentemente. Está automatizado para que no tenga que hacer nada para mantenerlo.
fuente
Puede aprovechar el trabajo que otras personas han realizado para identificar las IP incorrectas utilizando un módulo Apache que interactúa con la lista negra de IP de Project Honeypot . Si está haciendo esto a gran escala, probablemente sería cortés ofrecerle un honeypot.
fuente
Como Gisle Hannemyr mencionó en un comentario , la mejor manera de hacerlo es solicitar el inicio de sesión de todos los usuarios y no proporcionar el contenido restringido a nadie que no haya iniciado sesión.
Si no puede solicitar inicios de sesión por alguna razón, todavía puede usar un par de retrocesos (descargo de responsabilidad: ambos son culpa mía o parcial):
El OWASP ModSecurity Core Rule Set contiene una serie de reglas diseñadas para detectar la automatización, incluso cuando el bot ha tomado medidas para disfrazarse como un navegador (por ejemplo, falsificando su cadena de User-Agent). Si tiene el control total de su servidor, como un VPS, un servidor dedicado o algo más grande que eso, puede usar estas reglas con ModSecurity .
Este conjunto de reglas también contiene otras reglas destinadas a detener una amplia variedad de actividades inapropiadas; si no lo has mirado, definitivamente deberías.
Si no tiene el control total de su servidor (es decir, está en un alojamiento web compartido) y su host no le permite usar sus propias reglas de ModSecurity, puede probar algo a nivel de aplicación, como mi propio Bad comportamiento . Comencé este proyecto en 2005 para combatir el spam de blogs y los raspadores de contenido, como los que le preocupan. Se puede agregar a cualquier sitio web basado en PHP.
También debo tener en cuenta que muchas de las reglas de mal comportamiento se han incorporado al conjunto de reglas de ModSecurity Core, por lo que siempre que haya habilitado esas reglas, ejecutar ambas sería bastante redundante. Estas reglas se anotan en el conjunto de reglas principales como originadas en el mal comportamiento.
fuente