Squid ist eine Linux-basierte Proxy-Anwendung mit vollem Funktionsumfang, die hauptsächlich zum Filtern von Datenverkehr, Sicherheit und DNS-Lookups verwendet wird. Es wird auch verwendet, um die Leistung des Webservers zu verbessern, indem Ressourcen zwischengespeichert werden. Einfach ausgedrückt ist ein Squid-Server ein Computer, der als Vermittler zwischen einem Desktop-Computer und dem Internet fungiert und eingehende Client-Anfragen an einen Server umleitet, auf dem Daten zum leichteren Abruf gespeichert werden. Es unterstützt mehrere Protokolle, darunter HTTP, FTP, TLS, SSL, Internet Gopher und HTTPS.
In diesem Tutorial zeigen wir Ihnen, wie Sie den Squid-Proxy-Server auf einem Ubuntu 20.04-Server installieren und einrichten.
Voraussetzungen
- Ein Server mit Ubuntu 20.04.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Erste Schritte
Bevor Sie beginnen, müssen Sie Ihre Systempakete auf die neueste Version aktualisieren. Sie können sie mit dem folgenden Befehl aktualisieren:
apt-get update -y
Sobald alle Pakete aktualisiert sind, starten Sie Ihr System neu, um die Änderungen zu übernehmen.
Installieren Sie den Squid-Proxy
Standardmäßig ist das Squid-Paket im Standard-Repository von Ubuntu 20.04 verfügbar. Sie können es mit dem folgenden Befehl installieren:
apt-get install squid -y
Sobald Squid installiert ist, können Sie den Status des Squid-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status squid
Sie sollten die folgende Ausgabe erhalten:
Standardmäßig lauscht Squid auf Port 3128. Sie können dies mit dem folgenden Befehl überprüfen:
netstat -plunt | grep 3128
Sie sollten die folgende Ausgabe sehen:
tcp6 0 0 :::3128 :::* LISTEN 50017/(squid-1)
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
IP-basierte Authentifizierung einrichten
Es gibt mehrere Möglichkeiten, den Client auf den Zugriff auf das Internet zu beschränken. In diesem Abschnitt richten wir Squid so ein, dass es sich anhand der IP-Adresse des Clients authentifiziert.
Sie können dies tun, indem Sie die Squid-Standardkonfigurationsdatei bearbeiten:
nano /etc/squid/squid.conf
Fügen Sie am Anfang der Datei die folgende Zeile hinzu:
acl client1 src 192.168.10.10acl client2 src 192.168.10.11http_access allow client1 client2
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Squid-Dienst neu, um die Änderungen zu übernehmen:
systemctl-Neustart von Squid
Wo:
- Kunde1 und client2 ist der Name, der die Client-Computer identifiziert.
- 192.168.10.10 und 192.168.10.11 ist die IP-Adresse des Client-Computers.
Jetzt können nur Computer, die mit IP 192.168.10.10 und 192.168.10.11 konfiguriert sind, auf das Internet zugreifen.
Benutzerbasierte Authentifizierung einrichten
Sie können Squid auch so einrichten, dass es sich basierend auf Benutzer und Passwort authentifiziert. Dazu müssen Sie das Apache utils-Paket auf Ihrem System installieren.
Führen Sie den folgenden Befehl aus, um das Apache-Dienstprogrammpaket zu installieren:
apt install apache2-utils -y
Erstellen Sie nach der Installation einen ersten Benutzer mit dem folgenden Befehl:
htpasswd /etc/squid/passwd client1
Sie werden aufgefordert, ein Passwort festzulegen, wie unten gezeigt:
Neues Passwort:Neues Passwort erneut eingeben:Passwort für Benutzer client1 wird hinzugefügt
Erstellen Sie als Nächstes einen zweiten Benutzer mit dem folgenden Befehl:
htpasswd /etc/squid/passwd client2
Legen Sie Ihr Passwort wie unten gezeigt fest:
Neues Passwort:Neues Passwort erneut eingeben:Passwort für Benutzer client2 hinzufügen
Als nächstes können Sie beide Benutzer mit dem folgenden Befehl verifizieren:
cat /etc/squid/passwd
Sie sollten die folgende Ausgabe erhalten:
client1:$apr1$CPlx8eVt$NJq3CT/hzfDCnAZRypIq5/client2:$apr1$XYxQ2npc$IW0Nqjp15O5WYCo/wCFlB0
Öffnen Sie als Nächstes die Squid-Standardkonfigurationsdatei:
nano /etc/squid/squid.conf
Entfernen Sie die ersten drei Zeilen, die Sie im vorherigen Abschnitt hinzugefügt haben, und fügen Sie die folgenden Zeilen am Anfang der Datei hinzu:
auth_param Basisprogramm /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwdacl ncsa_users proxy_auth REQUIREDhttp_access allow ncsa_users
Speichern und schließen Sie die Datei. Starten Sie dann den Squid-Proxydienst neu, um die Änderungen zu übernehmen:
systemctl-Neustart von Squid
Jetzt müssen Sie Benutzername und Passwort angeben, um auf das Internet zugreifen zu können.
Kombinierte Authentifizierung einrichten
Sie können auch einen Squid einrichten, um einen Client anhand der IP-Adresse und des Benutzernamens/Passworts zu authentifizieren.
Öffnen Sie die Squid-Standardkonfigurationsdatei:
nano /etc/squid/squid.conf
Suchen Sie die folgenden Zeilen, die Sie im vorherigen Abschnitt hinzugefügt haben:
auth_param Basisprogramm /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwdacl ncsa_users proxy_auth REQUIREDhttp_access allow ncsa_users
Und ersetzen Sie sie durch die folgenden Zeilen:
acl client1 src 192.168.10.10acl client2 src 192.168.10.11auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwdacl ncsa_users proxy_auth REQUIREDhttp_access allow client1 client2 ncsa_users
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den Squid-Dienst neu, um die Änderungen zu übernehmen:
systemctl-Neustart von Squid
Richten Sie Squid ein, um den Datenverkehr zu anonymisieren
Als Nächstes müssen Sie einige Regeln hinzufügen, um Client-IP-Adressen von den Servern zu maskieren, die Datenverkehr von Ihrem Squid-HTTP-Proxy empfangen.
Sie können dies tun, indem Sie die Squid-Standardkonfigurationsdatei bearbeiten:
nano /etc/squid/squid.conf
Fügen Sie am Anfang der Datei die folgenden Zeilen hinzu:
forwarded_for offrequest_header_access Allow allow allrequest_header_access Authorization allow allrequest_header_access WWW-Authentifizierung Allow allrequest_header_access Proxy-Authorization Allow allrequest_header_access Proxy-Authenticate Allow allrequest_header_access Cache-Control Allow allrequest_header_access Content-Encoding Allow allrequest_header_access Content-Length Allow allrequest_header_access allrequest_header_access zulassen Host allrequest_header_access zulassen If-Modified-Seit allrequest_header_access zulassen Zuletzt geändert allrequest_header_access zulassen Standort allrequest_header_access zulassen Pragma allrequest_header_access zulassen Accept allrequest_header_access zulassen Accept-Charset allrequest_header_access zulassen Accept-Encoding allrequest_header_access zulassen Accept-Language allrequest_header_access zulassen Accept-Language allrequest_header_access zulassen Accept-Language allrequest_header_access zulassen Inhaltssprache allrequest_hea der_access Retry-After Allow allrequest_header_access Titel Allow allrequest_header_access Connection Allow allrequest_header_access Proxy-Connection Allow allrequest_header_access User-Agent Allow allrequest_header_access Cookie Allow allrequest_header_access Alle alle verweigern
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den Squid-Dienst neu, um die Änderungen zu übernehmen:
systemctl-Neustart von Squid
Squid-Proxy überprüfen
Als nächstes müssen Sie Ihren Proxy-Server in Ihrem Mozilla-Webbrowser definieren.
Gehen Sie zum Client-System, öffnen Sie den Mozilla-Webbrowser und klicken Sie auf Bearbeiten => Einstellungen wie unten gezeigt:
Klicken Sie auf das Netzwerk Einstellungen Abschnitt und klicken Sie auf Einstellungen . Sie sollten die folgende Seite sehen:
Wählen Sie das Handbuch aus Proxy Konfiguration geben Sie die IP-Adresse Ihres Squid-Servers in das Feld HTTP-Host und 3128 ein im Feld Port und aktivieren Sie das Kontrollkästchen Diesen Proxy-Server für alle Protokolle verwenden und klicken Sie auf OK Schaltfläche, um die Einstellungen zu speichern.
Jetzt ist Ihr Browser so konfiguriert, dass er über den Squid-Proxy im Internet surft.
Geben Sie zur Überprüfung die URL https://www.whatismyip.com/ ein. Sie werden aufgefordert, einen Benutzernamen und ein Passwort einzugeben, wie unten gezeigt:
Geben Sie den Benutzernamen und das Passwort Ihres Squid-Proxy-Servers ein, die Sie zuvor erstellt haben, und klicken Sie auf OK Taste. Sie sollten die folgende Seite sehen:
Auf der obigen Seite sollten Sie anstelle der IP-Adresse Ihres Client-Computers die IP-Adresse Ihres Squid-Servers sehen.
Schlussfolgerung
Herzliche Glückwünsche! Sie haben den Squid-Proxyserver erfolgreich auf dem Ubuntu 20.04-Server installiert und konfiguriert. Sie können den Squid-Proxy auch konfigurieren, um die spezifische Website basierend auf dem Wort, der Domäne und den IPs einzuschränken. Weitere Informationen finden Sie in der offiziellen Squid-Dokumentation.