La configuration des listes de contrôle d'accès Varnish (ACL) est une étape cruciale pour sécuriser votre cache Varnish et garantir que seul le trafic autorisé peut interagir avec lui. En tant que fournisseur de Varnish, je comprends l'importance d'une configuration appropriée des ACL et son impact sur les performances globales et la sécurité de votre infrastructure Web. Dans cet article de blog, je vais vous guider tout au long du processus de configuration des ACL Varnish, en vous fournissant des étapes détaillées et les meilleures pratiques.
Comprendre les ACL Varnish
Avant de plonger dans le processus de configuration, comprenons d'abord ce que sont les ACL Varnish et pourquoi elles sont importantes. Une liste de contrôle d'accès (ACL) dans Varnish est une liste d'adresses IP ou de plages IP qui sont autorisées ou refusées à accéder à votre cache Varnish. Les ACL sont utilisées pour contrôler quels clients peuvent adresser des requêtes à votre serveur Varnish, vous aidant ainsi à protéger votre cache contre les accès non autorisés, le trafic malveillant et les attaques par force brute.
Les ACL Varnish peuvent être utilisées dans diverses parties de la configuration Varnish, comme dans levcl_recvsous-programme pour contrôler quels clients peuvent faire des requêtes, ou dans levcl_backend_fetchsous-programme pour contrôler quels serveurs backend sont accessibles. En utilisant efficacement les ACL, vous pouvez améliorer la sécurité de votre cache Varnish et garantir que seul le trafic approuvé est traité.
Étape 1 : Définition d'une ACL
La première étape de la configuration des ACL Varnish consiste à définir les ACL dans votre fichier de configuration Varnish (généralement nommépar défaut.vcl). Vous pouvez définir plusieurs ACL dans votre fichier de configuration, chacune avec un nom unique et une liste d'adresses IP ou de plages IP.


Voici un exemple de la façon de définir une ACL dans votre fichier de configuration Varnish :
acl trust_clients { "192.168.1.0"/24; # Autoriser toutes les adresses IP du sous-réseau 192.168.1.0/24 "10.0.0.1" ; # Autoriser une seule adresse IP }
Dans cet exemple, nous avons défini une ACL nomméeclients_de confiancequi autorise toutes les adresses IP du192.168.1.0/24sous-réseau et l'adresse IP unique10.0.0.1. Vous pouvez ajouter autant d'adresses IP ou de plages IP que nécessaire à votre ACL.
Étape 2 : Utilisation de l'ACL dans les sous-programmes VCL
Une fois que vous avez défini vos ACL, vous pouvez les utiliser dans vos sous-programmes Varnish Configuration Language (VCL) pour contrôler l'accès à votre cache Varnish. Voici quelques exemples d'utilisation des ACL dans différents sous-programmes VCL :
Utilisation des ACL dansvcl_recv
Levcl_recvLe sous-programme est appelé lorsque Varnish reçoit une demande client. Vous pouvez utiliser une ACL dans ce sous-programme pour bloquer les requêtes des clients non autorisés.
sub vcl_recv { if (!client.ip ~ trust_clients) { return (synth(403, "Forbidden")); } # Continuer le traitement de la demande si le client est fiable return (pass); }
Dans cet exemple, nous vérifions si l'adresse IP du client est dans leclients_de confianceLCA. Si ce n'est pas le cas, nous renvoyons un403 Interditerreur. Si le client est digne de confiance, nous continuons à traiter la demande.
Utilisation des ACL dansvcl_backend_fetch
Levcl_backend_fetchLe sous-programme est appelé lorsque Varnish doit récupérer le contenu d'un serveur backend. Vous pouvez utiliser une ACL dans ce sous-programme pour contrôler les serveurs back-end accessibles.
acl autorisé_backends { "10.0.1.0"/24; # Autoriser l'accès à tous les serveurs du sous-réseau 10.0.1.0/24 } sub vcl_backend_fetch { if (!bereq.backend.ip ~ Allowed_backends) { return (synth(503, "Service Unavailable")); } # Continuer à récupérer le contenu du backend s'il est autorisé return (fetch); }
Dans cet exemple, nous définissons une nouvelle ACL nomméeautorisé_backendsqui permet d'accéder à tous les serveurs du10.0.1.0/24sous-réseau. Nous vérifions ensuite si l'adresse IP du serveur backend est dans leautorisé_backendsLCA. Si ce n'est pas le cas, nous renvoyons unService 503 indisponibleerreur. Si le serveur backend est autorisé, nous continuons à en récupérer le contenu.
Étape 3 : rechargement de la configuration du vernis
Après avoir apporté des modifications à votre fichier de configuration Varnish, vous devez recharger la configuration Varnish pour que les modifications prennent effet. Vous pouvez le faire en utilisant la commande suivante :
sudo systemctl recharger le vernis
Cette commande rechargera le service Varnish avec la nouvelle configuration. Assurez-vous de tester minutieusement votre configuration après le rechargement pour vous assurer qu'elle fonctionne comme prévu.
Meilleures pratiques pour la configuration des ACL Varnish
Voici quelques bonnes pratiques à garder à l’esprit lors de la configuration des ACL Varnish :
- Gardez vos ACL à jour: examinez et mettez à jour régulièrement vos ACL pour vous assurer qu'elles reflètent les exigences de sécurité actuelles de votre réseau. Supprimez toutes les adresses IP ou plages IP qui ne sont plus nécessaires et ajoutez-en de nouvelles si nécessaire.
- Utiliser des plages IP spécifiques: Dans la mesure du possible, utilisez des plages IP spécifiques au lieu de sous-réseaux étendus. Cela vous aidera à avoir plus de contrôle sur les clients ou serveurs qui peuvent accéder à votre cache Varnish.
- Testez votre configuration: Avant de déployer votre configuration ACL dans un environnement de production, testez-la dans un environnement intermédiaire ou de développement pour vous assurer qu'elle fonctionne comme prévu.
- Surveillez vos journaux Varnish: Surveillez régulièrement vos journaux Varnish pour détecter toute tentative d'accès non autorisée ou tout problème de sécurité. Vous pouvez utiliser des outils comme
journal de vernispour afficher les journaux de vernis.
Produits de vernis supplémentaires
En tant que fournisseur de vernis, nous proposons une gamme de produits de vernis de haute qualité pour répondre à vos besoins spécifiques. Nos produits incluentCouche de finition mate à base d'eau,Vernis transparent à base d'eau, etBrillant polyuréthane à base d'eau. Ces produits sont conçus pour offrir une excellente protection et finition à vos surfaces, tout en étant respectueux de l’environnement.
Contactez-nous pour l'approvisionnement
Si vous êtes intéressé par l'achat de nos produits Varnish ou si vous avez besoin d'aide supplémentaire pour la configuration de Varnish ACL, n'hésitez pas à nous contacter. Notre équipe d'experts est prête à vous aider à trouver les meilleures solutions pour votre entreprise.
Références
- Documentation du logiciel de vernis. (sd). Langage de configuration de vernis (VCL). Extrait du site Web officiel de Varnish Software.
- Médias O'Reilly. (2014). Vernis : opérationnel. Par Salvatore Sanfilippo.
