Das Konfigurieren von Varnish-Zugriffskontrolllisten (ACLs) ist ein entscheidender Schritt zur Sicherung Ihres Varnish-Cache und zur Gewährleistung, dass nur autorisierter Datenverkehr mit ihm interagieren kann. Als Varnish-Anbieter weiß ich, wie wichtig die richtige ACL-Konfiguration ist und welche Auswirkungen sie auf die Gesamtleistung und Sicherheit Ihrer Web-Infrastruktur hat. In diesem Blogbeitrag werde ich Sie durch den Prozess der Konfiguration von Varnish-ACLs führen und Ihnen detaillierte Schritte und Best Practices vermitteln.
Grundlegendes zu Varnish-ACLs
Bevor wir uns mit dem Konfigurationsprozess befassen, wollen wir zunächst verstehen, was Varnish-ACLs sind und warum sie wichtig sind. Eine Zugriffskontrollliste (ACL) in Varnish ist eine Liste von IP-Adressen oder IP-Bereichen, denen der Zugriff auf Ihren Varnish-Cache entweder gestattet oder verweigert wird. ACLs werden verwendet, um zu steuern, welche Clients Anfragen an Ihren Varnish-Server stellen können, und helfen Ihnen, Ihren Cache vor unbefugtem Zugriff, böswilligem Datenverkehr und Brute-Force-Angriffen zu schützen.
Varnish-ACLs können in verschiedenen Teilen der Varnish-Konfiguration verwendet werden, beispielsweise in dervcl_recvUnterroutine, um zu steuern, welche Clients Anfragen stellen können, oder in dervcl_backend_fetchUnterroutine zur Steuerung, auf welche Backend-Server zugegriffen werden kann. Durch den effektiven Einsatz von ACLs können Sie die Sicherheit Ihres Varnish-Cache erhöhen und sicherstellen, dass nur vertrauenswürdiger Datenverkehr verarbeitet wird.
Schritt 1: Definieren einer ACL
Der erste Schritt bei der Konfiguration von Varnish-ACLs besteht darin, die ACLs in Ihrer Varnish-Konfigurationsdatei (normalerweise mit dem Namen „.“) zu definierendefault.vcl). Sie können in Ihrer Konfigurationsdatei mehrere ACLs definieren, jede mit einem eindeutigen Namen und einer Liste von IP-Adressen oder IP-Bereichen.


Hier ist ein Beispiel dafür, wie Sie eine ACL in Ihrer Varnish-Konfigurationsdatei definieren:
acl vertrauenswürdige_clients { "192.168.1.0"/24; # Alle IPs im 192.168.1.0/24-Subnetz „10.0.0.1“ zulassen; # Eine einzelne IP-Adresse zulassen }
In diesem Beispiel haben wir eine ACL mit dem Namen definiertvertrauenswürdige_Clientsdas ermöglicht alle IP-Adressen in der192.168.1.0/24Subnetz und die einzelne IP-Adresse10.0.0.1. Sie können Ihrer ACL so viele IP-Adressen oder IP-Bereiche hinzufügen, wie Sie benötigen.
Schritt 2: Verwenden der ACL in VCL-Subroutinen
Sobald Sie Ihre ACLs definiert haben, können Sie sie in Ihren Varnish Configuration Language (VCL)-Unterroutinen verwenden, um den Zugriff auf Ihren Varnish-Cache zu steuern. Hier sind einige Beispiele für die Verwendung von ACLs in verschiedenen VCL-Unterprogrammen:
Verwenden von ACLs invcl_recv
Dervcl_recvDie Unterroutine wird aufgerufen, wenn Varnish eine Client-Anfrage erhält. Sie können in dieser Subroutine eine ACL verwenden, um Anfragen von nicht autorisierten Clients zu blockieren.
sub vcl_recv { if (!client.ip ~ Trusted_clients) { return (synth(403, "Forbidden")); } # Weiterverarbeitung der Anfrage, wenn der Client vertrauenswürdig ist return (pass); }
In diesem Beispiel prüfen wir, ob sich die IP-Adresse des Clients im befindetvertrauenswürdige_ClientsACL. Ist dies nicht der Fall, geben wir a zurück403 VerbotenFehler. Wenn der Kunde vertrauenswürdig ist, bearbeiten wir die Anfrage weiter.
Verwenden von ACLs invcl_backend_fetch
Dervcl_backend_fetchDie Unterroutine wird aufgerufen, wenn Varnish Inhalte von einem Backend-Server abrufen muss. Sie können in dieser Subroutine eine ACL verwenden, um zu steuern, auf welche Backend-Server zugegriffen werden kann.
acl erlaubt_backends { "10.0.1.0"/24; # Zugriff auf alle Server im 10.0.1.0/24-Subnetz zulassen } sub vcl_backend_fetch { if (!bereq.backend.ip ~allowed_backends) { return (synth(503, "Service Unavailable")); } # Fahren Sie mit dem Abrufen von Inhalten aus dem Backend fort, wenn dies zulässig ist. return (fetch); }
In diesem Beispiel definieren wir eine neue ACL mit dem Namenerlaubte_backendsDies ermöglicht den Zugriff auf alle Server in der10.0.1.0/24Subnetz. Anschließend prüfen wir, ob die IP-Adresse des Backend-Servers darin enthalten isterlaubte_backendsACL. Ist dies nicht der Fall, geben wir a zurück503 Dienst nicht verfügbarFehler. Wenn der Backend-Server zugelassen ist, holen wir weiterhin Inhalte von ihm ab.
Schritt 3: Neuladen der Lackkonfiguration
Nachdem Sie Änderungen an Ihrer Varnish-Konfigurationsdatei vorgenommen haben, müssen Sie die Varnish-Konfiguration neu laden, damit die Änderungen wirksam werden. Sie können dies mit dem folgenden Befehl tun:
sudo systemctl Lack neu laden
Dieser Befehl lädt den Varnish-Dienst mit der neuen Konfiguration neu. Stellen Sie sicher, dass Sie Ihre Konfiguration nach dem Neuladen gründlich testen, um sicherzustellen, dass sie wie erwartet funktioniert.
Best Practices für die Konfiguration von Varnish-ACLs
Hier sind einige Best Practices, die Sie bei der Konfiguration von Varnish-ACLs beachten sollten:
- Halten Sie Ihre ACLs auf dem neuesten Stand: Überprüfen und aktualisieren Sie Ihre ACLs regelmäßig, um sicherzustellen, dass sie den aktuellen Sicherheitsanforderungen Ihres Netzwerks entsprechen. Entfernen Sie alle IP-Adressen oder IP-Bereiche, die nicht mehr benötigt werden, und fügen Sie bei Bedarf neue hinzu.
- Verwenden Sie bestimmte IP-Bereiche: Verwenden Sie nach Möglichkeit bestimmte IP-Bereiche anstelle breiter Subnetze. Dadurch haben Sie mehr Kontrolle darüber, welche Clients oder Server auf Ihren Varnish-Cache zugreifen können.
- Testen Sie Ihre Konfiguration: Bevor Sie Ihre ACL-Konfiguration in einer Produktionsumgebung bereitstellen, testen Sie sie in einer Staging- oder Entwicklungsumgebung, um sicherzustellen, dass sie wie erwartet funktioniert.
- Überwachen Sie Ihre Varnish-Protokolle: Überwachen Sie Ihre Varnish-Protokolle regelmäßig, um unbefugte Zugriffsversuche oder Sicherheitsprobleme zu erkennen. Sie können Tools wie verwenden
Lackprotokoll, um die Varnish-Protokolle anzuzeigen.
Weitere Lackprodukte
Als Lacklieferant bieten wir eine Reihe hochwertiger Lackprodukte an, die Ihren spezifischen Anforderungen gerecht werden. Zu unseren Produkten gehörenMatter Decklack auf Wasserbasis,Klarlack auf Wasserbasis, UndPolyurethan-Glanz auf Wasserbasis. Diese Produkte sind so konzipiert, dass sie Ihren Oberflächen einen hervorragenden Schutz und ein hervorragendes Finish bieten und gleichzeitig umweltfreundlich sind.
Kontaktieren Sie uns für die Beschaffung
Wenn Sie am Kauf unserer Varnish-Produkte interessiert sind oder weitere Unterstützung bei der Varnish-ACL-Konfiguration benötigen, können Sie sich gerne an uns wenden. Unser Expertenteam hilft Ihnen gerne dabei, die besten Lösungen für Ihr Unternehmen zu finden.
Referenzen
- Dokumentation der Lacksoftware. (nd). Lackkonfigurationssprache (VCL). Von der offiziellen Varnish Software-Website abgerufen.
- O'Reilly Media. (2014). Lack: Up and Running. Von Salvatore Sanfilippo.
