So richten Sie den „Squid Proxy“-Server unter Ubuntu und Debian ein
Squid ist ein beliebter HTTP-Web-Proxyserver zum Zwischenspeichern und Weiterleiten, der von vielen Unternehmen zum Zwischenspeichern von Webseiten von einem Webserver verwendet wird, um die Geschwindigkeit des Webservers zu verbessern, Antwortzeiten zu verkürzen und die Netzwerkbandbreitennutzung zu reduzieren.
Lesen Sie auch: So erstellen Sie einen HTTP-Proxy mit Squid unter CentOS 7
In diesem Artikel erklären wir, wie man einen Squid-Proxyserver auf Ubuntu- und Debian-Distributionen installiert und als HTTP-Proxyserver verwendet.
So installieren Sie Squid unter Ubuntu
Bevor wir beginnen, sollten Sie wissen, dass für den Squid-Server keine Anforderungen gelten, die Menge der RAM-Auslastung jedoch je nach Clients, die über den Proxyserver im Internet surfen, unterschiedlich sein kann.
Das Squid-Paket kann über das Basis-Ubuntu-Repository installiert werden. Stellen Sie jedoch vorher sicher, dass Sie Ihre Pakete aktualisieren, indem Sie es ausführen.
sudo apt update
Sobald Ihre Pakete auf dem neuesten Stand sind, können Sie mit der Installation von Squid fortfahren und es beim Systemstart mit den folgenden Befehlen starten und aktivieren.
sudo apt -y install squid
sudo systemctl start squid
sudo systemctl enable squid
Zu diesem Zeitpunkt sollte Ihr Squid-Web-Proxy bereits ausgeführt werden und Sie können den Status des Dienstes mit überprüfen.
sudo systemctl status squid
Beispielausgabe
● squid.service - LSB: Squid HTTP Proxy version 3.x
Loaded: loaded (/etc/init.d/squid; generated)
Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago
Docs: man:systemd-sysv-generator(8)
Tasks: 4 (limit: 1717)
CGroup: /system.slice/squid.service
├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf
├─2766 (squid-1) -YC -f /etc/squid/squid.conf
├─2768 (logfile-daemon) /var/log/squid/access.log
└─2772 (pinger)
Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Dec 04 06:42:43 tecmint squid[2708]: * Starting Squid HTTP Proxy squid
Dec 04 06:42:43 tecmint squid[2708]: ...done.
Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started
Im Folgenden finden Sie einige wichtige Speicherorte für Squid-Dateien, die Sie kennen sollten:
- Squid-Konfigurationsdatei: /etc/squid/squid.conf
- Squid-Zugriffsprotokoll: /var/log/squid/access.log
- Squid-Cache-Protokoll: /var/log/squid/cache.log
Die Standardkonfigurationsdatei enthält einige Konfigurationsanweisungen, die konfiguriert werden müssen, um das Verhalten des Squid zu beeinflussen.
Öffnen Sie nun diese Datei zur Bearbeitung mit dem Vi-Editor und nehmen Sie die Änderungen wie unten gezeigt vor.
sudo vim /etc/squid/squid.conf
Jetzt können Sie nach den folgenden Zeilen suchen und diese nach Bedarf ändern. Im Vi-Editor können Sie nach diesen Zeilen suchen, indem Sie 'ESC' drücken und „/“ eingeben ” Schlüssel zum Schreiben der spezifischen Zeilen, nach denen gesucht werden soll.
- http_port: Dies ist der Standardport für den HTTP-Proxyserver. Standardmäßig ist er 3128. Sie können ihn in einen beliebigen anderen Port ändern und diesen auch hinzufügen „transparent“-Tag am Ende der Zeile wie http_port 8888 transparent, damit sich der Squid-Proxy bei Bedarf wie ein transparenter Proxy verhält.
- http_access deny all: Diese Zeile lässt niemanden auf den HTTP-Proxyserver zugreifen. Deshalb müssen Sie sie in http_accessallow all ändern, um Ihren Squid-Proxyserver verwenden zu können .
- visible_hostname: Diese Direktive wird verwendet, um den spezifischen Hostnamen auf einen Squid-Server festzulegen. Sie können Squid einen beliebigen Hostnamen geben.
Nachdem Sie die oben genannten Änderungen vorgenommen haben, können Sie den Squid-Proxyserver mit dem Befehl neu starten.
sudo systemctl restart squid
Squid als HTTP-Proxy unter Ubuntu konfigurieren
In diesem Abschnitt zur Squid-Konfiguration erklären wir Ihnen, wie Sie Squid als HTTP-Proxy konfigurieren und zur Authentifizierung nur die Client-IP-Adresse verwenden.
Fügen Sie Squid-ACLs hinzu
Wenn Sie nur einer IP-Adresse den Zugriff auf das Internet über Ihren neuen Proxyserver erlauben möchten, müssen Sie in der Konfigurationsdatei eine neue ACL (Zugriffskontrollliste) definieren.
sudo vim /etc/squid/squid.conf
Die acl-Regel, die Sie hinzufügen sollten, lautet:
acl localnet src XX.XX.XX.XX
Dabei ist XX.XX.XX.XX
die IP-Adresse des Client-Computers. Diese ACL sollte am Anfang des ACL-Abschnitts hinzugefügt werden, wie im folgenden Screenshot gezeigt.
Es empfiehlt sich immer, neben ACL einen Kommentar zu definieren, der beispielsweise beschreibt, wer diese IP-Adresse verwendet.
acl localnet src 192.168.0.102 # Boss IP address
Sie müssen den Squid-Dienst neu starten, damit die neuen Änderungen wirksam werden.
sudo systemctl restart squid
Offene Ports im Squid-Proxy
Standardmäßig sind in der Squid-Konfiguration nur bestimmte Ports zulässig. Wenn Sie weitere hinzufügen möchten, definieren Sie diese einfach wie gezeigt in der Konfigurationsdatei.
acl Safe_ports port XXX
Dabei ist XXX
die Portnummer, die Sie zulassen möchten. Auch hier empfiehlt es sich, neben acl einen Kommentar zu definieren, der beschreibt, wofür der Port verwendet werden soll.
Damit die Änderungen wirksam werden, müssen Sie Squid noch einmal neu starten.
sudo systemctl restart squid
Squid-Proxy-Client-Authentifizierung
Damit sich Benutzer vor der Verwendung des Proxys authentifizieren können, müssen Sie die grundlegende HTTP-Authentifizierung in der Konfigurationsdatei aktivieren. Zuvor müssen Sie jedoch das Paket Apache2-utils mit dem folgenden Befehl installieren.
sudo apt install apache2-utils
Erstellen Sie nun eine Datei namens „passwd“, in der später der Benutzername für die Authentifizierung gespeichert wird. Squid wird mit dem Benutzer „Proxy“ ausgeführt, daher sollte die Datei diesem Benutzer gehören.
sudo touch /etc/squid/passwd
sudo chown proxy: /etc/squid/passwd
ls -l /etc/squid/passwd
Jetzt erstellen wir einen neuen Benutzer namens „tecmint“ und richten sein Passwort ein.
sudo htpasswd /etc/squid/passwd tecmint
New password:
Re-type new password:
Adding password for user tecmint
Um nun die grundlegende HTTP-Authentifizierung zu aktivieren, öffnen Sie die Konfigurationsdatei.
sudo vim /etc/squid/squid.conf
Fügen Sie nach den Ports-ACLs die folgenden Zeilen 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
Speichern Sie die Datei und starten Sie Squid neu, damit die neuen Änderungen wirksam werden:
sudo systemctl restart squid
Blockieren Sie Websites auf Squid Proxy
Um den Zugriff auf unerwünschte Websites zu blockieren, erstellen Sie zunächst eine Datei mit dem Namen „blacklisted_sites.acl“, in der die auf der schwarzen Liste aufgeführten Websites gespeichert werden.
sudo touch /etc/squid/blacklisted_sites.acl
Fügen Sie nun beispielsweise die Websites hinzu, deren Zugriff Sie sperren möchten.
.badsite1.com
.badsite2.com
Der vorangehende Punkt weist Squid an, alle Verweise auf diese Websites zu blockieren, einschließlich www.badsite1, subsite.badsite1.com usw.
Öffnen Sie nun die Konfigurationsdatei von Squid.
sudo vim /etc/squid/squid.conf
Fügen Sie direkt nach den oben genannten ACLs die folgenden zwei Zeilen hinzu:
acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls
Speichern Sie nun die Datei und starten Sie Squid neu:
sudo systemctl restart squid
Blockieren Sie ein bestimmtes Schlüsselwort mit Squid
Um eine Liste mit Schlüsselwörtern zu blockieren, erstellen Sie zunächst eine Datei mit dem Namen „blockkeywords.lst“, in der die Schlüsselwörter auf der schwarzen Liste gespeichert werden.
sudo touch /etc/squid/blockkeywords.lst
Fügen Sie nun beispielsweise die Schlüsselwörter hinzu, deren Zugriff Sie sperren möchten.
facebook
instagram
gmail
Öffnen Sie nun die Konfigurationsdatei von Squid und fügen Sie die folgende Regel hinzu.
acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist
Speichern Sie nun die Datei und starten Sie Squid neu:
sudo systemctl restart squid
Sobald alles richtig konfiguriert ist, können Sie jetzt Ihren lokalen Client-Webbrowser oder die Netzwerkeinstellungen Ihres Betriebssystems so konfigurieren, dass Ihr neu konfigurierter Squid-HTTP-Proxy verwendet wird.
Konfigurieren Sie den Client für die Verwendung von Squid Proxy
Um nun zu testen, ob Ihr Proxyserver funktioniert oder nicht, können Sie Firefox öffnen und zu Bearbeiten –> Einstellungen –> Erweitert –> Netzwerk –> Einstellungen gehen und „< „Manuelle Proxy-Konfiguration“ und geben Sie wie folgt die IP-Adresse und den Port Ihres Proxy-Servers ein, der für alle Verbindungen verwendet werden soll.
Sobald Sie alle erforderlichen Proxy-Details eingegeben haben, können Sie mit Ihrem Squid-Proxy-Server im Internet surfen. Sie können das Gleiche auch in jedem anderen Browser oder Programm Ihrer Wahl tun.
Um sicherzustellen, dass Sie mit Ihrem Proxyserver im Internet surfen, können Sie http://www.ipaddresslocation.org/ besuchen. In der rechten oberen Ecke muss die gleiche IP-Adresse wie Ihr Server angezeigt werden IP Adresse.
Weitere zusätzliche Konfigurationseinstellungen finden Sie in der offiziellen Squid-Dokumentation. Wenn Sie Fragen oder Kommentare haben, fügen Sie diese bitte im Kommentarbereich unten hinzu.