Super Reglas de Firewall con CloudFlare

En esta publicación te voy a explicar como crear un Regla de Firewall con Cloudflare para prevenir cientos o miles de ataques diarios a tu sitio de WordPress.

Siento una gran necesidad de hablar de esto, porque el enfoque de las voces más prominentes en la comunidad de WordPress tienden a recomendar plugins o servicios que tiene un enfoque comercial.

Las reglas de cortafuegos con Cloudflare que aprenderás a usar hoy son reglas gratuitas y brindan protección a nivel de CDN.



Entendiendo de que esta Hecho WordPress

Entender la instalación de WordPress nos puede ayudar a entender como bloquear el acceso a aquellos archivos que mal programados podrían crear una vulnerabilidad.

WordPress esta compuesto de:


Archivos PHP

Los archivos PHP terminan con la extensión.php, cuando deseas hacer inicio de sesión, encontrarás que la URL contiene wp-login.php

Cuando entras al escritorio de WordPress encontrarás que no importa donde vayas encontrarás que las páginas contienen la extensión .php

Uno de los archivos objetivo de los ataques de fuerza bruta es el archivo XML-RPC.PHP

La contraseña de la base de datos de tu sitio se encuentra en el archivo wp-config.php

Si quieres jugar un poco, puedes descargar WordPress, descomprimirlo y ver los archivos que contiene.

Los temas y los plugins que agregas a tu sitio de WordPress tambien agregan archivos, puedes comprobarlo yendo al Editor de Temas (Theme File Editor) y visitando el editor de plugins (Plugin File Editor)

Muchos de los problemas de seguridad relacionados con WordPress tiene relación con. archivos.php

  • Los ataques de fuerza bruta definitivamente se asocian con archivos .php
  • Una parte de los problemas se asocian con los archivos .php en plugins

La gran ventaja es que los plugins no deben ser accedidos por los visitantes de tu sitio

Las excepciones pueden ser (1) plugin que necesitan conectarse a tu sitio, (2) sitios de membresía o (3) un sitio e-commerce


Scripts

Los scripts pueden ser usados para realizar acciones maliciosas como redireccionar tu sitio a un sitio de un tercero.

Los temas de WordPress son una fuente común de vulnerabilidades relacionadas con JavaScript.

Si un tema incluye archivos JavaScript que no validan o sanitizan adecuadamente las entradas del usuario, puede volverse susceptible a ataques XSS.

Los formularios en los sitios web de WordPress pueden generar vulnerabilidades de seguridad si no están configurados correctamente o si carecen de las medidas de seguridad adecuadas.

Los formularios, como formularios de contacto, formularios de registro o formularios de comentarios, son elementos comunes en los sitios web que permiten a los usuarios enviar datos.

Cuando los formularios no están protegidos correctamente, estos formularios pueden ser explotados por actores maliciosos para diversos fines.

  • Inyección SQL: Si un formulario no desinfecta y valida adecuadamente las entradas del usuario, puede ser vulnerable a ataques de inyección SQL. Un atacante podría enviar consultas SQL especialmente diseñadas a través de un formulario, lo que podría obtener acceso no autorizado a la base de datos de WordPress o realizar otras acciones maliciosas.
  • Cross-Site Scripting (XSS): Los formularios se pueden utilizar para inyectar scripts maliciosos en páginas web si los datos de entrada no se desinfectan adecuadamente. Cuando otros usuarios ven las páginas que contienen los scripts inyectados, sus navegadores pueden ejecutar el código malicioso, lo que provoca secuestro de sesión, robo de datos u otros ataques.

Base de Datos

Lo más importante de tu sitio web probablemente sea la base de datos ya que esta contiene:

  • El contenido de todas las publicaciones
  • Los meta datos agregados por plugins de SEO
  • Los datos de todos los campos personalizados.
  • Los diseños de tu sitio.
  • La tablas donde puedes modificar datos de todos los usuarios del sitio.
  • Datos relacionados con las imágenes de tu sitio como los alt tags

Medios

Al Igual que los estilos, no hay nada inseguro en los medios como tal.

Tampoco podemos crear reglas de cortafuego para bloquearlos, porque estos son parte del font-end de tu sitio.


CSS

No hay nada inseguro en los archivos CSS que puedes encontrar en tu sitio, ya que estos archivos son solamente usados para dar estilo a tu sitio.

Tampoco podemos bloquear los archivos CSS necesarios para que tu sitio luzca como debe lucir.


Cómo Crear Reglas de Cortafuego en Cloudflare

Las Reglas de cortafuego que puedes crear con Cloudflare no tienen limites y pueden reducir en gran porcentaje los ataques que son dirigidos a tu sitio de WordPress.

Cloudflare brinda cinco reglas de manera gratuita para bloquear los ataques.

Brevemente te explicaré como funciona el formulario para crear reglas de cortafuego:


Cortafuegos de Cloudflare: Campo

El nombre que le des a la regla puede ser lo que tu quieras.

Del Menu llamado “field” vas a escoger lo que quieres una caracteristica de la solicitud.

Por ejemplo:

  • Si deseas implementar una regla que tenga relación con china de tu sitio con contenido solo en español, debes escoger “country”
  • Si deseas implementar una regla que tiene relación con todos los países en Asia, debes escoger continente.
  • Si deseas implementar una regla que tiene relación con un proveedor de internet, entonces debes escoger “AS Num”
  • Si deseas implementar una regla relacionada con un agente de usuario, entonces debes escoger “user agent”
  • Si desear implementar una regla relacionada con una versión vieja de HTTP, entonces debes escoger “HTTP Version”
  • Si deseas implementar reglas relacionadas con las URL’s de tu sitio, entonces debes trabajar con “URI Full”, “URI Path”, “URI” o “URI String”

El punto al que quiero llegar es que debes entender de que tratan cada una de estas opciones antes de pretender implementarlas.

Tambien debes tener claro como identificar la solicitud puede aumentar tu seguridad.


Cortafuegos de Cloudflare: Operador

Ahora veamos las opciones que se encuentran en el menu de operador.

Operador en reglas personalizadas de Cloudflare

Esta sección es mucho más sencilla que la anterior por lo que las opciones tienen bastante sentido y no están estrictamente relacionadas a términos informáticos.

Si yo quiero aplicar una medida a una IP especifica, escogería “IP Source Address” y luego escogería “equal”

Si quiero que la regla aplique para cualquier IP excepto la que yo he especificado escogería “IP Source Address” y luego escogería “does not equal”

Si quisiera bloquear un agente de usuario, escogería “user agent” y luego escogería “contains”

Si quisiera permitirle a una dirección IP acceder a mi página de acceso, escogería “IP Source Address” y luego escogería “does not contain”

Nota: Dependiendo de la opción, puedes


Cortafuegos de Cloudflare: Valores , “Y” o “Or”

Ya estamos a punto de llegar al final de los pasos de cómo crear una regla de cortafuego en Cloudflare.

La sección llamada “value” o “valores” permite agregar lo que tenga relación con lo que hayamos escogido en el menu “field” o “campo”

Tambien tenemos las opciones “y” o “or” en caso que queramos que el cortafuego verifique varios valores

Valores al momento de crear reglas de cortafuego en Cloudflare

Ahora a los practico sobre la creación:

Si yo quiero permitir que solo una dirección IP puede visitar mi escritorio:

Escogería:

FieldIP Source Address
OperatorDoesn’t equal
Value104.28.246.138

Despues de esto haría click en “and”

FieldURI Path
OperatorContains
Valuewp-admin

Y el ultimo paso sería escoger:

ActionBlock

Cloudflare Firewall: “Acciones” o “Actions”

La ultima sección de las reglas es la que pone el clavo en el ataúd al problema de seguridad del que te deseas deshacer.

“Skip” permite brincarse el resto de reglas siempre y cuando la regla con esta acción las anteceda.

Managed Challenged” es lo que viene a reemplazar los desafíos captcha y puede ser que se le muestren al usuario o no dependiendo de su comportamiento en Internet.

JS Challenge” es un desafío Javascript que se ejecuta en el navegador

“Block” permite el bloqueo rotundo de los usuarios

El “Interactive Challenge” ya va de salida y no deberías usarlo


Ejemplo de Reglas de Cortafuego con Cloudflare

Con las 5 reglas de cortafuegos que Cloudflare brinda de manera gratuita y las opciones de “and” y “or” puedes crear muchas reglas de cortafuego personalizadas.

Debes recordar que todos los sitios de WordPress son diferentes, por lo que las reglas se crean y cambian dependiendo de su comportamiento.

Cloudflare brinda una lista de eventos donde puedes verificar la eficacia de las reglas implementadas.

Estas son algunas reglas que debes considerar


Bloquear Archivos .PHP

Si tienes un blog, puedes bloquear el acceso rotundo de los visitantes a todos estos archivos escribiendo esta simple regla.

FieldURI Path
OperatorContains
Value.php
ActionBlock

Este enfoque de seguridad no es bueno para sitios de membresía o e-commerce si estos de alguna manera interactúan con archivos .php

Esta regla puede crear conflictos con plugins que requieren una conexión activa con el escritorio de WordPress como es el caso de Jetpack

Lo otro que debes tomar en cuenta es que debes crear una regla que permita a los administradores saltarse esta regla


Whitelist: Direcciones IP de Administradores y Editores

Hay muchas maneras para bloquear al mundo y permitir trabajar a los administradores en el sitio sin problema

Estos son algunos ejemplos:

FieldIP Source Address
OperatorEquals
Value104.28.246.138
ActionSkip

Esta regla debe ser colocado de primero para que se salte el resto de reglas que implementes.


Whitelist: Pais de Administradores y Editores

Si tienes muchos colaboradores en un país en algún punto, puedes considerar permitir al país entero.

FieldCountry
OperatorEquals
ValueMexico
ActionSkip

Esta regla debe ser colocado de primero para que se salte el resto de reglas que implementes.

Perfectamente puedes incluir otros criterios para fortalecer la seguridad del backend.

Manuel Campos, English Professor

Manuel Campos

I am José Manuel. I am writing about things I know and things that I am learning about WordPress. I hope you find the content of this blog useful.

WP SURFER

home

about

privacy

contact

© 2024 WP SURFER • Made with Love in Costa Rica