¿Qué significa cuando hay muchas solicitudes POST para /wp-login.php en los registros de Apache?


15

Los mensajes están dirigidos al sitio de WordPress en mi servidor. Estos provienen de access_log, y no sé si esto debería preocuparme o no.

Hay más de cien líneas del mismo mensaje que abarcan unos pocos segundos cada vez. Si no sabes a qué me refiero, aquí están los registros:

108.162.216.73 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"

Acabo de hacer un recuento de todas las instancias para estas dos direcciones IP, y se accedió al menos a más de 100,000 veces diferentes, desde el 22.

Respuestas:


30

Alguien está intentando forzar su página de inicio de sesión. Las solicitudes HTTP POST se utilizan para datos de formulario HTML, que en el caso de una wp-login.phppágina probablemente será el formulario de nombre de usuario / contraseña.

Para WordPress específicamente, debe leer esta página wiki , que menciona una serie de pasos útiles para tomar y proteger su instancia, como:

  • no usar el adminnombre de usuario
  • elegir una contraseña segura
  • usando complementos para restringir los intentos de inicio de sesión a nivel de WordPress, Apache o servidor
  • htpasswd-proteger la página (con la ayuda de un generador )

En cualquier caso, la configuración fail2banes algo que definitivamente debes considerar. Restringirá la cantidad de veces que una determinada IP puede intentar iniciar sesión en su máquina (por ejemplo, a través de FTP, SSH, etc.).


Intenté configurar fail2ban pero luego me fue imposible acceder a mi servidor. Pude usar el reinicio seguro, pero no pude eliminarlo ni nada. Busqué en Google mi problema y descubrí que otros que estaban en Centos 7 tenían el mismo problema. Afortunadamente para mí, no tenía nada en el servidor, así que simplemente reinstalé el sistema operativo que tomó unos minutos.
travis

2
Ah, eso es desafortunado. No he tenido problemas con él en mi servidor CentOS. Normalmente no debería interferir tanto.
slhck

Otra cosa que vale la pena considerar es PeerGuardian.
paradroid

2
@travis Eso es algo de esperar cuando tiene inicios de sesión SSH basados ​​en contraseña. Debería considerar usar claves SSH para la autenticación e inhabilitar por completo el inicio de sesión basado en contraseña SSH, y probablemente también sea una buena idea cambiar el puerto SSH predeterminado en su servidor
Invierno

1
@glglgl Es un elemento disuasorio. Impide que alguien diga "Me pregunto si esto es inseguro ...": no detendrá un ataque dirigido, pero detendrá a un hacker casual. "En otro lugar es más fácil".

2

Parece que los intentos de piratería por fuerza bruta entran en la consola de administración del sitio de WordPress. Los obtengo todo el tiempo en mis sitios de WordPress. Si tuviera un usuario llamado admin con la contraseña 'pass', seguramente ya habría entrado.

Instale un complemento de seguridad que bloqueará las direcciones IP después de un cierto número de intentos de inicio de sesión. Yo uso Wordfence .


44
Esas direcciones IP parecen provenir de servidores CloudFlare CDN en San Francisco y Japón, lo cual es un poco extraño.
Paradroid

Espero que eso signifique que el sitio está detrás de CloudFlare. Probablemente hay un X-Forwarded-Forencabezado que mod_rpafpodría usar, pero no está configurado para
ceejayoz

@ceejayoz No estoy seguro de lo que quieres decir. Como wp-login.phpno es un archivo estático, no estará en el CDN de todos modos. No entiendo por qué estas conexiones entrantes parecen provenir de los servidores CloudFlare CDN. ¿Quizás CloudFlare también hace servidor de alojamiento?
paradroid

Puede (y generalmente lo hace) apuntar todo su dominio a CloudFlare. Eso significa que las solicitudes entrantes, GET y POST, dinámicas o estáticas, pasan primero por CloudFlare y, por lo tanto, tendrían sus IP.
ceejayoz
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.