Commit 833faca8 authored by goofy-bz's avatar goofy-bz

Update README.md - trivial typofix

parent aa3d54c8
......@@ -2,7 +2,7 @@
Ce projet regroupe la configuration nécessaire pour Unbound afin de bloquer certaines « Data Management Platforms » (DMP) utilisées par de plus en plus de sites (liberation.fr, oui.scnf, lemonde.fr, fnac.com...) et qui échappent – pour l'instant aux bloqueurs de traqueurs traditionnels (uBlock Origin ou uMatrix par exemple) ou [un peu plus sophistiqué](https://framagit.org/Shaft/unbound-adblock).
La première partie de ce README est assez didactique et revient sur les mécanismes en jeu (j'avais la flemme d'écrire un billet de blog alors je met ça là :D). Pour passer directement à la partie configuration, [c'est tout en bas](#principe).
La première partie de ce README est assez didactique et revient sur les mécanismes en jeu (j'avais la flemme d'écrire un billet de blog alors je mets ça là :D). Pour passer directement à la partie configuration, [c'est tout en bas](#principe).
[La liste des domaines bloqués](liste-domaine.txt)
......@@ -30,13 +30,13 @@ Dernièrement, une conjoncture d'éléments est venue semer le trouble chez nos
- La part de plus en plus grande d'internautes utilisant des bloqueurs de publicités
- La volonté des éditeurs de navigateurs web (Chrome et Firefox – et donc leurs dérivés) de bloquer par défaut les traqueurs ou les cookies tiers.
Un mouchard est dit tiers – ou *3rd-party* quand on est disruptif – quand il n'est pas chargé depuis le domaine (ou un de ces sous domaines) que vous visitez. Par exemple sur quand on visite [https://liberation.fr/](https://liberation.fr/), le script chargé depuis `www.google-analytics.com` est tiers. Si le même mouchard est chargé depuis un sous-domaine de `liberation.fr`, il est dit *1st-party* (primaire a priori en bon français).
Un mouchard est dit tiers – ou *3rd-party* quand on est disruptif – quand il n'est pas chargé depuis le domaine (ou un de ses sous domaines) que vous visitez. Par exemple quand on visite [https://liberation.fr/](https://liberation.fr/), le script chargé depuis `www.google-analytics.com` est tiers. Si le même mouchard est chargé depuis un sous-domaine de `liberation.fr`, il est dit *1st-party* (primaire a priori en bon français).
Le hic, pour nos amis start-uppers est que les mouchards/cookies tiers sont triviaux à bloquer. Ne pas charger les cookies tiers est d'ailleurs une option répandue dans les navigateurs depuis des années.
## La fourberie
La technique dévellopée par les marketeux pour ne pas voir les juteuses données personnelles leur échapper est à la fois techniquement très simple et redoutable. Il suffit de transformer les crasses *3rd-party* en *1st-party* afin de les cacher sous le cyber-tapis pour reprendre l'expression de Reflets. Et pour se faire passer par le DNS et ses possiblités.
La technique développée par les marketeux pour ne pas voir les juteuses données personnelles leur échapper est à la fois techniquement très simple et redoutable. Il suffit de transformer les crasses *3rd-party* en *1st-party* afin de les cacher sous le cyber-tapis pour reprendre l'expression de Reflets. Et pour se faire passer par le DNS et ses possiblités.
### DNS
......@@ -53,11 +53,11 @@ bat.man IN CNAME bruce.wayne
Le but est d'associer les adresses IPs non pas à `bat.man` mais à `bruce.wayne`.
Pour prendre un exemple réel, par exemple si l'on souhaite se connecter au site des Impôts (`www.impots.gouv.fr`), votre navigateur va demander l'adresse IP associée à ce domaine au résolveur configuré dans votre système. Le résolveur va alors demander chercher cette adresse IP, mais se verra d'abord répondre que `www.impots.gouv.fr` est l'alias de `cs1003.wpc.omicroncdn.net.` et que l'adresse IP de ce domaine est `152.199.19.61` (domaine et IP appartenants à EdgeCast, une filiale de Verizon, géant des télécoms US). Le résolveur va donc donner cette adresse au navigateur sans mentionner cette histoire de `CNAME` (car le navigateur s'en fout)
Pour prendre un exemple réel, par exemple si l'on souhaite se connecter au site des Impôts (`www.impots.gouv.fr`), votre navigateur va demander l'adresse IP associée à ce domaine au résolveur configuré dans votre système. Le résolveur va alors demander chercher cette adresse IP, mais se verra d'abord répondre que `www.impots.gouv.fr` est l'alias de `cs1003.wpc.omicroncdn.net.` et que l'adresse IP de ce domaine est `152.199.19.61` (domaine et IP appartenants à EdgeCast, une filiale de Verizon, géant des télécoms US). Le résolveur va donc donner cette adresse au navigateur sans mentionner cette histoire de `CNAME` (car le navigateur s'en fout).
Et nos traqueurs dans tout ça ? Et bien c'est là que ces alias rentrent en jeu. Via leur utilisation, les nuisibles arrivent à se dissimuler car l'opération est invisible pour le navigateur.
Et nos traqueurs dans tout ça ? Eh bien c'est là que ces alias rentrent en jeu. Via leur utilisation, les nuisibles arrivent à se dissimuler car l'opération est invisible pour le navigateur.
Dans le cas de la SNCF (`oui.sncf`), au lieu de charger un traquer depuis un sous-domaine de leur prestataire Eulerian (`eulerian.net`), ils vont imbriquer des CNAME. Sur le site de SNCF, les traqueurs d'Eulerian sont chargés depuis le domaine `v.oui.sncf`, mais ce dernier est l'alias de `voyages-sncf.eulerian.net.` qui est lui-même l'alias de `vsc.eulerian.net.`. Mais votre navigateur ne verra que `v.oui.sncf` et sera ainsi berné (et il n'est pas le seul, votre bloqueur de pubs se fait aussi avoir).
Dans le cas de la SNCF (`oui.sncf`), au lieu de charger un traqueur depuis un sous-domaine de leur prestataire Eulerian (`eulerian.net`), ils vont imbriquer des CNAME. Sur le site de SNCF, les traqueurs d'Eulerian sont chargés depuis le domaine `v.oui.sncf`, mais ce dernier est l'alias de `voyages-sncf.eulerian.net.` qui est lui-même l'alias de `vsc.eulerian.net.`. Mais votre navigateur ne verra que `v.oui.sncf` et sera ainsi berné (et il n'est pas le seul, votre bloqueur de pubs se fait aussi avoir).
### En quoi c'est efficace ?
......@@ -67,7 +67,7 @@ La fourberie est *très* fourbe. La contrer demande d'agir directement sur le r
- [Configuration habituelle](https://framagit.org/Shaft/unbound-adblock) d'un résolveur menteur
- Pi-Hole
sont inefficaces.
*sont inefficaces*.
Regardons comment se déroule le mécanisme de résolution, dans le cas de `f7ds.liberation.fr.` (qui est l'alias de `liberation.eulerian.net.`, lui-même étant l'alias de `atc.eulerian.net.`).
......@@ -75,11 +75,11 @@ En naviguant sur le site de Libération, un script présent dans la page de gard
1. Demander l'adresse de `f7ds.liberation.fr` aux serveurs de noms de `liberation.fr`
2. Se voir répondre par ses serveurs que `liberation.eulerian.net.` et le nom canonique de `f7ds.liberation.fr`
3. Avec cette réponse, il reprend le mécanisme de résolution en prenant pour base `liberation.eulerian.net.` et demander aux serveurs de noms d'Eulerian
4. Ces derniers répondent que `atc.eulerian.net.` est le nom canonique de `liberation.eulerian.net.` et donne l'adresse IP d'`atc.eulerian.net` dans la foulée (109.232.197.179)
4. Ces derniers répondent que `atc.eulerian.net.` est le nom canonique de `liberation.eulerian.net.` et donnent l'adresse IP d'`atc.eulerian.net` dans la foulée (109.232.197.179)
Il est tout à fait possible de faire mentir un résolveur DNS, il suffit de lui dire : « Pour tel domaine (et ses sous-domaines), réponds ça ». Par exemple : « Pour `google-analytics.com` réponds que le domaine n'existe pas ». C'est en général très efficace, sauf dans le cas des `CNAME` (à cause du fonctionnement du mécanisme de résolution spécifique dans ce cas), et il faudrait savoir à l'avance que c'est `f7ds.liberation.fr` qu'il faut bloquer, ce qui est une tâche ardue : il faudrait trouver tous les clients des DMP et trouver quelles domaines servent les scripts problématiques.
Il est tout à fait possible de faire mentir un résolveur DNS, il suffit de lui dire : « Pour tel domaine (et ses sous-domaines), réponds ça ». Par exemple : « Pour `google-analytics.com` réponds que le domaine n'existe pas ». C'est en général très efficace, sauf dans le cas des `CNAME` (à cause du fonctionnement du mécanisme de résolution spécifique dans ce cas), et il faudrait savoir à l'avance que c'est `f7ds.liberation.fr` qu'il faut bloquer, ce qui est une tâche ardue : il faudrait trouver tous les clients des DMP et trouver quels domaines servent les scripts problématiques.
Pour les bloqueurs comme uMatrix par exemple, ces derniers bloque par défaut par les domaines tiers. Pour les sous-domaines du domaine visité, les scripts et les cookies ne sous pas bloqués. Il est donc inefficace sauf à la passer en mode *ultra-parano* consistant à bloquer par défaut scripts et cookies pour tous les domaines.
Pour les bloqueurs comme uMatrix par exemple, ces derniers bloquent par défaut par les domaines tiers. Pour les sous-domaines du domaine visité, les scripts et les cookies ne sont pas bloqués. Il est donc inefficace sauf à le passer en mode *ultra-parano* consistant à bloquer par défaut scripts et cookies pour tous les domaines.
Pour un bloqueur de pubs comme uBlock Origin, comme dans le cas d'un blocage via résolveur menteur, il faudrait également connaître à l'avance le domaine à bloquer (`f7ds.liberation.fr` dans l'exemple vu ci-dessus).
......@@ -88,7 +88,7 @@ Pour un bloqueur de pubs comme uBlock Origin, comme dans le cas d'un blocage via
### Principe
On entre dans la partie technique, pour faire court, on va décrêter à Unbound que nous contrôlons les domaines indésirables (`eulerian.net` par exemple) afin de faire échouer la résolution DNS. La technique est [dévellopée plus en détail sur mon blog](https://www.shaftinc.fr/escalade-traque-eulerian.html). Pour mémoire :
On entre dans la partie technique, pour faire court, on va décréter à Unbound que nous contrôlons les domaines indésirables (`eulerian.net` par exemple) afin de faire échouer la résolution DNS. La technique est [développée plus en détail sur mon blog](https://www.shaftinc.fr/escalade-traque-eulerian.html). Pour mémoire :
- On crée un fichier de zone où l'on met un enregistrement `SOA`.
- On l'associe à chaque domaine à bloquer dans la configuration d'Unbound
......@@ -157,7 +157,7 @@ $ dig degh48.fnac.com
## Sources
Les sources ayant servis à trouver les domaines à bloquer :
Les sources ayant servi à trouver les domaines à bloquer :
- Le travail d'[Aeris](https://social.imirhil.fr/@aeris).
- [Libération : à traqueur vaillant, rien d'impossible](https://reflets.info/articles/liberation-a-traqueur-vaillant-rien-d-impossible) sur Reflets.
- [Affreux, sales et méchants](https://reflets.info/articles/affreux-sales-et-mechants), toujours sur Reflets.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment