Relayd zum Filtern von Webseiten

PaulAtreides

Well-Known Member
Hallo,
im Internet habe ich eine Anleitung gefunden wie man mit Relayd Webseiten blockieren kann.

http://www.mouedine.net/relayd/

Gibt es noch eine andere Möglichkeit ohne bei allen Usern ein SSL Zertifikat installieren zu müssen?
Ich will nur den Aufruf der Seiten verhindern nicht den Inhalt filtern oder dergleichen.
 
Ich will nur den Aufruf der Seiten verhindern

Das kannst du mit squid blocken oder stumpf die IPs besagter Webseiten. Wobei ich davon kein Freund bin, 'sauber' ist das nicht. Viele Seiten werden per CDN (cloudflare etc.) beschleunigt und niemand kann dir sagen, wann und wie die mal ihre IP ändern.

Sehr bequem mit opnsense:
https://docs.opnsense.org/manual/how-tos/proxywebfilter.html

Edit: Geht es um ein Heim- oder Firmennetz?
In nicht steinalten Fritzboxen kann man auch einfach Seiten blockieren.
 
Von der Komplexität her völliger Overkill, das mit PF und relayd zu machen.

Squid hinstellen, direkten Zugriff aufs Internet blockieren, damit alles durch den Squid muss und dort dann einfach und sauber beliebige ACLs blocken. Da HTTPS durch einen Proxy sowieso den Hostnamen offenbart, muss man nicht mal auf SNI gucken, geschweige denn TLS komplett aufbrechen.
 
Edit: Geht es um ein Heim- oder Firmennetz?
kleines Firmennetz

Von der Komplexität her völliger Overkill, das mit PF und relayd zu machen.
Squid hinstellen, direkten Zugriff aufs Internet blockieren, damit alles durch den Squid muss und dort dann einfach und sauber beliebige ACLs blocken. Da HTTPS durch einen Proxy sowieso den Hostnamen offenbart, muss man nicht mal auf SNI gucken, geschweige denn TLS komplett aufbrechen.
Squid erscheint mir mit seinen vielen Einstellungen sehr viel komplexer als PF und relayd. Zumal ich nicht cCchen möchte, da der Router nicht besonders leistungsstark ist. Als Router und Firewall für 100 Mbit reicht es aber als Proxy mit Cache ehr nicht.
 
Willst du die sicher blocken oder reicht es nicht einfach die Domains über den DNS zu filtern?
 
Squid erscheint mir mit seinen vielen Einstellungen sehr viel komplexer als PF und relayd.
Erscheint trifft es, du musst dazu nicht alles aktivieren. Squid erfordert fürs Blocken auch nicht zwingend das caching und selbst wenn, dann gibt man ihm einen kleinen Maximalwert. In der standardconfig sind das immer noch nur verkraftbare 16Mb, die man zur Not noch kleiner wählen kann.
 
Squid erscheint mir mit seinen vielen Einstellungen sehr viel komplexer als PF und relayd. Zumal ich nicht cCchen möchte, da der Router nicht besonders leistungsstark ist. Als Router und Firewall für 100 Mbit reicht es aber als Proxy mit Cache ehr nicht.

Nein, komplex ist, transparentes Proxying zu machen und SSL aufzubrechen.

Es gibt auch schmalere Proxies als Squid. Ich weiß nicht, ob es Privoxy noch gibt, oder Polipo. Tinyproxy gabs auch mal.
 
Ich habe mich für Squid entschieden. Leider bekomme ich beim Aufrufen von Seiten die Fehlermeldung "Your cache is running out of filedescriptors". Wo kann ich die Einstellung für filedescriptors vornehmen und wie groß sollte der Wert sein?

squidclient -p 3128 mgr:info

File descriptor usage for squid:
Maximum number of file descriptors: 128
Largest file desc currently in use: 14
Number of file desc currently in use: 8
Files queued for open: 0
Available number of file descriptors: 120
Reserved number of file descriptors: 32
Store Disk files open: 0
 
Wenn ich den Proxy im Browser eintrage funktioniert das blockieren der Seiten. Als transparent proxy leider nicht.

squid.conf
http_port 127.0.0.1:3127 intercept

pf.conf
pass in quick log inet proto tcp from $filternet to port {http, https} divert-to localhost port 3127

Geht das mit https nur wenn ich ein lokales Zertifikat bei den Usern installiere?
Ich will gar nicht den Inhalt Cachen, ich will nur einzelne Seiten wie z.B. facebook blockieren.
 
Klar, wenn du https filtern willst brauchst du ein Zertifikat bei den Usern. Wenns nur um etwas alibi geblocke geht nimm doch lieber DNS-Blocks, wenns wer drauf anlegt kommt er sowieso raus.
 
HTTPS kannst du nach Hostnamen filtern, wenn die Clients den Proxy kennen und aktiv nutzen. Dazu brauchst du kein HTTPS aufmachen.

Transparent wird das natürlich schwieriger.
 
HTTPS kannst du nach Hostnamen filtern, wenn die Clients den Proxy kennen und aktiv nutzen. Dazu brauchst du kein HTTPS aufmachen.

Der Hostname ist auch im TLS verschlüsselt. Wenn der Client so freundlich ist SNI zu senden kann man danach filtern. Diverse komerzielle Lösungen arbeiten auch nach dem Prinzip die "Sperrliste" aufzulösen und dann diese IPs blocken. Das da einige Probleme auftreten können kann sich aber auch jeder selbst ausmalen.
 
Das mag schon sein aber er mag ja was blocken, z.b. Facebook. Ich muss dem Client nur sagen kein SNI mitzuschicken oder einen "geduldeten" SNI, dann ist die "Sperre" umgangen, weil er ohne https Zertifikat und https MITM eben nicht weiß, wo die Anfrage wirklich hingeht.
 
medV2: SNI gibt dir aber nur den äußeren Namen im TLS. Es gibt durchaus Seiten die SNI ignorieren, weil sie einfach Unique IP haben. Diese könnten dann als Proxy dienen um die Zensur zu umgehen.
 
Solange du also nicht anfängst ne Whitelist zu führen kann das also nichts werden, wenn du echte Sicherheit brauchst. Um allerdings die Leute davon abzuhalten bsdforen.de^Wfacebook.com auf der Arbeit zu surfen reicht nen DNS Filter.
 
Das mag schon sein aber er mag ja was blocken, z.b. Facebook. Ich muss dem Client nur sagen kein SNI mitzuschicken oder einen "geduldeten" SNI, dann ist die "Sperre" umgangen, weil er ohne https Zertifikat und https MITM eben nicht weiß, wo die Anfrage wirklich hingeht.

Und ich lass mich auch noch darauf ein. Das Thema SNI spielt bei Clients, die willig einen Proxy benutzen, überhaupt keine Rolle.
 
So, jetzt hört mal auf mit Bauklötzchen zu werfen und wartet ab ob der OP uns sagt was sein eigentliches Vorhaben ist.
 
Zurück
Oben