Einführung
Squid ist eine Linux-basierte Proxy-Anwendung. Der Squid-Proxyserver wird zum Filtern von Datenverkehr, Sicherheit und DNS-Lookups verwendet.
Außerdem kann Squid einen Webserver beschleunigen, indem es Ressourcen zwischenspeichert. Der Squid-Proxy ermöglicht es einem Server, häufig besuchte Webseiten zwischenzuspeichern. Wenn der Benutzer eine Webseite oder Datei anfordert, geht die Anfrage direkt an den Proxy-Server – ein zwischengeschaltetes Gerät zwischen dem Gerät des Benutzers und dem Internet. Der Proxy-Server ruft die Ressourcen ab und leitet sie an den Benutzer weiter.
Diese Anleitung führt Sie durch die Einrichtung und Installation des Squid-Proxy-Servers unter Ubuntu.
Voraussetzungen
- Ein Ubuntu-Betriebssystem
- Zugriff auf ein Terminalfenster/Befehlszeile (Strg-Alt-T)
- Ein Ubuntu-Benutzer mit Root- oder Sudo-Berechtigungen
- Der apt-Paket-Installer, standardmäßig enthalten
- Ein Texteditor wie Nano
Squid-Proxy auf Ubuntu installieren
Schritt 1:Aktualisieren Sie die Software-Repositories
Stellen Sie sicher, dass Sie mit der neuesten verfügbaren Softwareversion arbeiten.
Starten Sie ein Terminalfenster und geben Sie Folgendes ein:
sudo apt-get update
Schritt 2:Squid-Paket auf Ubuntu installieren
Um Squid zu installieren, führen Sie den folgenden Befehl aus:
sudo apt-get install squid
Das System sollte zur Bestätigung auffordern – geben Sie Y
ein und warten Sie, bis der Vorgang abgeschlossen ist.
Konfigurieren des Squid-Proxy-Servers
Die Squid-Konfigurationsdatei finden Sie unter /etc/squid/squid.conf.
1. Öffnen Sie diese Datei in Ihrem Texteditor mit dem Befehl:
sudo nano /etc/squid/squid.conf
2. Navigieren Sie zur http_port-Option . Normalerweise ist dies so eingestellt, dass es auf Port 3218 lauscht . Dieser Port überträgt normalerweise TCP-Verkehr. Wenn Ihr System für Datenverkehr auf einem anderen Port konfiguriert ist, ändern Sie ihn hier.
Sie können den Proxy-Modus auch auf transparent setzen, wenn Sie verhindern möchten, dass Squid Ihre Anfragen und Antworten ändert.
Ändern Sie es wie folgt:
http_port 1234 transparent
3. Navigieren Sie zu http_access deny all Möglichkeit. Dies ist derzeit so konfiguriert, dass der gesamte HTTP-Datenverkehr blockiert wird. Das bedeutet, dass kein Webverkehr erlaubt ist.
Ändern Sie dies wie folgt:
http_access allow all
4. Navigieren Sie zum visible_hostname Möglichkeit. Fügen Sie diesem Eintrag einen beliebigen Namen hinzu. So wird der Server jedem angezeigt, der versucht, eine Verbindung herzustellen. Speichern Sie die Änderungen und beenden Sie.
5. Starten Sie den Squid-Dienst neu, indem Sie Folgendes eingeben:
sudo systemctl restart squid
Squid-Client konfigurieren
Diese gesamte Konfiguration wurde vorgenommen, um Ihren Squid-Proxy-Server einzurichten. Wechseln Sie jetzt zu Ihrem Client-Rechner und öffnen Sie Ihren Webbrowser.
Wenn Sie Firefox verwenden, finden Sie die Proxy-Einstellungen unter:
Menü> Optionen> Netzwerkeinstellungen> Einstellungen
Aktivieren Sie das Optionsfeld für Manuelle Proxy-Konfiguration.
Wenn Sie in Schritt 4 einen Hostnamen eingegeben haben, sollten Sie diesen Namen und den von Ihnen festgelegten Port eingeben können. Verwenden Sie andernfalls die IP-Adresse für das System, das Ihren Squid-Proxy hostet.
Um es zu testen, können Sie https://whatismyipaddress.com/ip-lookup besuchen – wenn Ihr Proxy funktioniert, sollte Ihre IP-Adresse als IP-Adresse des Proxy-Servers angezeigt werden.
Squid-ACL hinzufügen
Hinweis: Nach jedem dieser Schritte sollten Sie speichern und beenden und dann den Squid-Dienst neu starten, um die neue Konfiguration zu übernehmen.
Erstellen Sie eine Zugriffskontrollliste, indem Sie die Datei squid.conf erneut bearbeiten, wie in Schritt 4.
Fügen Sie wie folgt eine neue Zeile hinzu:
acl localnet src 192.168.0.15
Dadurch wird eine Regel erstellt, die es dem System nur unter dieser IP-Adresse erlaubt, sich zu verbinden. Es wird empfohlen, die Zeile zu kommentieren, um die Regel zu identifizieren:
acl localnet src 192.168.0.15 # test computer
Alles nach dem #-Zeichen wird von Squid ignoriert.
Sie können einen Bereich von IP-Adressen wie folgt angeben:
acl localnet src 192.168.0.15/30
Ports öffnen
Um einen bestimmten Port zu öffnen, fügen Sie Folgendes hinzu:
acl Safe_ports port 123 # Custom port
Proxy-Authentifizierung konfigurieren
Dadurch werden Benutzer gezwungen, sich für die Verwendung des Proxys zu authentifizieren.
Beginnen Sie mit der Installation von apache2-utils:
sudo apt-get install apache2-utils
Erstellen Sie eine passwd-Datei und ändern Sie den Besitz auf den Squid-Benutzer-Proxy:
sudo touch /etc/squid/passwd
sudo chown proxy: etc/squid/passwd
Neuen Benutzer und Passwort hinzufügen
1. Um einen neuen Benutzer zu Squid hinzuzufügen, verwenden Sie den Befehl:
sudo htpasswd /etc/squid/passwd newuser
Das System fordert Sie auf, ein Passwort für newuser einzugeben und zu bestätigen.
2. Bearbeiten Sie die /etc/squid/squid.conf Datei, und fügen Sie die folgenden Befehlszeilen hinzu:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
Websites auf Squid Proxy blockieren
1. Erstellen und bearbeiten Sie eine neue Textdatei /etc/squid/blocked.acl durch Eingabe von:
sudo nano /etc/squid/blocked.acl
2. Fügen Sie in dieser Datei die zu blockierenden Websites hinzu, beginnend mit einem Punkt:
.facebook.com
.twitter.com
Hinweis:Der Punkt gibt an, dass alle Unterseiten der Hauptseite blockiert werden sollen.
3. Öffnen Sie die /etc/squid/squid.conf Datei erneut:
sudo nano /etc/squid/squid.conf
4. Fügen Sie direkt über Ihrer ACL-Liste die folgenden Zeilen hinzu:
acl blocked_websites dstdomain “/etc/squid/blocked.acl”
http_access deny blocked_websites
Befehle beim Arbeiten mit dem Squid-Dienst
Geben Sie Folgendes ein, um den Status Ihrer Squid-Software zu überprüfen:
sudo systemctl status squid
Dadurch erfahren Sie, ob der Dienst ausgeführt wird oder nicht.
Um den Dienst zu starten, geben Sie ein:
sudo systemctl start squid
Stellen Sie dann den Squid-Dienst so ein, dass er beim Systemstart gestartet wird, indem Sie Folgendes eingeben:
sudo systemctl enable squid
Sie können den Statusbefehl jetzt erneut ausführen, um zu überprüfen, ob der Dienst aktiv ist.
Um den Dienst zu stoppen, verwenden Sie den Befehl:
sudo systemctl stop squid
Geben Sie Folgendes ein, um zu verhindern, dass Squid beim Start gestartet wird:
sudo systemctl disable squid