11/05/2016

uMatrix le firewall pour navigateur

Geekfault sur uMatrix
C’est la mode en ce moment de parler de bloqueur de pub et de bloqueur de bloqueur de pub.
Tout le monde a sa collection d’extensions pour protéger sa vie privée : privacy badger, disconnect, ghostery, adblock, adblock plus, ublock, noscript, cookie monster.
Protéger sa vie privée c’est bien mais installer quinze addons pour ça c’est un peu chiant. Et si l’un de vos site favoris se met à déconner à cause de l’une de vos extension ? Vous allez devoir les tester une par une pour trouver qui fait un peu trop de zèle…
Finalement un seul addon pourrait remplacer tout ce beau monde.

uMatrix

C’est une extension miracle permettant de whitelister et blacklister les éléments d’une page web selon pas mal de critères. Elle est certe un peu moins intuitive que les traditionnels bloqueurs de pub mais avec un petit peu de pratique vous n’aurez plus de soucis tout en conservant le même résultat.
À l’origine l’extension s’apelait http switchboard et n’était compatible qu’avec les navigateurs basés sur chromium mais est maintenant dispo également sur Firefox. Elle est opensource et développée par Raymond Hill qui est également connu pour uBlock et son fork uBlock Origin.

La puissance de cette extension réside dans sa matrice :
    – Horizontalement on retrouve les types d’éléments blocables : les cookies, les css, les images, les plugins, les scripts, les XHR, les frames et enfin Autre.
    – Verticalement on retrouve les différents domaines. Tout d’abord les 1st-parties, c’est à dire tous les sous-domaines du site visité (si par exemple vous visitez geekfault.org vous y trouverez static.geekfault.org). Ensuite vous trouverez tous les domaines extérieurs (souvent indésirables).
En combinant les deux axes vous pouvez définir des règles précises de manières assez intuitives et très visuelles. Il est ainsi aisé d’autoriser les vidéos provenant de youtube et ses javascripts tout en n’autorisant pas les cookies lorsque vous consultez un autre site web mais de les autoriser lorsque vous visitez youtube. Bref c’est très flexible.

À cela vous pouvez ajouter les traditionnelles listes utilisées par adblock, ublock et consorts. Et vous obtenez l’extension pour les remplacer toutes.

Mise en route

Allez mettons un peu cela en pratique. Commencez par désactiver vos extensions habituelles et installez uMatrix.
Ensuite allons faire un tour dans ses règlages. Vous trouverez deux trois ptits bonus sympatoche comme la suppression des cookies au bout d’un délai configurable, la suppression du stockage local, le vidage du cache automatique, le spoof du referrer pour les third party (ouai c’est pas spécialement clair : ça signifie ne plus dire aux domaines externes de quel site on vient réellement), spoof l’user-agent aléatoirement en changeant régulièrement (ça signifie mentir concernant votre navigateur et votre système d’exploitation). Avec cet options vous serez bien moins traçable qu’auparavant. Malheureusement certains sites peuvent ne pas apprécier et de ce fait déconner un peu, mais vous verez que c’est (des)activable à la volée également.
Page des règlages d'uMatrix
Un autre onglet contient les règles séparées en deux. D’un côté les règles permanentes et de l’autre les temporaires. Vous pouvez sauvegarder les règles temporaires en permanentes si elles vous conviennent. Vous pouvez également les importer depuis un fichier texte ici ce qui peut être plutôt pratique.
Le dernier onglet vraiment utile vous permet d’ajouter des blacklists célèbres et de les maintenir à jour automatiquement.
Bon bha maintenant yapuka !

Mise en pratique

Bon prenons un exemple assez simple. Sur le screenshot plus haut concernant Geekfault, on voit 7 cookies, 7 fichiers css, 8 javascripts. Il fait également appel à 10 javascripts hébergés chez ajax.googleapis.com et également un javascript dans un domaine blacklisté. On voit que tout est autorisé sauf le javascript issu du domaine blacklisté.

Allons voir un site un peu plus … dégueulasse.
Matrice Clubic de base
Alors là on voit 2 cookies bloqués pour clubic.com 16 images venant d’img.clubic.com 4 cookies bloqués pour www.clubic.com pas mal de contenu autorisé provenant également de ce domaine. Ensuite c’est la valse des domaines externes avec pas mal de js bloqués et des cookies.

Si par exemple je veux pouvoir liker leurs articles, il suffit de whitelister facebook.net en cliquant sur la partie supérieure de la case pour qu’elle passe verte, puis de cliquer sur le bouton refresh et hop de nouveaux domaines apparaissent (du facebook.com ce coup-ci) avec des frames bloquées et des images elles aussi bloquées. Si j’ai vraiment envie de les voir il me faudra les whitelister en cliquant sur la partie supérieures de ces cases puis rafraichir.
Clubic un peu plus facebuk
Et là on voit encore apparaitre des nouvelles choses (les joies du web2.0) : du javascript en provenance de staticxx.facebook.com. Bref on whitelist et on rafraichis. Et là ça y est le contenu est bien là.
Clubic avec facebook complètement whitelisté

Bref c’est un poil chiant mais c’est ça d’avoir des règlages par défaut assez safe. Si vous voulez pas vous retapper cette manip à chaque fois, vous pouvez enregistrer ces règles temporaires en tant que règles permanentes en cliquant sur le cadenas.
Et si ? Oui tiens ! Et si on veux avoir ces règlages non pas uniquement disponible pour culbique.com mais aussi sur tous les autres sites web ? Facile il suffit de changer le scope de vos règles : tout en haut à gauche vous voyez le scope de vos règles : ici clubic.com. Si vous cliquez dessus vous pouvez choisir *, clubic.com ou bien www.clubic.com. On choisis * qui indique n’importe quel site on refait la manip précédente de whitelistage puis un enregistre et c’est bon.
En deux coups de cuillière à pot c’est joué.

Conclusion

Bon bha voilà j’espère que vous n’allez pas suivre l’exemple donné et continuerez à bloquer facebook et que vous éviterez de visiter clubic.com mais que vous utiliserez quand même uMatrix.
Page Github du projet
Lien d’installation pour Firefox
Lien d’installation pour Chrome
Lien d’installation pour Opera