squid als contentfilter
squid als contentfilter
Hallo Forum,
ich setze den squid als contentfilter für lan clients ein. So weit funktioniert das auch alles bis auf die Tatsache das ich den squid proxy im Browser z.B. firefox direkt eintragen muss da ansonsten HTTPS nicht funktioniert.
Ich habe das ganze mit einem port forwad versucht was auch für http funktioniert hatte, bei https gabs dann leider ein SSL Error im Browser.
Ziel der Übung für mich ist es das alle clients den proxy nutzen ohne das ich den auf jedem system oder hat in jedem Borwser einzeln eintragen muss.
Hat da jemand ein Tip für mich wie ich das realisieren kann so das dann auch https funktioniert?
ich setze den squid als contentfilter für lan clients ein. So weit funktioniert das auch alles bis auf die Tatsache das ich den squid proxy im Browser z.B. firefox direkt eintragen muss da ansonsten HTTPS nicht funktioniert.
Ich habe das ganze mit einem port forwad versucht was auch für http funktioniert hatte, bei https gabs dann leider ein SSL Error im Browser.
Ziel der Übung für mich ist es das alle clients den proxy nutzen ohne das ich den auf jedem system oder hat in jedem Borwser einzeln eintragen muss.
Hat da jemand ein Tip für mich wie ich das realisieren kann so das dann auch https funktioniert?
Re: squid als contentfilter
Contentfiltering funktioniert aber nur für HTTP. Verschlüsselte Webseiten (HTTPS) können nicht bzw. nur global per Domainname gefiltert werden. Der Nutzen von filternden Proxies läßt mit der immer weiter umsich greifenden Verbreitung von HTTPS stetig nach.moodsx hat geschrieben:30.11.2017 13:42:32ich setze den squid als contentfilter für lan clients ein.
Logisch, transparent proxying geht nur mit HTTP.Ich habe das ganze mit einem port forwad versucht was auch für http funktioniert hatte, bei https gabs dann leider ein SSL Error im Browser.
OK, man kann Squid auch so konfigurieren, daß es den HTTPS-Verkehr entschlüsselt und filtert, und so quasi als Man in the middle den verschlüsselten Verkehr mitliest. Besondern prickelnd finde ich diese Idee aber nicht.
Automatisch Proxy konfiguration ist eigentlich bei jedem Browser voreingestellt. Hier ist das mal halbwegs erklärt:Ziel der Übung für mich ist es das alle clients den proxy nutzen ohne das ich den auf jedem system oder hat in jedem Borwser einzeln eintragen muss.
https://de.wikipedia.org/wiki/Web_Proxy ... y_Protocol
Man braucht einen Webserver, der die Konfiguration (wpad.dat) ausliefern kann. Ich nehme dazu z.B. micro_httpd und der liefert exakt nur eine Seite, nämlich wpad.dat aus.
Ferner braucht man einen Hostname-Eintrag im Nameserver namens WPAD, der als CNAME eingetragen wird, also als Alias für den Rechner dient, auf dem der Webserver läuft, der wpad.dat ausliefern kann.
Wie man einen CNAME-Eintrag im DNS macht, hängt vom (Plastik)router oder aber von der eingesetzten DNS-Software ab (üblicherweise dnsmasq oder bind9).
Re: squid als contentfilter
Lese: https://www.heise.de/security/meldung/S ... 20159.htmlmoodsx hat geschrieben:... so das dann auch https funktioniert?
Re: squid als contentfilter
Ich danke Euch für die hilfreichen Hinweise.
Gibt es denn aktuell was "vernünftiges" womit sich ein zentraler contentfilter realisieren lässt oder ist man weiterhin auf einzel lokale Lösungen wie irgendwelche Browseraddons angewiesen?
Gibt es denn aktuell was "vernünftiges" womit sich ein zentraler contentfilter realisieren lässt oder ist man weiterhin auf einzel lokale Lösungen wie irgendwelche Browseraddons angewiesen?
- Lord_Carlos
- Beiträge: 5578
- Registriert: 30.04.2006 17:58:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Dänemark
Re: squid als contentfilter
Was meinst du mit "contentfilter" genau?
Code: Alles auswählen
╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!
Re: squid als contentfilter
Prinzipbedingt geht Contentfiltering mit HTTPS nur, wenn man die Verschlüsselung aufbricht. Das ist zwar technisch machbar und für squid gibt es dazu sogar entsprechende Zusätze. Ich kann hier aber uname und seinem Link nur zustimmen: Finger weg. Denn man würde damit auch z.B. Onlinebanking aufbrechen.moodsx hat geschrieben:30.11.2017 15:38:56Gibt es denn aktuell was "vernünftiges" womit sich ein zentraler contentfilter realisieren lässt
Ansonsten kann man HTTPS nur - ähnlich einem DNS-Filter - domainweit filtern. Du kannst also z.B. den Zugriff auf https://www.doubleclick.net blockieren, was bei doubleclick noch relativ unproblematisch ist. Wenn du aber z.B. akamaihd.net blockierst, gehen viele Mediatheken (ARD, ZDF...) nicht mehr.
Eigentlich ist man nicht "weiterhin" auf Addons angewiesen sondern man ist zukünftig immer mehr darauf angewiesen.oder ist man weiterhin auf einzel lokale Lösungen wie irgendwelche Browseraddons angewiesen?
Re: squid als contentfilter
Habe mich dazu entschlossen mich von squid zu trennen und das ganze mit bind9 zu realisieren.
Funktioniert soweit auch wunderbar. Danke Euch für Eure Infos/Hilfe.
Funktioniert soweit auch wunderbar. Danke Euch für Eure Infos/Hilfe.
Re: squid als contentfilter
Wie hast du es gemacht? Kannst ja wenigstens mal einen Link posten ...und das ganze mit bind9 zu realisieren.
Re: squid als contentfilter
sehr gern:
bind9 installieren
dann die /etc/bind/named.conf editieren
Hier habe ich die letzte Zeile eingefügt. Der Rest ist standard.
named.conf.options
Hier habe ich forwarders auskommentiert und die ip vom router eingetragen an die bind9 die Anfragen weiterleitet die er selbst nicht auflösen kann. Letzte Zeile: allow-query hinzugefügt damit meine LAN-Clients den bind9 befragen dürfen.
Die oben erwähnte Liste "dnsblacklist" sieht dann so aus, (ist nur ein Auszug):
Das erstellen übernimmt das noch nicht endgültig fertige script:
[/code]
Das script ist noch nicht fertig und ich bin kein bash profi, von daher kann man das bestimmt noch deutlich performanter coden. Ausserdem fehlen noch etliche domains aus der shalla Liste. Im Moment habe ich ca. 38000 domains in der Liste.
Jetzt fehlt eigl. nur noch die Auflösung für die Liste.
Dazu habe ich /etc/namedb angelegt und eine Datei namens blockeddomain.hosts angelect und folgendem Inhalt verpasst:
Damit werden alle zonen aus der Datei dnsblacklist in 127.0.0.1 aufgelöst.
Danach noch ein reload und schauen ob alles sauber durchläuft.
Das wars eigl. schon, hoffe es hilft jemandem weiter.
bind9 installieren
Code: Alles auswählen
apt-get install bind9
Code: Alles auswählen
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
include "/etc/bind/dnsblacklist";
named.conf.options
Code: Alles auswählen
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
192.168.1.254;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
// listen-on-v6 { any; };
allow-query { any; };
};
Die oben erwähnte Liste "dnsblacklist" sieht dann so aus, (ist nur ein Auszug):
Code: Alles auswählen
zone "superfreevpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "supervpn.net" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "switchvpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "t2675.greatnet.de" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "tor2web.org" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "tor2web.ru" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "torguard.net" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "torvpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "toyvpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "trustvpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "tsunamivpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "tunnelbear.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "tuvpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "ufreevpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "ukipvpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "ultrasurf.es" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "ultrasurf.us" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "vpn4all.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "vpn-account.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "vpnbook.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "vpn-free.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "vpngate.net" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "vpnprivacy.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "vworldc.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "yourprivatevpn.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
Code: Alles auswählen
[code]
#!/bin/bash
/bin/rm -rf /etc/bind/shallalist.tar.gz*;
cd /etc/bind && wget http://www.shallalist.de/Downloads/shallalist.tar.gz;
cd /etc/bind/ && chmod 755 shallalist.tar.gz;
cd /etc/bind/ && tar -xzf shallalist.tar.gz;
cd /etc/bind && rm -rf /etc/bind/spywaredomains.zones && wget http://malwaredomains.lehigh.edu/files/spywaredomains.zones;
/bin/rm /etc/bind/dnsblacklist;
/bin/touch /etc/bind/dnsblacklist;
/bin/chmod 755 /etc/bind/dnsblacklist;
echo "add Spywareliste:";
while read line
do
echo "$line" >> /etc/bind/dnsblacklist
done < /etc/bind/spywaredomains.zones
for v1 in "/etc/bind/BL/adv/domains" "/etc/bind/BL/tracker/domains" "/etc/bind/BL/aggressive/domains" "/etc/bind/BL/alcohol/domains" "/etc/bind/BL/anonvpn/domains" ; do
echo "verarbeite: $v1";
while read line
do
z=`/bin/cat /etc/bind/dnsblacklist | grep $line`;
if [ -n "$z" ]; then
echo "Domain schon vorhanden: $line";
else
echo "zone \"$line\" {type master; file \"/etc/namedb/blockeddomain.hosts\";};" >> /etc/bind/dnsblacklist
fi
done < $v1
done
exit 0;
Das script ist noch nicht fertig und ich bin kein bash profi, von daher kann man das bestimmt noch deutlich performanter coden. Ausserdem fehlen noch etliche domains aus der shalla Liste. Im Moment habe ich ca. 38000 domains in der Liste.
Jetzt fehlt eigl. nur noch die Auflösung für die Liste.
Dazu habe ich /etc/namedb angelegt und eine Datei namens blockeddomain.hosts angelect und folgendem Inhalt verpasst:
Code: Alles auswählen
$TTL 86400
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS localhost.
@ IN A 127.0.0.1
Danach noch ein reload und schauen ob alles sauber durchläuft.
Code: Alles auswählen
systemctl reload bind9 && tail -f /var/log/syslog
- Lord_Carlos
- Beiträge: 5578
- Registriert: 30.04.2006 17:58:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Dänemark
Re: squid als contentfilter
Wenn man auf DNS ebene Werbung blocken will, aber keine lust auf gefrickel hat, da gibt es pi-hole: https://pi-hole.net/
curl -sSL https://install.pi-hole.net | bash
und dann den Rechner als DNS im router eintragen.
Das hat dann auch noch ein nettes Webinterface mit Statistiken.
curl -sSL https://install.pi-hole.net | bash
und dann den Rechner als DNS im router eintragen.
Das hat dann auch noch ein nettes Webinterface mit Statistiken.
Code: Alles auswählen
╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!
Re: squid als contentfilter
Nu ja, ich überlege mir bind9 oder unbound, weil die noch DNSSEC und rekursive Namensauflösung (Anfrage autoritativer Server von Roots abwärts) können.Lord_Carlos hat geschrieben:01.12.2017 13:20:40Wenn man auf DNS ebene Werbung blocken will, aber keine lust auf gefrickel hat, da gibt es pi-hole: https://pi-hole.net/
Aber vielleicht muss Eines das Andere nicht ausschließen.
Danke!
Re: squid als contentfilter
Wenn es was einfaches und schnelles sein soll kann man sich auch das anschauen:
http://www.opendns.com
http://www.opendns.com
Re: squid als contentfilter
Lieber nicht kostenfrei. Sonst nutzt und teilt Cisco Daten:
https://www.cisco.com/c/en/us/about/leg ... -full.html
Link per https://signup.opendns.com/homefree/
https://www.cisco.com/c/en/us/about/leg ... -full.html
Link per https://signup.opendns.com/homefree/