He sido blanco de un ataque de fuerza bruta en dos sitios de WordPress que tengo. El atacante está usando el viejo y bueno XML-RPC para amplificar el ataque de contraseña de fuerza bruta. Afortunadamente, tenemos contraseñas extremadamente bien generadas, por lo que dudo mucho que llegue a alguna parte.
Acabo de usar iptables para bloquear sus solicitudes cada vez que aparece de nuevo (siempre del mismo proveedor de nube virtual), pero preferiría modificar el servidor para que cada vez que su dirección IP solicite cualquier página, reciba una respuesta diciéndole para conseguir una vida La mayoría de las solicitudes son POST, por lo que idealmente me gustaría modificar el encabezado de respuesta para incluir algo como "¡Mejor suerte la próxima vez!" o algo igualmente satisfactorio.
es posible? Estoy lejos de ser un experto en Apache, así que no estoy seguro de lo difícil que sería implementar esto. Pero incluso si me lleva horas, la satisfacción no tendrá precio.
Como referencia, estoy ejecutando Ubuntu 16.04.2 LTS, con Apache 2.4.18 alojando Wordpress 4.7.3.
fuente
Respuestas:
Simplemente instale fail2ban con la cárcel apropiada y termine con ella. No se moleste en dar una respuesta personalizada, ya que es muy probable que nunca se vea.
fuente
die("blah blah");
Existe la posibilidad, y lo hicimos bastante, de revertir posibles ataques. Use iptables para redirigir el proveedor de la nube (rango de direcciones) a un puerto diferente, y allí le sirve al atacante una respuesta, incluso en encabezados simples.
En Apache puede modificar encabezados por ejemplo:
fuente
Esto es muy fácil con ModSecurity, que es un módulo WAF de terceros para Apache. Aunque implica aprender su sintaxis de lenguaje de reglas.
También puede usar ModSecurity para simplemente desconectar la conexión en lugar de responder.
Dicho esto, la instalación de ModSecurity solo por esto, cuando, como otros han sugerido, es probable que las respuestas sean ignoradas, puede ser exagerado.
fuente
Iría con fail2ban y soltaría solicitudes de ubicaciones de abuso conocidas. Y si cree que el proveedor de servicios del atacante no tiene la culpa, informe los ataques a su dirección de correo electrónico de abuso.
Si desea pasar tiempo haciendo algo que disminuya la velocidad del atacante, puede intentar hacer una tarpit . Primero, por supuesto, debes saber de dónde vienen los ataques. Luego, podría usar apache para redirigir la solicitud de la ip (rango?) A un script específico. Esto podría hacer el truco, aunque no lo he intentado yo mismo. Luego, simplemente implemente un script que, por ejemplo, imprima un punto (o algo de / dev / null) cada 15 segundos para mantener la conexión del atacante abierta indefinidamente.
Dado que es muy probable que el atacante use scripts para atacar su sitio, puede tomar tiempo darse cuenta de que los ataques se han estancado, ya que las conexiones están aparentemente activas, no habrá tiempo de espera y la solicitud no se denegará en el acto.
El problema es que le dedica tiempo y recursos a algo que probablemente no será tan útil como la preocupación más importante: asegurar su inicio de sesión. Es difícil atacar cuando no sabes dónde atacar. Considere algunos de los siguientes:
fuente