Episodio 4 de Seguridad en WordPress para Principiantes.

Hoy hablo de…

 

Cómo bloquear IPs desde WordPress o por .htaccess

En sitios web WordPress que tiene el foco de geolocalización a nivel nacional, regional o local es importante mantener saneados los accesos de forma que el tráfico hacia la web sea fluido.

Plantearse cuál es la forma más adecuada de bloquear IPs o rangos de IPs ayudará a que tu sitio web no colecte demasiados datos en las tablas de la base de datos correspondientes al plugin que gestione estos filtrados de IPs.

Por ello, alternativas como la gestión de listas de Ips en el archivo .htaccess se presentan como soluciones más ligeras, a pesar de tener que ser gestionadas y mantenidas manualmente, pero aportando como ventaja la descarga de esta tarea a WordPress por medio de plugins.

 

¿Cómo bloquear IPs desde .htaccess?

Sin entrar en detalles de porqué sí o porque no bloquear por medio de htaccess, quiero que veas que el bloqueo de una o varias IPs, o inclusive un rango de IPs por .htaccess es un proceso tan sencillo como rápido de aplicar, y no genera carga extra en tu instalación de WordPress.

Las reglas de bloqueos de IPs debes crearlas siempre fuera del código de .htaccess para WordPress que es el siguiente:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

 

Bloquear una IP específica:

El siguiente código te permite bloquear determinada IP estableciendo dicho bloqueo mediante un deny from IP:

order allow,deny
deny from 200.108.100.20
allow from all

 

Bloquear varias IPs:

Esto mismo lo puedes hacer extensivo a varias IPs:

order allow,deny
deny from 200.108.100.20
deny from 174.120.1.50
deny from 10.200.130.100
deny from 104.218.13.155
allow from all

 

Bloquear un Rango de IPs:

Si por ejemplo quieres bloquear un rango de IPs que pueda ser usado desde un origen específico, aplicas la siguiente regla de bloqueo en .htaccess:

order allow,deny
deny from 200.108.100.
allow from all

De esta forma, todo el rango desde la IP 200.108.100.1 a la IP 200.108.100.254 estarán bloqueadas automáticamente y no podrán visualizar la web WordPress alojada en el Hosting donde apliques la regla en el archivo .htaccess

Debes tener cuidado con los bloqueos por rangos, no vaya a ser que por error acabes bloqueando IPs legítimas o tu propia IP (si operas con IPs dinámicas dentro de una red de fibra óptica donde se reparten las IPs dinámicas por cajas de distribución de conexiones en bloques de viviendas o calles, por ejemplo).

 

Bloquear un Host específico:

order allow,deny
deny from baidu.com
allow from all

Esto bloquearía todo el tráfico procedente del host del buscador chino Baidu.

 

Bloquear el accesos a una instalación WordPress en otra carpeta:

En un escenario en el que tu Hosting tiene varias webs, separadas en carpetas, y quieres restringir a una determinada IP, rango o país, a una instalación de una carpeta, por ejemplo /public_html/pruebas lo único que debes hacer es editar el archivo .htaccess de esa instalación (si no existe lo creas) y añadir fuera del siguiente código:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

La siguiente regla de bloqueo cuya sintaxis es la siguiente:

deny from [DIRECCIÓN IP]

Nota: El formato de IP debe ser en IPv4.

Lo ideal sería antes del bloque #BEGIN WordPress añadir el código que bloquee la IPs o el rango, tal como te expliqué anteriormente:

order allow,deny
deny from 200.108.100.20
allow from all

Esto bloqueará a la IP 200.108.100.20 el acceso a la instalación alojada en la carpeta /public_html/pruebas pero no impedirá que acceda a otras instalación del Hosting si las hubiera.

 

¿Cómo bloquear IPs mediante un plugin?

Existen numerosos plugins para aplicar bloqueos de IPs, unos específicos (solo se dedican a esta tarea) y otros como parte de una herramienta de seguridad o hardening más amplia, donde una de las políticas de seguridad es el bloqueo de IPs.

Me gustaría señalar que no merece la pena instalar un plugin que realice múltiples tareas diferentes si solo quieres aplicar bloqueos a IPs o rangos, es desperdiciar el potencial del plugin y sobrecargar tu instalación.

 

Plugins para banear IPs o rangos en WordPress:

Existen muchos más plugins para bloquear IPs específicas, rangos de IPs o bloques de países para evitar que desde esas IPs o países se acceda a tu sitio web WordPress pero ¿es la solución adecuada?.

Es evidente que muchos de los plugins conocidos como Wordfence, Sucuri Security, iThemes Security, etc., además de realizar otras tareas, permiten gestionar el bloqueo de IPs, pero acaban siendo como elefantes en una tienda de porcelanas. Se convierten en plugins pesados, que en muchos casos acaban duplicando funcionalidades de seguridad que el propio servidor de alojamiento ya aplica.

¡Pregunta a tu Hosting qué medidas aplica! no está demás y posiblemente te ahorrarás algún que otro plugin. - tuitealo

Powered by Vcgs-Toolbox

 

¿Es necesario tener listas negras de IPs?

Cada vez es más común recibir ataques (o intentos de ataques) de fuerza bruta, con diccionario, etc., principalmente contra formularios de acceso de WordPress, pudiendo llegar de 1, 5 a 20.000 ataques en apenas unas horas sin que tu llegues a percibirlos, lo que no quiere decir que no se produzcan.

Este hecho y otros muy similares justifican la creación de Listas Negras de IPs que se puedan filtrar en reglas de .htaccess o a través de un plugin de WordPress, de forma que mitigues los intentos de ataque y además liberes al servidor donde se alojen tus webs de la cantidad de tráfico que este tipo de ataques generan.

Lo ideal sería poder bloquear automáticamente aquellas IPs que sean detectadas como responsables de ataques de fuerza bruta, DDoS o similares, de manera que no tengas que estar haciéndolo manualmente ya que el volumen puede llegar a ser abrumador.

 

Para estos casos pueden ser útiles plugins como:

El plugin IP Blacklist Cloud te permite listar las direcciones IP desde tu sitio web de WordPress. Te envía el enlace del sitio web a la base de datos de IP Finder que le da a otros usuarios la posibilidad de ver cuántos sitios han bloqueado la IP específica y ver sus comentarios.

Dispone de una función al complemento que te permite bloquear los nombres de usuario de los correos basura (comentarios) en tu sitio web.

Monitoriza los intentos fallidos de autenticación que muestran el usuario y la dirección IP, ID de usuario/nombre de usuario y la fecha/hora del intento fallido de inicio de sesión en tu sitio web.

Tiene la capacidad de bloquear automáticamente los intervalos de direcciones IP que intentan iniciar sesión con un nombre de usuario válido.

 

Conclusiones

Bloquear IPs para reducir el número de peticiones al servidor donde se aloja tu sitio web y de paso bajar el nivel de estrés al que se ve sometida una instalación, por constantes intentos de ataques de diversa naturaleza contra formularios como el de acceso al dashboard de WordPress, es una medida preventiva y paliativa que va ayudar bastante a reducir el marco de ataques que podrían producirse contra tu sitio web.

Métodos para aplicar estas restricciones de IPs van a depender de tu pericia para aplicar directivas en .htaccess o decantarte por un plugin que te facilite el proceso de alta de IPs de forma automática en tu Lista Negra.

 

Hasta aquí el 4º PODCAST de Seguridad en WordPress para Principiantes dedicado a ti que acabas de empezar con tu Blog, tu Tienda online con WooCommerce o tu que tienes muchas dudas con la seguridad de tu sitio web y no sabes cómo mejorarla.

Recordarte que este PODCAST lo puedes escuchar desde tu dispositivo en iTunes o iVOOX.

 

Este PODCAST ha sido patrocinado por:

nosolocodigo.com

Si necesitas resolver problemas con infecciones o hackeos en tu web WordPress, en nosolocodigo.com encontrarás un grupo de profesionales que te ayudarán a resolver este problema y segurizar mejor tu web.  NOSOLOCODIGO.COM

 

Tu feedback y comentarios son el combustible que alimenta estos PODCAST de Seguridad en #WordPress. - tuitealo

Powered by Vcgs-Toolbox

Nos vemos en el próximo #PODCAST dedicado a WordPress y su seguridad!!

 
 

Mis post en tu correo cuando se publiquen

Sin SPAM ¡Palabra!

Compartir es GRATIS ¿te animas?Tweet about this on TwitterShare on Google+1Share on Facebook0Pin on Pinterest0Email this to someone