Met een beetje oefening kun je met uMatrix heel nauwkeurig sturen welke resources Firefox mag downloaden. En met de uitgebreide instellingen in about:config en user.js kun je voorkomen dat een browser je gegevens naar vreemde servers stuurt. Zo kun je nog iets meer Firefox veilig maken.
Bij het aanroepen van een moderne website vliegen je de cookies, stylesheets, JavaScripts, frames, fonts en andere resources om de oren. Je browser maakt daarbij contact met talloze externe aanbieders, die met de eigenlijke website in principe niets te maken hebben – een risico voor je privacy en security dus. Met de add-on uMatrix kun je niet alleen in beeld krijgen wat er allemaal aan de website gekoppeld is, maar ook heel nauwkeurig controleren welke resources Firefox mag downloaden.
uMatrix is een soort browser-firewall, die alleen de resources doorlaat waar je expliciet toestemming voor geeft. Die add-on wordt ontwikkeld door Raymond Hill, die ook verantwoordelijk is voor de reclame- en tracking-blocker uBlock. Daar hebben we het in een eerder artikel in onze vijfdelige serie over Firefox veilig maken al over gehad (ziet c’t magazine uitgave 6/2019, pagina 112).
Onder de naam ‘uMatrix (door Raymond Hill)’ staat de add-on bij Mozilla onder de Extensies. Na het installeren zie je rechts bovenin de werkbalk van Firefox een groen-rode matrix naast de adresbalk.
Meteen na het installeren is uMatrix al actief, maar nog wel met de standaardinstellingen. Daarbij worden al verschillende resources van derde bronnen geblokkeerd:
- cookies: de opgeroepen website mag cookies installeren en gebruiken, een vreemde site niet
- stylesheets: Firefox mag stylesheets en fonts in het algemeen downloaden, ook van vreemde bronnen
- afbeeldingen: de browser mag afbeeldingen overal vandaan downloaden
- media: Firefox mag video’s, audio en plug-ins (<object>) alleen van het aangeroepen domein embedden
- script: alleen het aangeroepen domein mag JavaScript leveren, derde partijen niet
- XHR: bij die categorie horen elementen die in staat zijn om delen van een website dynamisch te actualiseren, bijvoorbeeld XMLHttpRequest, Fetch en WebSockets. Firefox mag XHR alleen van het aangeroepen domein embedden
- frame: frames zijn een overblijfsel uit de begintijd van het internet en worden nog maar zelden gebruikt. Alleen de aangeroepen website mag die gebruiken
- overige: onder die categorie vallen resources die niet bij een van de eerder genoemde kunnen worden ondergebracht, zoals CSP-reports, XSLT-resources en alles wat uMatrix verder niet kent. Alleen de aangeroepen website mag die embedden
Die standaardinstellingen zijn zinvol. Als je meer controle wilt hebben, kun je de instellingen echter aanpassen. Daarvoor moet je een beetje de weg vinden in de matrix – en de gebruikersinterface en het hart van uMatrix. Die open je door op het Matrix-pictogram te klikken.
De matrix geeft een overzicht hoeveel content van welke typen de aangeroepen website wilde laden – en welke daarvan geblokkeerd zijn. De kolommen representeren daarbij de resources zoals cookies, scripts et cetera.
De rijen laten de herkomst van de content zien van het aanroepende domein, subdomeinen en domeinen van derde bronnen – zie de afbeelding hieronder.