Werbe-Blocker per Unbound DNS – manches kommt trotzdem durch?

Started by Marcel_75, April 28, 2019, 02:11:35 PM

Previous topic - Next topic
Hallo zusammen,

hatte als Werbe- & Tracking-Blocker lange Zeit folgende Lösung genutzt:

https://devinstechblog.com/block-ads-with-dns-in-opnsense/

Nun bin ich auf eine etwas aktuellere Lösung gestoßen (die aber ebenfalls auf der ursprünglichen Variante von Devin's Tech Blog basiert):

https://github.com/matijazezelj/unbound-adblock

Das scheint auch alles gut zu funktionieren ... zum testen nutze ich normalerweise bild.de (da die manchmal selbst bei aktivierten uBlock Origin 'erkennen', dass ein Werbeblocker aktiv ist). Aber da wird alles geblockt wie es soll.  :)

Nicht so jedoch bei spiegel.de – da ist alles nur im ersten Moment geblockt, nach 2-3 Sekunden wird dann aber eine große Werbung von Dianomi eingeblendet, dazu noch am rechten Rand eine Werbung von Vodafone.

Beides lässt sich zwar (zum Glück) nicht anklicken (Seiten führen ins 'Leere', der Filter funktioniert also grundsätzlich).

Aber was kann bzw. muss man machen, damit auch so etwas wirklich geblockt wird? Ich würde sehr gern auf PiHole verzichten und das lieber weiterhin mit OPNsense-Bordmitteln lösen.

Erinnere mich, dass so etwas in der Art auch schon bei golem.de auftauchte, hatte dann irgend etwas von Proxies, Caching etc. gelesen, was die Webseitenbetreiber mittlerweile nutzen, um die Werbeblocker "auszutricksen"?

Im zweiten Posting zum Thread werde ich mal der Vollständigkeit halber noch meine Setup beschreiben.

Danke für Hilfe im Voraus.
The fact that we live at the bottom of a deep gravity well, on the surface of a gas covered planet going around a nuclear fireball 90 million miles away and think this to be normal is obviously some indication of how skewed our perspective tends to be. (Douglas Adams)

Eventuell ist ja auch etwas im meinem Setup falsch eingestellt? Anbei mal, was genau ich gemacht habe bzw. wie es eingestellt ist.

1) Mit root-Rechten habe ich per ssh auf der OPNsense folgende drei Zeilen ausgeführt:

curl https://raw.githubusercontent.com/matijazezelj/unbound-adblock/master/update-hosts.sh -o update-hosts.sh

chmod +x update-hosts.sh

./update-hosts.sh


Das Script legt die Datei ,,ad-blacklist.conf" in /var/unbound/ an.

2) Per GUI in der OPNsense habe ich dann in Services / Unbound DNS / General folgende Einstellungen gesetzt:



3) Zum aktualisieren der Liste (inkl. Neustart von Unbound DNS) führe ich das hier im root-Verzeichnis aus:

./update-hosts.sh; pluginctl dns

Das würde ich gern noch automatisieren, hat aber erst einmal keine Prio ...

4) In System / Settings / General ist folgendes eingestellt:


The fact that we live at the bottom of a deep gravity well, on the surface of a gas covered planet going around a nuclear fireball 90 million miles away and think this to be normal is obviously some indication of how skewed our perspective tends to be. (Douglas Adams)

Ja das mit spiegel.de kenne ich.
Ist bei mir auch so... >:(

Die binden das über CSS mit ein.
Und der Inhalt liegt dann meistens auf den Servern von spiegel.de usw....

Hab auch noch keine Möglichkeit gefunden, das zu unterbinden...

Unterbunden bekommt man das mit Hilfe von uBlock Origin und entsprechend gesetzten Filtern (kann die von mir genutzte uBlock Origin Config gern hier posten bei Interesse – diese hat sich bewehrt).

Aber wäre natürlich schön, wenn so etwas auch ohne zusätzliches Browser-PlugIn unterbunden werden könnte.

Mangels eigenem PiHole kann ich leider nicht mal prüfen, ob es sich da anders verhält? Nutzt hier jemand PiHole und kann das mal prüfen?

Frage mich halt, was uBlock Origin 'anders' macht, dass es dort erfolgreich verhindert wird? Eventuell ist dafür ja eine spezielle Blocking-Liste verantwortlich, die man dann einfach noch mit in das oben verlinkte Script mit aufnehmen müsste?
The fact that we live at the bottom of a deep gravity well, on the surface of a gas covered planet going around a nuclear fireball 90 million miles away and think this to be normal is obviously some indication of how skewed our perspective tends to be. (Douglas Adams)

Hi,

Danke für den Link.

Eine Frage, wie geht ihr mit einem Neustart der Sense um?
Bei mir wird die Datei in var/unbound/ nach jedem Neustart gelöscht und unbound startet dann nicht.
Danach muss die Datei manuell neu erzeugt werden.

Wie geht ihr damit um?

lg

Quote from: Mks on April 28, 2019, 08:07:58 PM
Eine Frage, wie geht ihr mit einem Neustart der Sense um? Bei mir wird die Datei in var/unbound/ nach jedem Neustart gelöscht ...

Du musst in System / Settings / Miscellaneous ganz unten im Bereich "Disk / Memory Settings (reboot to apply changes)" das Häkchen rausnehmen bei "Use memory file system for /var", damit das vernünftig funktioniert.

In der Info ist es auch erklärt: "Set this if you wish to use /var as a RAM disk (memory file system disks) rather than using the hard disk. Setting this will cause the data /var to be lost on reboot, including log data."

Deshalb dort das Häkchen raus!  ;)
The fact that we live at the bottom of a deep gravity well, on the surface of a gas covered planet going around a nuclear fireball 90 million miles away and think this to be normal is obviously some indication of how skewed our perspective tends to be. (Douglas Adams)


Noch mal zum ursprünglichen Thema: Gibt es bisher wirklich keine Möglichkeit, solche per CSS eingebettete Werbung mit Hilfe einer Unbound DNS blacklist zu unterbinden?

Habe mit das soeben noch einmal bei spiegel.de mit dem Brave Browser angesehen – via Rechtsklick auf die Werbung und dann per "Brave" -> "Block element via selector" kann man das Element manuell als Werbung markieren, bei mir z.B. "#bLjHnQ > img" bei der großen Werbung mittig und "#IFiiHTJls > img" bei der Werbung am rechten Rand (CSS selector to block). Das funktioniert ...

Habe aber leider keine richtige Idee, wonach genau ich suchen müsste per Google, um eine automatisierte Funktionalität dieser Art für die Unbound DNS blacklist zu erhalten?

Und kann das mal bitte jemand mit einem PiHole prüfen, ob es dort zuverlässig unterbunden wird (also diese CSS-Werbe-Elemente)?

Wie gesagt, bei meinem "uBlock Origin" im Firefox und Chrome z.B. wird das auch automatisch blockiert zu 99%.

Von daher hoffe ich, dass man das auch irgendwie per Unbound DNS blacklist abfangen kann.

Danke für Ideen und Input.
The fact that we live at the bottom of a deep gravity well, on the surface of a gas covered planet going around a nuclear fireball 90 million miles away and think this to be normal is obviously some indication of how skewed our perspective tends to be. (Douglas Adams)

Gruß.
Ein Kumpel hat noch ne Fritte mit nem PiHole laufen.
Den frag ich die Tage mal.

Der will auch bald zu OPNsense wechseln.
Mal sehen wie der das handhaben tut.

Wenn die Werbung lokal und per, ebenfalls lokalem, CSS eingebunden ist, kann eine DNS-Blocking Lösung (also Unbound, Bind und Pi-Hole) nichts dagegen machen, da es von der selben Domain kommt.

uBlock Origin und Brave können diese Werbung unterbinden, da diese sich beim Anzeigen der Seite einklinken und über CSS-Selektoren die entsprechenden Elemente ausfiltern.

Gesendet von meinem ONEPLUS A5000 mit Tapatalk


@Evil_Sense: Danke für die Erläuterung.

Dann müssen wir wohl vorerst damit leben (und hoffen, dass nicht noch mehr "Medienhäuser" diesen neuen Trick anwenden, um nervige Werbung unters Volk zu mischen).

Wahrscheinlich wird sich da auch nichts Brave- oder uBlock-ähnliches in DNS-basierte Blocker integrieren lassen können? Sondern das können prinzipiell wirklich nur die Browser selbst übernehmen (das blockieren solcher CSS-Werbeelemente)?

Oder gibt es irgendwelche Bestrebungen in der Richtung?

Habe nämlich leider wirklich den Eindruck, dass das immer mehr zur Anwendung kommt ... :/
The fact that we live at the bottom of a deep gravity well, on the surface of a gas covered planet going around a nuclear fireball 90 million miles away and think this to be normal is obviously some indication of how skewed our perspective tends to be. (Douglas Adams)

Du bräuchtest somit eher einen Filtering Proxy, der den Seiteninhalt scannt und Elemente ähnlich uBlock rausfiltert und die gesäuberte Seite zurückgibt.
Weiß nicht, ob http://www.privoxy.org das z.B.könnte.
Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz (24 cores)
256 GB RAM, 300GB RAID1, 3x4 10G Chelsio T540-CO-SR

Danke, Marcel.
Läuft prima.

Hier mein Beitrag dazu:
Das ganze einfach per Cronjob laufen lassen.

Unter /usr/local/opnsense/service/conf/actions.d/ die Datei "actions_update-blacklist.conf" mit folgendem Inhalt erstellen:


[start]
command:/root/update-hosts.sh ; pluginctl dns
parameters:%s
type:script
description:Update Ad-Block Blacklist
message:Updating Ad-Block Blacklist


Dann Confd mit einem
service configd restart
neustarten.

Nun könnt ihr unter
System -> Settings -> Cron
den Job anlegen: