Bloquear Dirección IP

Puede haber ocasiones en las que necesites bloquear una dirección IP (o direcciones) para evitar comportamientos maliciosos de bots, spammers u otros. Todos los planes de Kinsta incluyen una herramienta gratuita de Denegación de IP, que te permite bloquear direcciones y rangos de IP específicos para que no accedan a tu sitio.

Identificación de Direcciones IP a Bloquear en MyKinsta

Un ejemplo de una dirección IP que puedes necesitar bloquear es una que esté haciendo muchas peticiones sin caché a tu sitio en un corto espacio de tiempo. Las peticiones sin caché pueden provocar un uso excesivo de recursos y causar problemas a tu sitio.

Para ver las principales direcciones IP que visitan tu sitio, puedes utilizar el panel de analíticas de MyKinsta. Entra en MyKinsta y ve a Sitios WordPress > nombre del sitio > Analíticas > Geo & IP. En la sección IPs de clientes principales, busca cualquier dirección IP que esté realizando más peticiones que otras IPs por un valor de 5-10 veces o más. Éstas suelen ser las direcciones IP que debes investigar más a fondo.

Puedes utilizar un comprobador de reputación como CleanTalk o Spamhaus para ver si la dirección IP ha sido identificada como bot, spammer u otra dirección IP maliciosa. Aunque la dirección IP no aparezca en la lista, no es garantía de que sea legítima. Puede que la dirección IP aún no esté identificada ni incluida en su base de datos como maliciosa. Si la dirección IP está realizando una petición que provoca que tu sitio devuelva un error o se caiga, vale la pena intentarlo bloqueando la dirección IP como paso para solucionar el problema.

Bloquear una Dirección IP en MyKinsta

Para bloquear una dirección IP o un rango de direcciones IP en MyKinsta, puedes utilizar la herramienta Denegar IP.

La herramienta de Denegación de IP es una potente función y, si se utiliza incorrectamente, podría bloquear un servicio o individuo legítimo. Si tienes preguntas sobre una determinada dirección IP, abre un chat con nuestro equipo de Soporte.

En MyKinsta, ve a Sitios WordPress > Tu sitio > Denegación de IP y haz clic en el botón Añadir direcciones IP.

Empieza a añadir direcciones IP a la herramienta Denegación de IP en MyKinsta.
Empieza a añadir direcciones IP a la herramienta Denegación de IP en MyKinsta.

En el modal/ventana emergente Añadir Direcciones IP a Denegar que aparece, puedes añadir direcciones IPV4, direcciones IPV6 y rangos de direcciones IP CIDR (Classless Inter-Domain Routing) a la lista de bloqueo. Con los rangos CIDR, puedes bloquear un rango secuencial de direcciones IP (por ejemplo, de 127.0.0.1 a 127.0.0.255). Para generar un rango CIDR válido, te recomendamos que utilices una herramienta como IPAddressGuide.com.

Aquí tienes algunos ejemplos de direcciones IP que puedes bloquear:

  • Dirección IPV4 – 103.5.140.141
  • Dirección IPV6 – 2001:0db8:0a0b:12f0:0000:0000:0000:0001
  • Rango CIDR – 128.0.0.1/32

Una vez que hayas añadido la(s) dirección(es) IP a bloquear, haz clic en el botón Añadir direcciones IP.

Añade una dirección IP a denegar en MyKinsta.
Añade una dirección IP a denegar en MyKinsta.

La dirección IP y cualquier otra que hayas añadido aparecerán ahora en la lista de IP denegadas. En esta misma página, puedes Editar (icono de edición/lápiz) o Borrar (icono de borrado/papelera) cualquier dirección IP o rango.

Bloquear Direcciones IP en Cloudflare

Si eres usuario de Cloudflare, puedes utilizar la herramienta Reglas de Acceso a IP en el panel de control de Cloudflare para bloquear direcciones IP y rangos de IP.

En el panel de control de Cloudflare, ve a Firewall > Herramientas.

Panel de herramientas de Cloudflare.
Panel de herramientas de Cloudflare.

Para crear una nueva regla de acceso IP, añade una dirección IP, selecciona la acción Bloquear, selecciona Este sitio web (o Todos los sitios web de la cuenta si quieres que la regla se aplique a todos tus dominios de Cloudflare) y haz clic en Añadir.

Añadir una regla de acceso IP.
Añadir una regla de acceso IP.

Tras añadir la regla de acceso, aparecerá en la lista Reglas de Acceso IP. Aquí puedes realizar cambios en la regla de acceso, como cambiar la acción, añadir notas y eliminar la regla.

Regla de acceso IP en el panel de control de Cloudflare.
Regla de acceso IP en el panel de control de Cloudflare.

Además de la acción Bloquear, Cloudflare admite Desafío, Permitir y Desafío de JavaScript. Dependiendo de tu objetivo, puede que quieras utilizar una de estas otras acciones en lugar de Bloquear.

Bloquear Rango de IP, País y ASN en Cloudflare

Además de direcciones IP individuales, las reglas de acceso IP de Cloudflare también admiten rangos de IP, nombres de países y ASN (números de sistema autónomo, autonomous system numbers).

  • Para bloquear un rango IP, especifica un rango CIDR para el valor de la regla de acceso IP.
  • Para bloquear un país, especifica su código de país Alfa-2.
  • Para bloquear un ASN (una lista de IP controladas por un único operador de red), especifica un ASN válido que empiece por «AS».

Bloquear Direcciones IP en Nginx

Si tu sitio está autoalojado con el servidor web Nginx, puedes bloquear direcciones IP directamente en la configuración del servidor web. Aunque este método no es tan fácil de usar como bloquear IPs con la herramienta IP Deny de MyKinsta o el cortafuegos de Cloudflare, puede ser la única opción en determinadas situaciones.

Para bloquear una dirección IP en Nginx, accede mediante SSH a tu servidor y abre tu archivo de configuración de Nginx con el editor de texto nano de la siguiente manera:

nano /etc/nginx/nginx.conf

Bloquear una Única Dirección IP con Nginx

Para bloquear una única dirección IP (IPV4 o IPV6) en Nginx, utiliza la directiva deny del siguiente modo:

deny 190.60.78.31;
deny 4b73:8cd3:6f7b:8ddc:d2f9:31ca:b6b1:834e;

Bloquear un Rango de IP CIDR con Nginx

Para bloquear un rango de IP CIDR en Nginx, utiliza la siguiente directiva:

deny 192.168.0.0/24;

Técnicas Avanzadas de Bloqueo de IP en Nginx

Si quieres bloquear el acceso a un directorio concreto (por ejemplo, dominio.com/secret-directory/), puedes utilizar la siguiente directiva de Nginx:

location /secret-directory/ {
        deny 192.168.0.0/24;
}

La directiva deny acepta all como valor. Esto es útil cuando bloqueas todas las direcciones IP a tu sitio. La directiva deny all; se utiliza a menudo junto con la allow – esto te permite permitir direcciones IP específicas mientras bloqueas todo lo demás.

location /secret-directory/ {
        allow 192.168.0.0/16;
        deny all;
}

Guardar la Configuración de Nginx y Recargar Nginx

Cuando hayas terminado de editar la configuración con nano, guarda los cambios pulsando Ctrl + O. Después de guardar el archivo, pulsa Ctrl + X para salir de nano.

Para activar las nuevas reglas de bloqueo IP, tendrás que recargar también la configuración de Nginx con el comando que se indica a continuación:

sudo systemctl reload nginx

Bloquear Direcciones IP en Apache

Si tu sitio está autoalojado con el servidor web Apache, puedes bloquear direcciones IP directamente en la configuración del servidor web. Para bloquear una dirección IP en Apache, tendrás que utilizar un archivo .htaccess, que te permite aplicar reglas únicas a directorios específicos. Para aplicar reglas a todo tu sitio, el archivo .htaccess debe colocarse en el directorio raíz de tu sitio.

Para empezar, accede mediante SSH a tu servidor, navega hasta el directorio raíz de tu sitio y crea el archivo .htaccess con el siguiente comando:

touch .htaccess

A continuación, abre el archivo .htaccess con el editor de texto nano de la siguiente manera:

nano .htaccess

Las reglas exactas para bloquear IPs dependen de si utilizas Apache 2.2 o 2.4, por lo que incluiremos reglas para ambas versiones. Cuando edites tu archivo .htaccess, utiliza las reglas para tu versión de Apache.

Bloquear una Única Dirección IP con Apache

Para bloquear una única dirección IP (IPV4 o IPV6) en Apache, utiliza las siguientes reglas:

# Apache 2.2
order allow, deny
allow 192.168.0.0
deny from all

#Apache 2.4
Require all granted
Require not ip 192.168.0.0

Bloquear un Rango de IP CIDR con Apache

# Apache 2.2
order allow, deny
allow 192.168.0.0/16
deny from all

#Apache 2.4
Require all granted
Require not ip 192.168.0.0/16

Resumen

Dependiendo de la configuración de tu sitio, hay diferentes formas de bloquear direcciones IP para que no lleguen a tu sitio. Si eres usuario de Kinsta, te recomendamos que utilices la herramienta de denegación de IP integrada en MyKinsta.

Si tu sitio no está alojado en Kinsta, te recomendamos protegerlo con Cloudflare, que te permite crear reglas de acceso IP únicas para bloquear direcciones IP, rangos y más. Por último, si no puedes configurar Cloudflare para tu sitio, puedes implementar reglas de bloqueo de IP directamente en el archivo de configuración de tu servidor web.

¿Este artículo te ha resultado útil?