Raspberry PI als Proxy Server – Maßgeschneiderte Internetzensur

Autor: Sergej Kukshaus Veröffentlicht: vor 9 monaten Lesedauer: ca. 10 Minuten

Wenn man von einem Proxy Server spricht, meint man damit ein Computer oder ein Dienst der den Zugriff auf das Internet regelt.

Jedoch nicht ganz so stumpf wie „Ja“ und „Nein“. Ein Proxy kann eine einzelne Seite durch Mechanismen bewerten und diese anschließend den Benutzern anzeigen oder eben auch nicht.

Dabei ist der eigentliche Computer, der die Anfrage gesendet hat, für den Ziel Webserver unbekannt.

Kleine Analogie des Proxy Servers

Jedes Mal, wenn du einkaufen gehst, bist du ein Proxy für deine Familie.

Du bekommst einen entsprechenden Einkaufszettel in die Hand gedrückt und musst alle Sachen darauf besorgen.

Dein Sohn hat jetzt „Gummibärchen“ darauf geschrieben. Leider gibt es aber keine mehr und du besorgst stattdessen andere Weingummis (Paketmanipulation).

Zwischenzeitig hattest du noch „Eis“ auf den Einkaufszettel geschrieben. Entscheidest dich aber spontan beim Einkauf doch kein Eis zu kaufen (Filter).

Deine Familie hat jetzt den kompletten Wocheneinkauf, der Kassierer weiß aber nicht wer zu deiner Familie gehört oder wie groß deine Familie ist. Anhand der Größe deines Einkaufswagens kann er es höchstens mutmaßen. Während des Einkaufs warst du der einzige, der sich öffentlich gezeigt hat.

Was genau macht ein Proxy Server?

Ein Proxy Server hat die tolle Eigenschaft die bereits geladenen Dateien zwischenzuspeichern und diese dann direkt an den Benutzer auszuliefern ohne noch einmal auf das Internet zugreifen zu müssen.

Wenn man jetzt eher die gleichen Webseiten besucht, wird man schon allein dadurch einen deutlichen Vorteil beim Seitenaufbau merken. Gefühlt geht es viel, viel schneller 🙂

So kann es sogar möglich sein, dass man Webseiten besuchen kann, ohne überhaupt eine Internetverbindung zu haben. Vorausgesetzt ist natürlich, das man Zugriff auf den Proxy selbst hat.

Wie funktioniert ein Proxy Server?

Die grundlegende Funktionsweise kann man der folgenden Skizze entnehmen:

Zugriff von mehreren Clients auf Webserver über einen Proxy Server

Client 1 möchte eine auf Webserver 3 zugreifen. Dabei sendet er dem Proxy-Server eine Anfrage und dieser wiederum greift auf den Webserver 3 zu.

Client 2 möchte auf Webserver 2 zugreifen. Es wird ebenfalls eine Anfrage an den Proxy gesendet. Der Proxy verbietet jetzt aber den Zugriff, weil es sich um eine gesperrte Webseite handelt und sendet keine Anfrage an den Webserver 2.

Zum Schluss möchte Client 3 auf den Webserver 1 zugreifen. Der Proxy Server ruft alle Dateien ab und liefert diesem dem Client.

Wenn Client 3 noch einmal eine Abfrage sendet, überprüft der Proxy das Ablaufdatum und stellt die bereits gespeicherten Dateien zur Verfügung ohne diese noch einmal herunterzuladen.

In einem Netzwerk kann ein Proxy Server verschiedenen Funktionen übernehmen und auch auf verschiedenen Wegen eingesetzt werden. Dazu gehören unter anderem:

Schutz der Clients

Diese Methode wird häufig in privaten Netzwerken eingesetzt. Die eigentlichen Clients bleiben für den Server unbekannt. Für den Server selbst, sieht es so aus als ob der Proxy die Pakete haben möchte und nicht der Client dahinter. So wird der Angriff unterbunden oder zumindest erschwert.

Schutz der Server

Das gleiche nur andersherum. Wenn man ein Webserver aufsetzt und die Daten schützen möchte, stellt man ein Proxy Server vor den Webserver und lässt diesen angreifen. Wenn der Angreifer es dann schlussendlich geschafft hat, hat er lediglich den Proxy „abgeschossen“. Der Webserver bleibt immer noch heile 🙂

Bandbreitenkontrolle

Mit einem Proxy ist es theoretisch sogar möglich bestimmten Benutzern nur eine bestimmte Bandbreite zu liefern.

Beispielsweise schaltet man ein öffentliches WLAN und reduziert die Bandbreite für seine Gäste auf ca. 500 kbit/s was immer noch über dem 2G (EDGE) liegt.

Aufbereitung von Daten

Ein Proxy Server kann direkt nach dem Herunterladen der Daten, diese auch direkt verarbeiten und in ein gewisses Format bringen.

Sinnvoll kann es sein, wenn man beispielsweise alle heruntergeladenen Bilder aufbereiten möchte oder auch für eine Datenkonvertierung.

Inhaltskontrolle

Im Grunde genommen ganz einfach. Webseiten mit gewaltverherrlichenden, nicht jugendfreien Inhalten etc. werden gesperrt. Alles andere darf angezeigt werden 🙂

Proxy zur Anonymisierung

Ein Anonymisierungs-Proxy wird sehr häufig verwendet, um seine IP-Adresse zu verschleiern. Dies funktioniert natürlich nur, wenn der Ziel Proxy keinerlei Daten sammelt und IP-Adresse speichert.

Andere Aufgaben…

Dies waren natürlich nur ein paar Beispiele. Ein Proxy Server lässt sich auch als eine Art Lastverteilung einsetzen oder um Statistiken für die Datenzugriffe etc. zu generieren oder, oder, oder…

Proxy Server auf einem Raspberry PI einrichten

Kommen wir jetzt endlich zum praktischen Teil 🙂

Da in der heutigen Zeit nahezu alle Webseiten über SSL funktionieren, aber der Squid damit in der Standardkonfiguration – warum auch immer – nicht umgehen kann, müssen wir da ein wenig mogeln bzw. Squid manuell mit den benötigten Einstellungen erstellen.

Schritt 1: Squid herunterladen und manuell kompilieren

Zunächst werden die Paketquellen modifiziert

$ sudo nano /etc/apt/sources.list

Vor dem deb-src Eintrag muss jetzt die Raute entfernt werden.

Anschließend muss die apt Tabelle aktualisiert und einige Pakete heruntergeladen werden, damit man Squid manuell kompilieren kann.

$ sudo apt update
$ sudo apt install devscripts build-essential fakeroot libssl1.0-dev debhelper
$ sudo apt-get build-dep squid

Anschließend wird squid selbst in einem speziellen Verzeichnis heruntergeladen:

$ mkdir /tmp/squid
$ cd /tmp/squid
$ sudo apt source squid
$ nano squid-4.6/debian/rules

In dieser Datei gibt es den Eintrag DEB_CONFIGURE_EXTRA_FLAGS. Nach dem Eintrag „--mandir=/usr/share/man \“ sollten jetzt diese 3 Zeilen ergänzt werden.

--mandir=/usr/share/man \
--with-openssl \
--enable-ssl \
--enable-ssl-crtd \

Und jetzt kann man Squid selbst bauen und installieren. Plane dabei jedoch etwas Zeit mit ein. Das kann ziemlich lange dauern 🙂

$ cd /tmp/squid/squid-4.6
$ sudo dpkg-buildpackage -rfakeroot -b
$ cd /tmp/squid/
$ sudo apt install squid-langpack libdbi-perl ssl-cert
$ sudo dpkg --install squid-common_4.6-1+deb10u1_all.deb
$ sudo dpkg --install squid_4.6-1+deb10u1_armhf.deb
$ sudo dpkg --install squidclient_4.6-1+deb10u1_armhf.deb

Schritt 2: Updates deaktivieren

Und damit es beim nächsten Systemupdate nicht aus Versehen überschrieben wird, deaktivieren wir für Squid die Updates

$ sudo apt-mark hold squid3 squid squid-common squidclient

Schritt 3: SSL Verwaltung aktivieren

Das generieren und signieren der SSL Zertifikate erfordert jedes Mal etwas Zeit. Damit dies nicht passiert, können wir hierfür ein Cache einrichten.

Dies geschieht wie folgt:

sudo /usr/lib/squid/security_file_certgen -c -s /var/spool/squid/ssl_db -M 4MB
sudo chown -R proxy:proxy /var/spool/squid/ssl_db

Schritt 4: SSL Zertifikat erstellen

Wir erstellen uns direkt ein Root Zertifikat für den Proxy:

$ sudo mkdir /etc/squid/crt
$ cd /etc/squid/crt
$ sudo openssl req -new -newkey rsa:2048 -sha256 -days 3653 -nodes -x509 -extensions v3_ca -keyout squidCA.pem -out squidCA.pem

Schritt 4: Netzwerke definieren

Die Konfiguration für Squid ist sehr umfangreich (~8562 Zeilen). Dafür ist die aber auch sehr gut dokumentiert und bereits mit den verschiedenen Optionen ausgestattet, die man bei Bedarf aktivieren kann.

Aber gerade, weil die Konfiguration sehr umfangreich ist, empfehle ich sie dir vorher zu sichern und anschließend neu anzulegen.

Keine Panik. Alles, was wichtige in der Standard-Konfiguration zu finden ist, gibt es hier auch 🙂

$ sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
$ sudo rm /etc/squid/squid.conf
$ sudo nano /etc/squid/squid.conf

Und wenn du doch mal die komplette squid.conf benötigst, habe ich diese natürlich auch gesichert 😉

Als Erstes müssen alle verfügbaren Netzwerke dem Proxy bekannt gegeben und auch registriert werden.

Dies geschieht mit sogenannten ACLs:

acl bytebee src 10.10.1.0/24	# eth1
acl bytebee src 10.20.0.0/24	# wlan0
acl bytebee src 10.20.1.0/24	# wlan1
http_access allow bytebee
http_access deny all

Schritt 5: SSL Unterstützung aktivieren

Jetzt müssen wir nur noch die Ports definieren, über den der Proxy laufen wird:

http_port 3128

Und gleich im Anschluss der https-Port. Hier wird auch das SSL-Zertifikat aus Schritt 4 und der SSL-Cache aus Schritt 3 hinterlegt:

https_port 3129 ssl-bump intercept \
    tls-cert=/etc/squid/crt/squidCA.pem \
    dynamic_cert_mem_cache_size=4MB

sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/spool/squid/ssl_db -M 4MB

Schritt 6: RAM-Disk erzeugen und verwenden

Für ein wenig mehr Performance, empfiehlt es sich eine RAM-Disk anzulegen. Diese lagert den kompletten Cache in den Arbeitsspeicher aus.

$ sudo mkdir /mnt/ramdisk
$ sudo nano /etc/fstab

Am ende der Datei, fügst du folgendes ein:

tmpfs /mnt/ramdisk tmpfs nodev,nosuid,noexec,nodiratime,size=200M 0 0

Jetzt noch die Ramdisk einhängen und noch einmal kontrollieren, ob alles die auch da ist:

$ sudo mount -a df

Jetzt muss das ganze dem Squid noch beigebracht werden:

cache_dir ufs /mnt/ramdisk 192 16 256
cache_mem 192 MB
maximum_object_size_in_memory 128 KB 
memory_replacement_policy heap GDSF 
cache_replacement_policy heap LFUDA
maximum_object_size 4 MB

Schritt 7: Squid als Web-Filter

Zwar kann man mit Squid bereits Webseiten filtern, allerdings funktioniert das, meiner Erfahrung nach, nicht so gut.

Bessefe Erfahrungen habe ich mit squidGuard gemacht.

Doch zunächst installieren wir squidGuard.

Und weil die Standardfehlermeldungen von squidGuard nicht aussagekräftig sind, installieren wir gleich noch ein Webserver dazu.

$ sudo apt-get install squidguard apache2 php
$ sudo cp /etc/squidguard/squidGuard.conf  /etc/squidguard/squidGuard.conf.bak

Das deutsche Unternehmen „Shalla Secure Services“ pflegt und klassifiziert seit mittlerweile fast 12 Jahre eine Liste von verschiedenen URLs. Im Laufe der Zeit sind bereits über 1,7 Millionen Einträge zustande gekommen.

Das coole an dieser Liste ist, sie ist direkt für squidGuard aufbereitet und kann entsprechend mit wenigen Handgriffen verwendet werden.

Natürlich wollen wir nicht auf diese grandiose Liste verzichten:

$ cd /tmp 
$ wget http://www.shallalist.de/Downloads/shallalist.tar.gz 
$ sudo tar -xzf shallalist.tar.gz -C /var/lib/squidguard/db 
$ sudo chown -R proxy:proxy /var/lib/squidguard/db

Auch für squidGuard wird die Konfigurationsdatei erst gesichert und dann gelöscht. Nicht weil diese ebenfalls überladen ist, sondern weil man mit den Standard-Einstellungen nichts anfangen kann.

$ sudo cp /etc/squidguard/squidGuard.conf  /etc/squidguard/squidGuard.conf.bak
$ sudo rm /etc/squidguard/squidGuard.conf
$ sudo nano /etc/squidguard/squidGuard.conf

Der komplette Inhalt kann also bedenkenlos gelöscht werden und stattdessen folgender Inhalt hinzugefügt werden:

dbhome /var/lib/squidguard/db
logdir /var/log/squidguard

src mw_network {
	ip 10.10.1.0/24 10.20.0.0/24 10.20.1.0/24
}

dest adv {
	domainlist	BL/adv/domains
	urllist 	BL/adv/urls
	redirect	http://upload.wikimedia.org/wikipedia/commons/c/c0/Blank.gif
}

dest chat {
	domainlist	BL/chat/domains
	urllist		BL/chat/urls
}

dest porn {
	domainlist	BL/porn/domains
	urllist		BL/porn/urls
}

dest spyware {
	domainlist	BL/spyware/domains
	urllist		BL/spyware/urls
}

dest tracker {
	domainlist 	BL/tracker/domains
	urllist 	BL/tracker/urls
	redirect	http://upload.wikimedia.org/wikipedia/commons/c/c0/Blank.gif
}

dest dating {
	domainlist	BL/dating/domains
	urllist		BL/dating/urls
}

dest fortunetelling {
	domainlist	BL/fortunetelling/domains
	urllist		BL/fortunetelling/urls
}

dest costtraps {
	domainlist	BL/costtraps/domains
	urllist		BL/costtraps/urls
}

dest aggressive {
	domainlist	BL/aggressive/domains
	urllist		BL/aggressive/urls
}

acl {
	mw_network {
		pass !adv !porn !chat !spyware !tracker !dating !fortunetelling !costtraps !aggressive all
	}

	default {
		pass none
		redirect http://localhost/squidGuard.php/?a=%a&n=%n&i=%i&s=%s&u=%u&t=%t&p=%p
	}
}

Bevor die Einstellungen aktiv werden, muss die Blacklist kompiliert und eine Datenbank erstellt werden. Dies geschieht mit dem folgenden Befehl (das kann jetzt erst einmal ein Weilchen dauern):

$ sudo squidGuard -C all

Nach einer Wartezeit (bei mir waren es ca. 30 Minuten. Wahrscheinlich wegen der p*rn Blacklist) müssen die Datenbanken noch einmal die benötigten Rechte erhalten:

$ sudo chown -R proxy:proxy /var/lib/squidguard/db

Am Ende der squid.conf muss noch auf squidGuard verwiesen werden.

url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf url_rewrite_children 5

Wenn du jetzt squid einmal neu startest, sollten alle regeln aktiv sein und du kannst werbefrei surfen:

$ sudo /etc/init.d/squid restart

Und damit die Fehlermeldungen auch „gut“ aussehen, muss noch ein kleiner Befehl ausgeführt werden:

$ cd /var/www/html
$ sudo wget https://raw.githubusercontent.com/ByteBee/Jupiter-PI/master/var/www/html/squidGuard.php

Schritt 8: Blacklist up-to-date halten

Es kommen täglich neue Websites, die gesperrt werden sollen. Die Blacklist wird auch ständig gepflegt und erweitert.

Bevor man sich aber jede Woche oder jeden Monat die Blacklist manuell aktualisiert, bietet Linux da ein schönes Werkzeug, welches das ganze automatisiert abbildet: CRON

$ cd /etc/squidguard
$ sudo wget https://raw.githubusercontent.com/ByteBee/Jupiter-PI/master/etc/squidguard/fetchShalla.sh
$ sudo chmod +x /etc/squidguard/fetchShalla.sh 
$ sudo crontab -e

Wenn du am Ende von crontab folgende Zeile hinzufügst, dann wird sich die Blacklist auch noch aktuell halten:

0 4 * * 1/7 /etc/squidguard/fetchShalla.sh

Dabei wird das Script jeden Montag um 4 Uhr morgens ausgeführt.

Fazit – Proxy Server

Ein Proxy Server im privaten Netzwerk kann im ersten Augenblick zwar etwas für überraschung sorgen und übertrieben wirken, jedoch spart man sich dadurch am Ende doch schon etwas an Bandbreite und hat ein merklichen Performancegewinn.

Der wesentliche Punkt jedoch ist, der Web-Filter.

Durch ein paar kleine Handgriffe ist es zum Beispiel möglich in sein komplettes Netzwerk werbefrei zu kriegen. Man kann sich jetzt darüber streiten wie Sinnig das Ganze ist.

Sinnvoll ist es auf jeden Fall, ungewollte Webseiten aus seinem Netzwerk komplett auszusperren. Es muss dir aber auch bewusst sein, dass das der erste Schritt in Richtung Internetzensur ist 🙂

Im nächsten Kapitel sperren wir dann noch etwas mehr vom Internet mithilfe von eines DNS-Server. Das ist durchaus sinnvoll, wenn man sich z.B. gegen Viren schützen möchte.

Natürlich wurden auch wieder alle bearbeiteten Dateien aus diesem Beitrag bei github hochgeladen.

8 Kommentare
Matthias
23. Juni 2019 00:19

Hallo und vielen Dank für die interessante Anleitung. Leider bin ich ein totaler Noob und komme damit nicht so ganz klar. Meine Situation: derzeit surfen alle meine Geräte über eine Fritzbox im Internet. Wenn ich jetzt will, dass statt dessen der Raspberry Pi mit Squid benutzt wird: muss ich dann nicht erst mal ein zusätzliches Netzwerk am Pi installieren, damit über den überhaupt gesurft werden kann (um dann anschließend die Fritzbox für alle kritischen Endgeräte zu sperren)? Wie mache ich das bzw. wo finde ich die Infos dazu? Ich habe das Gefühl, ich habe hier den zweiten vor dem ersten Schritt getan…

25. Juni 2019 12:23

Hallo Matthias,

in der Tat hast du hier den zweiten Schritt vor dem ersten erledigt. Bzw. fehlen hier sogar ein paar mehr Schritte.

Du kannst Squid zwar auch „out-of-the-box“ benutzen, jedoch musst du den entsprechenden Endgeräten zunächst einmal Beibringen, dass ein Proxy-Server vorhanden ist und auch genutzt werden soll.

Einfacher ist es natürlich, wenn du (wie du schon gesagt hast) dein komplettes Intranet hinter dem Raspberry „versteckst“ und anschließend in der Firewall den kompletten Traffic über den Proxy leitest.

Wie so etwas konfiguriert werden kann, habe ich in der Raspberry Router Serie zusammengefasst. Der Proxy, ist jedoch nur ein Teil aus dieser Serie.

Die komplette Serie findest du unter dem folgenden Link:
https://www.bytebee.de/raspberry-router/

Liebe Grüße
Sergej

Carsten
12. November 2019 20:09

Guten Abend, ich bin beim Suchen einer sinnvollen Aufgabe für meinen RPi4 über diese Anleitung gestoßen. Mich interessiert eigentlich nur der Proxy-Server – Teil. Nun ist aber auf meinem RPi4 „Dietpi“ installiert und nicht „Raspian“. Desweiteren ist der Squid nicht in Version 3, sondern in Version 4 vorhanden. Ich finde die folgenden Stellen nicht in der squid.conf:
acl manager und http_access
Irgendwie finde ich das nicht. Alle anderen Anpassungen habe ich vornehmen können.
Mein Netzwerk ist 10.0.0.0/8. Ich möchte den Proxy nur im Lan nutzen, also kein WLan.
Ich kkönnte auch bei Bedarf gerne die squid.conf und die squidguard.conf per eMail senden.
Vielen Dank für die Mühe! MfG. Carsten

11. Januar 2020 21:51

Hallo Carsten,

die squid.conf ist so aufgebaut, dass es theoretisch egal ist, wo die Einstellungen hingeschrieben werden. Hauptsache sie stehen drin. Die ursprüngliche Anleitung war noch unter squid3 geschrieben. Diese wurde mittlerweile aktualisiert. Ebenso habe ich meine finale config auf github hochgeladen. Kannst dich da gerne umsehen.

Liebe Grüße
Sergej

Peter
11. Januar 2020 00:12

Hi Sergej,

ich bin heute als ziemlicher Raspberry-Anfänger auf dein Tutorium gestoßen und fühle mich, nachdem ich alle Schritte durchgemacht habe, um eine gute Erfahrung und einen schön eingerichteten Raspi reicher. Ganz herzlichen Dank für dieses Tutorium, die Github-Updates und all die Mühe, die da reinging!! So fundiert habe ich das selten erlebt, sonst stückelt man sich das alles irgendwie zusammen…

Zwei kleine Anregungen aber, die sich bei mir (Noob) als potentielle – aber eigentlich unnötige? – Fehlerquellen herausgestellt haben:
1) Die Firewall-Einstellung zu SSH wäre bei mir fast der Killer gewesen, weil ich kein eth1 eingerichtet habe, sondern nur ein subnet über’s wlan0 meines Raspberry 4B. Ich bin zwar zugegeben Anfänger, aber deshalb umso mehr froh, dass ich an der Stelle aufgepasst habe. Vielleicht könnte man den Port erstmal „sicherheitshalber“ auch nach außen öffnen und erst, wenn alles funktioniert, schließen?
2) Squid habe ich nach Anweisung kompiliert, das hat alles super geklappt. Dann hat – aus unerfindlichen Gründen (vielleicht Neustart?) – die „apt-mark hold“-Sicherung nicht funktioniert und bei der Installation von Squidguard hat es mir auch das normale Squid „drübergebügelt“… Vielleicht solltest du im Befehl oben ($ sudo apt-get install squid squidguard apache2 php) squid einfach rausnehmen, oder braucht man das da noch?

Nochmal: ganz herzlichen Dank! Deine Raspi-Konfiguration war genau das, was ich seit Tagen suche und ohne Erfolg alleine zusammenbasteln wollte. Du bist eine riesige Hilfe gewesen!

11. Januar 2020 21:45

Hallo Peter,

vielen Lieben, herzlichsten Dank für deinen Kommentar. Es ist sehr schön so etwas zu lesen 🙂

Zu deinen Fragen:
1. Die Firewall ist so ausgelegt, dass zunächst alles gesperrt wird (Policy Regel). Du gibst explizit den Port 22 auf dem interface eth1 frei. Wenn du magst, kannst du jedoch den Parameter -i eth1 auch komplett weglassen. Somit hast du den Port in deinem Netzwerk freigegeben. Ich würde aber hier trotzdem eine Regel für eth0 anlegen und den Port sperren.
2. Scheint wohl, dass squid nicht richtig installiert wurde. Wurden die Befehle zur Installations korrekt und ohne Fehlermeldung ausgeführt? Danke für den Hinweis, dass squid noch beim squidguard apt-Befehl drin ist. Habe ich jetzt entfernt. Allerdings ist das ein Anzeichen dafür, dass squid nicht richtig installiert wurde. apt erkennt, ob bereits ein Paket installiert ist und ignoriert die Anfrage anschließend.

Liebe Grüße
Sergej

Peter
21. Januar 2020 10:16

Hi Sergej,

ich bin’s nochmal mit einer anderen Frage… Vielleicht könntest du kurz erklären, wie man individuelle Domains mit SquidGuard blockt? Ich habe
* zwei neue Dateien (/var/lib/squidguard/db/BL/blck/domains und /var/lib/squidguard/db/BL/blck/urls – „blck“ ist ein neuer Ordner zum Blocken) angelegt mit den Domains, die ich blocken will
* Die squidguard.conf geändert (
dest blck {
domainlist BL/blck/domains
urllist BL/blck/urls
}
und unten !blck)
* $ sudo squidGuard -C all (er hat auch zu den neuen Dateien je eine .db erstellt)
* $ sudo chown -R proxy:proxy /var/lib/squidguard/db
* $ sudo /etc/init.d/squid restart (die url_rewrite_program… war ja schon eingetragen)
…aber es funktioniert nicht – die Domains werden nicht geblockt… Habe ich da was übersehen?

Und zweite Frage: kann man evtl. auch Urls blocken, die ein bestimmtes Keyword enthalten? Auch bei https?

Vielen Dank dir nochmal!

27. Januar 2020 21:08

Hallo Peter,

Auf den ersten Blick sieht deine Konfiguration richtig aus. Wenn du magst, kannst du mir mal deine config und urllist-Datei per Email zusenden und ich kann mir das mal ansehen.

Das blocken einer bestimmten URL würde ich direkt über Squid lösen, nicht über SquidGuard. Hierzu kannst du dir gerne die Dokumentation über die ACL definitionen ansehen und dafür ein eigenes Pattern-Matching schreiben.
https://wiki.squid-cache.org/SquidFaq/SquidAcl

Eine gute Website für reguläre Ausdrücke, ist regex101.

Über Squid kannst du auch den Inhalt einer Website nach bestimmten Begriffen durchsuchen und sperren. Würde ich jedoch nicht machen, weil es da zu Problemen kommen kann. (z.B. Staatsexamen oder Schatzinsel)

Gruß
Sergej

... und was meinst du dazu?
Deine E-Mail-Adresse wird nicht veröffentlicht.