Configurar las listas de control de acceso (ACL) de Varnish es un paso crucial para proteger su caché de Varnish y garantizar que solo el tráfico autorizado pueda interactuar con él. Como proveedor de Varnish, entiendo la importancia de una configuración adecuada de ACL y su impacto en el rendimiento general y la seguridad de su infraestructura web. En esta publicación de blog, lo guiaré a través del proceso de configuración de las ACL de Varnish y le brindaré pasos detallados y las mejores prácticas.
Comprensión de las ACL de Varnish
Antes de sumergirnos en el proceso de configuración, primero comprendamos qué son las ACL de Varnish y por qué son importantes. Una lista de control de acceso (ACL) en Varnish es una lista de direcciones IP o rangos de IP a los que se les permite o deniega el acceso a su caché de Varnish. Las ACL se utilizan para controlar qué clientes pueden realizar solicitudes a su servidor Varnish, lo que le ayuda a proteger su caché contra accesos no autorizados, tráfico malicioso y ataques de fuerza bruta.
Las ACL de Varnish se pueden utilizar en varias partes de la configuración de Varnish, como en lavcl_recvsubrutina para controlar qué clientes pueden realizar solicitudes, o en elvcl_backend_fetchsubrutina para controlar a qué servidores backend se puede acceder. Al utilizar las ACL de forma eficaz, puede mejorar la seguridad de su caché de Varnish y garantizar que solo se procese el tráfico confiable.
Paso 1: Definir una ACL
El primer paso para configurar las ACL de Varnish es definir las ACL en su archivo de configuración de Varnish (normalmente denominadopredeterminado.vcl). Puede definir varias ACL en su archivo de configuración, cada una con un nombre único y una lista de direcciones IP o rangos de IP.


A continuación se muestra un ejemplo de cómo definir una ACL en su archivo de configuración de Varnish:
acl clientes_de confianza { "192.168.1.0"/24; # Permitir todas las IP en la subred 192.168.1.0/24 "10.0.0.1"; # Permitir una única dirección IP }
En este ejemplo, hemos definido una ACL denominadaclientes_de_confianzaque permite todas las direcciones IP en el192.168.1.0/24subred y la dirección IP única10.0.0.1. Puede agregar tantas direcciones IP o rangos de IP como necesite a su ACL.
Paso 2: usar la ACL en subrutinas VCL
Una vez que haya definido sus ACL, puede usarlas en sus subrutinas del lenguaje de configuración de Varnish (VCL) para controlar el acceso a su caché de Varnish. A continuación se muestran algunos ejemplos de cómo utilizar ACL en diferentes subrutinas VCL:
Uso de ACL envcl_recv
Elvcl_recvLa subrutina se llama cuando Varnish recibe una solicitud de un cliente. Puede utilizar una ACL en esta subrutina para bloquear solicitudes de clientes no autorizados.
sub vcl_recv { if (!client.ip ~ clientes_confiables) { return (sintetizador(403, "Prohibido")); } # Continuar procesando la solicitud si el cliente es de confianza return (pass); }
En este ejemplo, verificamos si la dirección IP del cliente está en elclientes_de_confianzaLCA. Si no es así, devolvemos un403 Prohibidoerror. Si el cliente es de confianza, continuamos procesando la solicitud.
Uso de ACL envcl_backend_fetch
Elvcl_backend_fetchSe llama a la subrutina cuando Varnish necesita recuperar contenido de un servidor backend. Puede utilizar una ACL en esta subrutina para controlar a qué servidores backend se puede acceder.
acl permitido_backends { "10.0.1.0"/24; # Permitir el acceso a todos los servidores en la subred 10.0.1.0/24 } sub vcl_backend_fetch { if (!bereq.backend.ip ~ permitido_backends) { return (synth(503, "Servicio no disponible")); } # Continuar obteniendo contenido del backend si está permitido return (fetch); }
En este ejemplo, definimos una nueva ACL llamadabackends permitidosque permite el acceso a todos los servidores del10.0.1.0/24subred. Luego verificamos si la dirección IP del servidor backend está en elbackends permitidosLCA. Si no es así, devolvemos unServicio 503 no disponibleerror. Si el servidor backend está permitido, continuamos obteniendo contenido de él.
Paso 3: recargar la configuración de Varnish
Después de haber realizado cambios en su archivo de configuración de Varnish, debe volver a cargar la configuración de Varnish para que los cambios surtan efecto. Puedes hacer esto usando el siguiente comando:
barniz de recarga sudo systemctl
Este comando recargará el servicio Varnish con la nueva configuración. Asegúrese de probar minuciosamente su configuración después de recargar para asegurarse de que funcione como se esperaba.
Mejores prácticas para configurar las ACL de Varnish
A continuación se detallan algunas prácticas recomendadas que se deben tener en cuenta al configurar las ACL de Varnish:
- Mantenga sus ACL actualizadas: revise y actualice periódicamente sus ACL para asegurarse de que reflejen los requisitos de seguridad actuales de su red. Elimine las direcciones IP o rangos de IP que ya no sean necesarios y agregue otros nuevos según sea necesario.
- Utilice rangos de IP específicos: Siempre que sea posible, utilice rangos de IP específicos en lugar de subredes amplias. Esto le ayudará a tener más control sobre qué clientes o servidores pueden acceder a su caché de Varnish.
- Pruebe su configuración: Antes de implementar su configuración de ACL en un entorno de producción, pruébela en un entorno de prueba o de desarrollo para asegurarse de que funciona como se esperaba.
- Supervise sus registros de Varnish: Supervise sus registros de Varnish periódicamente para detectar intentos de acceso no autorizados o problemas de seguridad. Puedes utilizar herramientas como
registro de barnizpara ver los registros de Varnish.
Productos de barniz adicionales
Como proveedor de barnices, ofrecemos una gama de productos de barnices de alta calidad para satisfacer sus necesidades específicas. Nuestros productos incluyenCapa superior mate a base de agua,Barniz transparente a base de agua, yBrillo de poliuretano a base de agua. Estos productos están diseñados para brindar una excelente protección y acabado a sus superficies, a la vez que son amigables con el medio ambiente.
Contáctenos para adquisiciones
Si está interesado en comprar nuestros productos Varnish o necesita más ayuda con la configuración de Varnish ACL, no dude en contactarnos. Nuestro equipo de expertos está listo para ayudarle a encontrar las mejores soluciones para su negocio.
Referencias
- Documentación del software de barniz. (Dakota del Norte). Lenguaje de configuración de barniz (VCL). Obtenido del sitio web oficial de Varnish Software.
- Medios O'Reilly. (2014). Barniz: En funcionamiento. Por Salvatore Sanfilippo.
