En este post vamos a aprender a bloquear o limitar el acceso por países a WordPress para aumentar la seguridad de nuestra página web y combatir los ataques de fuerza bruta que provengan de países concretos.

Si utilizas Wordfence u otra herramienta que te permita monitorizar peticiones y ataques a tu web te habrás dado cuenta de que los usuarios de ciertos países sólo acceden a un tipo concreto de páginas de WordPress.

¿Qué estará haciendo un usuario de un país como Rusia, Corea, Malasia intentando ir al login de mi página web? ¡Nada bueno seguro!

Normalmente las páginas a las que intentan acceder son el login o registro de WordPress y al archivo XML-RPC.

Y no es casualidad ya que son conocidas vulnerabilidades o partes de WordPress por las que intentaran colarte spam, inyectar código, robar datos, acceder a tu panel de administración o simplemente reventar por los aires tu página web.

Aquí te dejo una captura de las estadísticas de Wordfence donde se puede ver el Top de países por número de ataques bloqueados.

paises mas bloqueados en wordpress

Así que hoy te voy a enseñar a bloquear países en WordPress para que los usuarios de ciertos países no puedan acceder a la totalidad de tu web o solo a la parte de administración de WordPress.

Configurar el bloqueo de países en WordPress

Podemos implementar esta medida en WordPress mediante plugins de seguridad para bloquear países como Wordfence y IP Geo Block  y también podemos bloquear países mediante el archivo htaccess.

IP Geo Block

ip geo block bloquear paises en wordpress

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 pública de la web (Proteger el Frontend)
  • Ver estadísticas y logs de los bloqueos.

Configurar el bloqueo de países en Ip Geo Block

Una vez instalado vamos a Ajustes > IP Geo Block para empezar a configurarlo.

Primero vamos a configurar las reglas de validación donde crearemos una lista blanca y negra de países.

Lo más recomendable es poner en la lista blanca el país desde nos conectamos normalmente y en la lista negra los países que hemos detectado que nos está llegando ataques constantemente.

Primero pulsaremos el botón “Scan Your Country Code”.Esta opción nos mostrará el código del país desde nos estamos conectando.

Después configuramos la lista blanca y negra de los países. La lista blanca serán los países que no se van a bloquear o que tendrán el acceso permitido.

Y en la lista negra configuraremos los países que queremos bloquear.

Simplemente en el desplegable de la opción “Matching rule” elegimos Whitelist y Blacklist.

E introducimos el código de cada país separado por comas en la opción “Whitelist of country code” o “Blacklist of country code” según lo queramos bloquear o no.

Podemos encontrar los códigos de los países en el link que hay debajo de la opción o aquí.

Por ejemplo el código ES representa a España y RU a Rusia.

ZZ es el código para países desconocidos, útil si los hackers están ocultando el país desde donde se conectan y por defecto viene configurado en la lista negra.

como bloquar paises en wordpress

En la opción “Whitelist of extra IP addresses prior to country code (CIDR)” podemos configurar la lista blanca por IP, para introducir nuestra propia ip o la ip de los servidores de servicios externos que utilicemos, como por ejemplo la IP de los servidores del plugin Jetpack.

Con la opción “Response Code” podemos simular el error que se mostrará a los usuarios de países restringidos. Por defecto está configurado en 403 Forbidden.

“Max number of failed login attempts per IP address” esta opción configura el número de intentos de sesión fallidos que una IP puede cometer antes de ser bloqueada.

Configurar el bloqueo de países a la zona de administración

Una vez configuradas estas opciones vamos a configurar las opciones para el bloqueo por países del Back End.

En estas opciones podemos elegir quien tendrá acceso a las diferentes partes del BackEnd según la lista blanca o negra de los países que hemos configurado anteriormente.

bloquear acceso paises backend

Simplemente tenemos que marcar las casillas de verificación “Block by country” para activar el bloqueo en cada opción.

Admin área y login form protegen la zona de administración y los login de WordPress de acceso y registro de usuarios y el formulario de perdida de contraseña.

Por defecto vienen marcadas y es recomendable tenerlas para tener la configuración mínima de seguridad de este plugin.

Comment Post, esta opción protege los formularios de los cometarios, no está marcada por defecto ya que si utilizamos un sistema de comentarios externo que no sea el original de WordPress podemos dejar sin acceso a su sistema.

XML-RPC esta opción activa l protección del archivo xmlrpc de WordPress que se encarga de los pingbacks y también es utilizado por aplicaciones móviles y algunos plugin como Jetpack.

Con este tipo de opciones hay que tener cuidado si tienes muchos países en la lista negra, ten en cuenta que si utilizas servicios externos con sus propios servidores pueden verse afectados y estos servicios pueden dejar de funcionar.

O también puedes incluir las IP de los servidores de los servicios externos en la lista blanca de IP.

Y con estas reglas ya será suficiente para tener asegurado el login y el archivo XML-RPC que son las partes más atacadas de una instalación de WordPress.

Admin Ajax es un archivo utilizado para múltiples servicios tanto para visitantes como para administradores y muchos de los temas y plugin lo utilizan para funcionar correctamente, así que te recomiendo que no actives el bloqueo para esta opción para un correcto funcionamiento de tu sitio web.

Con las opciones plugins y Themes área podemos deshabilitar el acceso por países a las carpetas de nuestro servidor donde se encuentran nuestros plugin y temas.

Configurar el bloqueo de países a la zona pública de nuestra web

En el apartado Front-end target settings de las opciones del plugin puedes configurar el bloqueo a la parte pública de tu web.

Es decir los visitantes de los países de la lista negra ya sean bots o humanos no podrán ver el contenido de tu web.

Esta parte de la configuración es opcional y no se suele configurar ya que normalmente queremos que todo el mundo pueda ver el contenido de nuestra web.

bloquear-el-acceso-por-paises-parte-publica

Simplemente la activamos, elegimos si se usan las normas de validación que hemos creado al principio o si creamos una lista blanca o negra específica para la parte pública.

Podemos elegir que toda nuestra web no se muestre o las páginas en concreto queremos que no se vean.

Y ya hemos terminado de configurar el plugin, como ves es muy completo, podemos ver estadísticas y log en las diferentes pestañas y si lo queremos desinstalar sin que deje rastro en la base de datos podemos utilizar la opción “Remove all settings at uninstallation”.

Puedes encontrar más información sobre este plugin en la página web de Ip Geo Block.

Bloquear países con WORDFENCE

Con la versión Premium de Wordfence también podemos bloquear el acceso por países a nuestra página web desde Wordfence > Blocking > Country Blocking.

Es bastante sencillo de configurar, solo hay que elegir si se bloquea el acceso al formulario de inicio de sesión, al resto de la web o a las dos partes.

Y marcamos los países a bloquear desde el listado de países.

bloquear-paises-wordfence

Como opción avanzada podemos crear una puerta trasera por si vamos de viaje, que consiste en configurar una URL oculta que cuando accedemos a ella se instalará una cookie en el navegador con la cual podemos saltarnos el bloqueo de país.

Puedes leer más acerca de la configuración de países en Wordfence en la documentación oficial de Wordfence.

Bloquear países mediante el archivo htaccess

También podemos bloquear países mediante el archivo htaccess , sin la necesidad de utilizar plugins.

No te recomiendo que bloquees países con este método si no sabes exactamente lo que estás haciendo y por si acaso antes de tocar el archivo .htaccess crea una copia de seguridad.

Simplemente hay que denegar el acceso los rangos de IP de los países en el archivo .htaccess que se encuentra normalmente en la raíz de tu servidor.

Podemos generar una lista con los rangos de las IP de los países y las reglas necesarias para bloquearlas en Countryipblocks

bloquear paises desde el htaccess

Elegimos el país a bloquear y seleccionamos .htaccess Deny para que genere las reglas para denegar países o .htaccess Allow para las reglas de países permitidos y copiamos y pegamos el código con la lista de ip dentro del archivo .htaccess.

La única pega que tiene este método es que las direcciones Ip asociadas a los países se van actualizando en el tiempo y deberemos actualizar la lista y el archivo htaccess cada cierto tiempo.

Recomendaciones del bloqueo de países

Bloquear países es una medida avanzada de seguridad que no debemos implementar a la ligera por diversos motivos y en la mayoría de los casos con tener configurados los intentos de inicio de sesión es más que suficiente para tener una web segura.

Si aún así quieres utilizar los bloqueos de acceso a WordPress por países te recomiendo:

  • 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 dejarán 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.
  • Si estás bloqueando los países con el archivo .htaccess actualiza las direcciones IP.

Pin It on Pinterest

Shares
Esta web utiliza cookies propias para su correcto funcionamiento y cookies de terceros (Incluido Google y otros terceros) para mostrar y medir anuncios personalizados y contenidos personalizados. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Puedes Personalizar Cookies para configurar tus preferencias de cookies y tratamiento de datos.    Más información
Privacidad