¿Cómo bloquear IP en WordPress para evitar ataques? Hoy os cuento un caso que nos ha pasado esta semana con un cliente: una tienda online recibía muchas visitas y la transferencia del servidor era muy elevada, de un día para otro, por visitas masivas malintencionadas... Es momento de investigar!
Una tienda online se pone en contacto conmigo para que le realicemos el Mantenimiento WordPress a su Comercio electrónico ya que nunca han optimizado nada, carga lenta, su base de datos está llena, plugins sin actualizar, etc... lo más común en las peticiones que nos suelen llegar.
Por otro lado me indican que, de golpe y porrazo, han empezado a tener muchísimas visitas pero que venden lo mismo, cosa que me mosquea.
Investigando en el hosting veo que desde un día en concreto (el 21/12/2017 para ser exactos) empiezan a tener visitas de la coche a la mañana de forma brutal! Pasamos de un consumo en transferencia en hosting de 200-300MG diarios a más de 4gb al día... ¿sospechoso verdad? Su hosting tiene un máximo de 70GB mensuales para transferencia de datos y esto podía dar lugar a un bloqueo hasta que empezara el nuevo mes... un horror para las ventas!
En un caso con un aumento de conversiones dirías "bien, por fin he pegado el pelotazo con una campaña de navidad!..." pero no es el caso; el aumento de ventas no es destacable (en navidad se suele vender algo más aunque no hagas campañas de ningún tipo, como era este caso) pero las visitas sí, y mucho!!!
Cómo saber cuantas visitas tiene tu web y de donde vienen
Una forma rápida es ver visitas con Google Analytics, o bien una ms sencilla para usuarios junior, entrar en el panel de tu hosting y mirar las estadísticas de visitas.
Mira la estadística y, antes de seguir leyendo, piensa si hay algo que no te cuadra...
Hay algo que parece sospechoso ¿no crees? En un mes como navidad, si tienes una tienda online, lo normal es que suban las visitas, con alto y bajos, pero ¿que continúen estas después de reyes?¿No seria normal que bajar en lugar de ser constantes y lineales?
Puede ser el caso pero repito que este cliente, ni hizo campaña de navidad, ni nada por el estilo así que hagamos un poco más de investigación y miremos de donde vienen estas visitas en ese periodo...
Muchas visitas desde Estados Unidos, que bien! Pues no... Esta tienda online solo vende en Europa y el poco Inbound marketing y marketing tradicional que hicieron es vender en ferias y convenciones, sumando el envío de emails a suscriptores y clientes, casi un 100% de la UE.
Es el momento de mirar IPs, ver el consumo de tráfico individualmente de estas visitas y bloquear las que sean sospechosas.
Según lo que vemos, ninguna IP en EEUU baja de un consumo de 1GB y en España, el consumo diario de todas las visitas, era de unos 300MB!
Bloquear IP en WordPress con Plugin
Importante, antes de nada, copia de seguridad!
El plugin del que voy a hablar a continuación lo deberíamos utilizar como caso extremo ya que con él podrás bloquear paises enteros, cosa que puede hacerte falta si sufres un ataque como el que sufrió mi cliente, teniendo en cuenta que cabe la posibilidad de que dejen de funcionar herramientas de gestión o análisis que tenian permitido el acceso a tu web de forma externa; deberás consultar las ip y añadirlas a una lista blanca en el mismo plugin comentado.
Antes de activarlo tienes que tener en cuenta:
- No ser muy restrictivo, bloquea países solo si detectas gran cantidad de inicios de sesión fallidos procedentes de un determinado país.
- No bloquear a EEUU ni países de Europa ya que servicios legítimos dejaran de funcionar o crearan errores, como los rastreadores de los buscadores, plugins que trabajan desde servidores externos como Jetpack y Akismet, o servicios como Paypal.
- No bloquear ningún país de la zona pública si utilizas Google Adwords, ya que este servicio no lo permite.
IP Geo Block es un plugin gratuito, muy completo con más de 10000 instalaciones activas que nos permite bloquear países según su código de país y también:
- Crear lista blanca de países
- Crear lista negra de países
- Bloquear el acceso a la parte de administración (Proteger el Backend)
- Bloquear el acceso a la parte publica de la web (Proteger el Frontend)
- Ver estadísticas y logs de los bloqueos.
Bloquear IP en WordPress desde .htaccess
Si Internet fuera un mundo físico, las direcciones IP serian como países, calle y número de casa. Cada ordenador conectado a Internet tiene una dirección IP asignada y estas se forman principalmente por una serie de números separados por puntos similares a esto:
172.16.254.65
Existen varias formas de bloquear IP en WordPress: configurándolo en tu plugin de seguridad ( añadiendo estas IP a una Lista negra), o bien, añadiendo estas IP en el archivo .htaccess con el siguiente código:
order allow,deny
deny from 44.44.44.44
deny from 44.44.44.55
deny from 44.44.44.66
allow from all
Modificar las IP mostradas por las que deseas y añadir tantas lineas como se necesite
Así solo restringimos el acceso a esas IP sospechosas y al resto las dejamos entrar.
Os dejo el estado posterior a las configuraciones de bloqueo!
Y con esto y un bizcocho, las ips atacantes a la basura!
Ahorra tiempo y evita posibles errores con el Servicio Mantenimiento WordPress
hola, como hago para que un usuario wordpress no pueda compartir su usuario y su contraseña. que solo se conecte desde su pc y bloquear las demas direcciones ip para que no puedan acceder a la pagina
Tengo una duda, desde Colombia
¿Es posible permitir visitas únicas por ip provenientes de un país?
es decir que puedan ingresar una sola vez a la página y luego sean bloqueadas automáticamente
Hola Junior, gracias por tu consulta!
Seguramente se pueda a nivel servidor pero es algo que mejor trates directamente con tu hosting porque yo no sabría decirte ahora mismo como hacerlo...
De todas formas no veo clara una situación en la que esto tenga sentido... ¿Me puedes explicar el motivo de esa necesidad para poder ver contigo posibles soluciones? Si entiendo lo que buscas mejor, puede que se me ocurra algo fácil de implementar 🙂
Un abrazo y espero que estéis bien en esta situación tan complicada.