Blogheader zu Squid-Proxy unter UCS

Webseiten schneller laden, Bandbreite sparen und gezielt steuern, wer worauf zugreifen darf – all das ermöglicht die App Proxyserver/Webcache (Squid) aus dem Univention App Center. Sie stellt einen leistungsfähigen Web-Proxy und Web-Cache bereit, der regelmäßig aufgerufene Webseiten zwischenspeichert und so Antwortzeiten reduziert. Gleichzeitig lassen sich über fein abgestimmte Regeln Internetzugriffe kontrollieren und verwalten, sei es für einzelne Benutzer*innen oder ganze Gruppen.

Im Hintergrund arbeitet Squid (engl. für „Kalmar“), ein skalierbarer und frei verfügbarer Proxy-Server, der unter der GNU General Public License (GPL) steht. Squid unterstützt die Netzwerkprotokolle HTTP, HTTPS und FTP und bietet eine Vielzahl von Konfigurationsmöglichkeiten für unterschiedliche Einsatzszenarien.

Dieser Artikel zeigt, wie Sie Squid unter Univention Corporate Server installieren, Caching sinnvoll nutzen oder deaktivieren, Zugriffsregeln für Netzwerke und Benutzer*innen einrichten und den Proxy mit Authentifizierungsmechanismen wie LDAP, NTLM oder Kerberos absichern.

Proxy-Server Squid – der Turbo für Webseiten und sicheres Surfen

Sie rufen eine Webseite auf, und ohne lange Wartezeiten ist sie sofort da. Möglich macht das Squid, ein Caching Proxy, der Webinhalte über die Protokolle HTTP, HTTPS und sogar FTP ausliefert. Kurz gesagt: Squid speichert Webseiten und ihre Inhalte zwischen, um sie schneller abrufbar zu machen und gleichzeitig das Datenvolumen im Netzwerk zu reduzieren. Besonders in Umgebungen mit vielen Benutzer*innen – etwa in Schulen, öffentlichen Einrichtungen oder Unternehmen – sorgt Squid dafür, dass häufig besuchte Webseiten nicht jedes Mal neu aus dem Internet geladen werden müssen. Das spart Bandbreite und beschleunigt den Zugriff erheblich.

Doch Squid kann mehr als nur Webseiten zwischenspeichern. Mit Access Control Lists (ACLs) lassen sich Regeln festlegen, welche Geräte und Nutzer*innen überhaupt ins Internet dürfen. So bleibt die Kontrolle in Ihrer Hand – sei es für Jugendschutzfilter in Schulen, sichere Zugriffe in Behörden oder eine gezielte Client-Authentifizierung.

Squid kann grundsätzlich in zwei Betriebsmodi verwendet werden, die jeweils für unterschiedliche Einsatzzwecke optimiert sind:

  • Squid als Webproxy: Die klassische Variante: Squid ruft Webseiten aus dem Internet ab, speichert sie im Cache und liefert sie an nachfolgende Clients und Nutzer*innen aus. Falls eine Webseite kein Ablaufdatum für ihre Inhalte vorgibt, kann Squid mit Refresh-Pattern dafür sorgen, dass nichts veraltet bleibt und den Cache-Inhalt entsprechend erneuern.
  • Squid als Reverse Proxy: Hier dreht Squid den Spieß um: Statt interne Clients mit externen Webseiten zu versorgen, stellt der Proxy-Server Inhalte interner Webserver für externe Clients bereit. Das ist besonders nützlich für Unternehmen oder Organisationen, die Webdienste performant und sicher ausliefern möchten.

Squid Proxy unter Univention Corporate Server installieren

Die Installation von Squid unter Univention Corporate Server (UCS) ist unkompliziert und schnell erledigt. Im Univention App Center steht die App Proxyserver / Webcache (Squid) bereit, die Sie mit wenigen Klicks installieren. Alternativ spielen Sie das Paket univention-squid über die Kommandozeile ein. Klicken Sie auf Installieren, wählen Sie einen Server in Ihrer UCS-Domäne aus und starten Sie den Vorgang über Installation beginnen. Squid wird mit vorkonfigurierten Standardeinstellungen ausgeliefert, sodass der Dienst direkt einsatzbereit ist. Der Dienst läuft in der Voreinstellung auf Port 3128, Sie können ihn jedoch nach Ihren Anforderungen anpassen (siehe Abschnitt „Squid-Ports konfigurieren – Standardport ändern und weitere Webports freigeben“).

Die meisten Einstellungen konfigurieren Sie über UCR-Variablen (Univention Configuration Registry). Einige wichtige Optionen stellt dieser Artikel vor. Falls Sie darüber hinaus weitere Anpassungen vornehmen möchten, bearbeiten Sie die Datei /etc/squid/local.conf im Texteditor und setzen dort beliebige zusätzliche Squid-Optionen. Weitere Informationen zur Konfiguration von Squid finden Sie in der offiziellen Dokumentation.

Denken Sie daran: Jede Konfigurationsänderung erfordert einen Neustart des Squid-Dienstes. Öffnen Sie dazu die Univention Management Console, navigieren Sie zu System / Systemdienste, suchen nach squid, markieren den Eintrag und klicken auf Neustarten.

Screenshot zum Neustart des Squid-Dienstes

Alternativ starten Sie Squid über die Kommandozeile neu. Geben Sie als Benutzer mit administrativen Rechten den folgenden Befehl ein:

systemctl restart squid

Squid-Cache nutzen oder deaktivieren? Wann sich Website-Caching lohnt

Squid ist ein Caching Proxy, der zuvor abgerufene Webinhalte speichert und sie direkt aus dem Cache bereitstellt, ohne sie erneut vom ursprünglichen Webserver laden zu müssen. Das reduziert den Datenverkehr über die Internetanbindung und sorgt für schnellere Antwortzeiten bei HTTP-Anfragen. Doch nicht in jeder Umgebung ist Caching sinnvoll – und in manchen Fällen kann es sogar hinderlich sein.

Wann ist Caching ein Vorteil?

  • Schnellerer Seitenaufbau für wiederholt besuchte Webseiten
  • Reduzierung des Bandbreitenverbrauchs, besonders in Netzwerken mit vielen Clients
  • Entlastung der Internetverbindung durch lokale Bereitstellung von häufig genutzten Inhalten

Wann ist Caching nicht sinnvoll?

  • In Umgebungen, in denen stets aktuelle Inhalte benötigt werden (z. B. bei dynamischen Webanwendungen)
  • Wenn mehrere Proxy-Server kaskadiert sind und nicht alle zwischenspeichern sollen
  • Falls Datenschutz- oder Compliance-Richtlinien ein Speichern bestimmter Inhalte untersagen

Falls Sie das Caching von Squid deaktivieren möchten, setzen Sie die Univention Configuration Registry Variable squid/cache auf no und starten den Dienst neu:

ucr set squid/cache=no

systemctl restart squid

Ob Caching in Ihrer Umgebung sinnvoll ist oder nicht, hängt von den individuellen Anforderungen ab – im nächsten Absch

Squid-Zugriff auf bestimmte Netzwerke beschränken – so geht’s

In der Voreinstellung erlaubt Squid den Zugriff nur aus lokalen Netzwerken. Das bedeutet: Ist der Squid-Proxy auf einem Rechner mit der IP-Adresse 192.0.2.10 und der Netzmaske 255.255.255.0 installiert, dann dürfen nur Geräte aus dem Netzwerk 192.0.2.0/24 auf den Proxy-Server zugreifen. Wer von außen kommt, bleibt draußen.

Falls Sie den Zugriff auf weitere Netzwerke freigeben möchten, steuern Sie das über die Univention Configuration Registry Variable squid/allowfrom. Hier tragen Sie die erlaubten Netzwerke in CIDR-Notation ein und trennen mehrere Einträge mit einem Leerzeichen. Squid übernimmt diese Werte automatisch in die Konfigurationsdatei /etc/squid/squid.conf.

Screenshot der Zugriffssteuerungslisten (ACLs) in Squid

Wenn Sie (wie im Beispiel) die beiden Netzwerke 192.168.2.0/24 und 192.168.3.0/24 eintragen und den Dienst neu starten, können Clients aus diesen beiden Netzwerken über den Proxy surfen. Falls Sie den Zugriff für alle Netzwerke öffnen möchten (Achtung: nicht empfehlenswert ohne weitere Schutzmaßnahmen!), setzen Sie einfach all als Wert.

Squid-Ports konfigurieren – Standardport ändern und weitere Webports freigeben

Squid ist standardmäßig über den Port 3128 erreichbar. Falls Sie einen anderen Port verwenden möchten, ändern Sie ihn über die Univention Configuration Registry Variable squid/httpport. Falls auf dem System die Univention-Firewall aktiv ist, müssen Sie außerdem die Paketfilterkonfiguration anpassen, damit der neue Port erreichbar ist.

Neben dem Squid-eigenen Port legt die Konfiguration auch fest, welche Zielports für Webanfragen erlaubt sind. In der Standardkonfiguration verarbeitet Squid nur HTTP (Port 80), HTTPS (Port 443) und FTP (Port 21). Falls Sie zusätzliche Ports zulassen möchten, setzen Sie die UCR-Variable squid/webports. Mehrere Einträge trennen Sie mit einem Leerzeichen. Squid übernimmt diese Einstellungen in die Konfigurationsdatei /etc/squid/squid.conf, sodass Clients anschließend auch über die neu freigegebenen Ports surfen können.

Screenshot zeigt die Freigabe von Webports

Squid-Proxy mit Benutzerauthentifizierung absichern – LDAP, NTLM und Kerberos nutzen

In der Standardkonfiguration können alle Benutzer*innen den Squid-Proxy nutzen. Falls Sie den Zugriff einschränken möchten, steuern Sie dies über Gruppenmitgliedschaften. Mit der Univention Configuration Registry Variable squid/auth/allowed_groups legen Sie fest, welche Gruppen sich am Proxy anmelden dürfen. Mehrere Gruppen trennen Sie mit einem Semikolon. Damit Squid überprüfen kann, ob ein Benutzer einer zulässigen Gruppe angehört, muss er sich am Proxy-Server authentifizieren. Dafür stehen drei Mechanismen zur Verfügung: LDAP, NTLM und Kerberos:

  • LDAP-Server: Squid nutzt einen LDAP-Server, um Anmeldeinformationen zu verifizieren. Sobald ein Benutzer den Proxy verwendet, sendet Squid dessen Logindaten an den LDAP-Server, der sie mit den hinterlegten Benutzerkonten abgleicht. Ist die Anmeldung erfolgreich, erhält der Benutzer Zugriff auf das Internet. Um diese Methode zu aktivieren, setzen Sie die Univention Configuration Registry Variable squid/basicauth auf yes und starten Squid neu.
  • NTLM-Schnittstelle (NT LAN Manager): Diese Methode bietet eine Single-Sign-on-Funktion für Windows-Umgebungen. Benutzer, die bereits an einem Windows-Client mit Active-Directory-Anbindung angemeldet sind, müssen sich nicht erneut am Proxy authentifizieren. Der Browser sendet die Windows-Anmeldeinformationen automatisch an Squid, der sie überprüft. Um die NTLM-Authentifizierung zu aktivieren, setzen Sie die UCR-Variable squid/ntlmauth auf yes und starten Squid neu.
  • Kerberos: In Umgebungen mit Samba/Active Directory-Domänen ermöglicht Kerberos eine sichere, passwortlose Anmeldung am Proxy. Beim Login am Windows-Client erhält der Benutzer automatisch ein Kerberos-Ticket, das Squid für die Authentifizierung auswertet. Damit Kerberos funktioniert, müssen Sie auf jedem Proxy-Server das Paket univention-squid-kerberos installieren. Anschließend setzen Sie die UCR-Variable squid/krb5auth auf yes und starten Squid neu.

Achtung: Damit Benutzer*innen den Proxy-Server nicht einfach umgehen und direkt ins Internet gelangen, sind zusätzliche Schutzmaßnahmen erforderlich. Eine bewährte Methode besteht darin, in der Firewall alle HTTP- und HTTPS-Anfragen zu blockieren, mit Ausnahme der Verbindungen, die über den Proxy-Server laufen. So stellen Sie sicher, dass der gesamte Internetzugriff über Squid geregelt wird.

Exkurs: squidGuard in UCS@school – Inhalte gezielt freigeben oder sperren

In UCS@school steuert der Internetfilter squidGuard den Zugriff auf Webseiten. squidGuard arbeitet mit Squid zusammen und prüft beim Seitenaufruf, ob der Zugriff erlaubt ist. Falls nicht, werden die Benutzer*innen auf eine Sperrseite umgeleitet. Die Konfiguration erfolgt über eine Regelliste, die festlegt, welche Webseiten für welche Nutzergruppen gesperrt oder freigegeben sind. Zusätzlich lassen sich reguläre Ausdrücke verwenden, um bestimmte Begriffe zu blockieren – hier ist jedoch Sorgfalt geboten, um unbeabsichtigte Einschränkungen zu vermeiden.

Lehrkräfte können gezielt Regeln für Klassen oder Arbeitsgruppen festlegen, um den Zugriff auf Webseiten temporär oder dauerhaft zu steuern. So definieren sie beispielsweise eine Regel, die den Zugang auf Wikipedia erlaubt und gleichzeitig alle anderen Seiten sperrt. Regeln können auch mit Prioritäten versehen werden, sodass Lehrkräfte trotz aktiver Einschränkungen weiterhin uneingeschränkten Zugriff auf das Internet erhalten.

Eine detaillierte Anleitung zur Einrichtung unter UCS@school finden Sie im UCS@school-Handbuch, Kapitel „Web-Proxy auf den Schulservern“ und „Internetregeln definieren“.

Squid-Proxy: Mehr Sicherheit, Kontrolle und Geschwindigkeit im Netzwerk

Squid ist viel mehr als nur ein einfacher Proxy-Server: Neben der Beschleunigung von Webseiten und der Reduzierung des Datenverkehrs bietet der Dienst leistungsstarke Funktionen zur Zugriffssteuerung, Authentifizierung und Filterung. Besonders in größeren Netzwerken, Schulen oder Unternehmen sorgt die App für schnellere Ladezeiten, bessere Kontrolle über den Internetzugang und mehr Sicherheit.

Nutzen Sie bereits Squid in Ihrer Umgebung oder überlegen Sie, einen Proxy-Server aufzusetzen? Hinterlassen Sie uns einen Kommentar unter diesem Blogbeitrag oder diskutieren Sie in unserem Forum. Wir freuen uns auf Ihr Feedback!

Bildquelle: Icon erstellt von rukanicon bei flaticon.com

UCS Core Edition jetzt kostenfrei einsetzen!
Zum Downloadbereich

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert