ID.nl logo
Met deze trackingtechnieken wordt je surfgedrag gevolgd
© Reshift Digital
Huis

Met deze trackingtechnieken wordt je surfgedrag gevolgd

Advertentienetwerken en internetbedrijven volgen je op de voet, vooral via mobiele apps en browsers. In dit artikel focussen we ons op bekende en onbekende trackingtechnieken. Denk aan cdn’s, tracking cookies, web storage, fingerprinting, favicons, cname cloaking en FLoC. Plus: wat doe je er tegen?

Er zijn verschillende redenen waarom websites bezoekers willen traceren. Zo kan het interessant zijn te weten welke pagina’s sitebezoekers bekijken, hoelang ze op een pagina blijven, waar ze op klikken enzovoort. Immers, zo’n analyse kan bijvoorbeeld aan het licht brengen dat belangrijke informatie op een pagina nauwelijks wordt gelezen, zodat bezoekers bijvoorbeeld minder geneigd zijn zich in te schrijven voor een nieuwsbrief. 

Tracering kan ook nuttig zijn voor de conversieratio van commerciële sites: hoeveel bezoekers gaan over tot een aankoop? Misschien blijkt hieruit wel dat een webpagina een lagere conversieratio heeft bij bezoekers afkomstig van een site met advertentie A dan wanneer ze vanuit een site met advertentie B zijn doorverwezen.

Wellicht de belangrijkste reden voor webtracking is profilering en gerichte marketing. Hoe nauwkeuriger men een bezoeker weet te profileren, hoe gerichter men advertenties kan aanleveren. Het zogenoemde retargeting is hierbij erg populair: je krijgt dan op diverse sites advertenties te zien voor een product dat je op een eerdere site hebt bekeken.

Tracking cookies zijn hiervoor wellicht de meest gebruikte techniek, maar er zijn er nog heel wat andere, waar gebruikers vaak geen weet van hebben. In dit artikel stellen we een hele reeks van deze technieken voor, evenals enkele verdedigingsmechanismen ertegen.

©PXimport

IP-adres

Als je naar een website surft, kunnen webserver je ip-adres loggen. Dat kan handig zijn om na te gaan of je de site al eerder hebt bezocht en hoe vaak, en welke pagina’s je al bekeken hebt. Welk ip-adres je achterlaat, kun je uitvinden via bijvoorbeeld iplocation.net, waar je meteen merkt dat een webserver nog andere systeem- en browserinformatie kan vastleggen (zie verder bij ‘Fingerprinting’). 

Tenzij je van een vast ip-adres gebruikmaakt, bijvoorbeeld gekoppeld aan je domeinnaam, leidt zo’n adres normaliter naar een adrespool bij je internetprovider. Zo’n ‘pool-adres’ verraadt je identiteit niet, maar het volstaat alvast wel om je land van herkomst te kennen. Dat kan dan weer nuttig zijn om alleen producten, bijvoorbeeld met aangepaste prijzen, te tonen die in jouw land beschikbaar zijn, maar net zo goed voor geoblokkades, zoals die door BBC iPlayer en andere mediaservices worden gebruikt.

Houd je dat ip-adres liever verborgen, dan kun je surfen via een anonimiserend netwerk als Tor, met behulp van de Tor Browser, eventueel gevirtualiseerd met Whonix. Of je gebruikt een proxy server of liever nog een betrouwbare VPN-dienst die je ip-adres verbergt en vervangt door het ip-adres van de VPN-server in een zelf te kiezen land.

Referrer

Niet alleen je eigen ip-adres kan worden gelogd, maar ook het webadres van de site waarop je hebt doorgeklikt om naar de volgende site te gaan. Een klein experiment verduidelijk dit. Start je browser op, surf naar Google, zoek naar ‘pcm web’ en klik op de link die naar de site van PCM leidt. Druk op F12 om naar de ontwikkelaarstools te gaan en open hier de Console, waar je document.referrer intikt. 

Je leest nu https://www.google.nl af. Deze informatie wordt via de http-headers namelijk standaard doorgestuurd naar de bezochte website, zodat niet alleen deze site weet waar je vandaan komt, maar ook eventuele advertentie- of sociale medianetwerken met content op diezelfde webpagina.

Het valt trouwens niet helemaal uit te sluiten dat zo’n referrer privacygevoelige informatie bevat, bijvoorbeeld iets als www.website.com/?land=nederland&leeftijd=40&roker=1&inkomen=2300. Nu is het wel zo dat de meeste browsers, waaronder Chrome, Safari (met ITP oftewel Intelligent Tracking Prevention) en onlangs ook Firefox, een strenger referrer-beleid toepassen en zowel het pad als query-informatie voor alle ‘cross-origin’-verzoeken weglaten.

Overigens kun je in Firefox via about:config allerlei referrer-beleidsregels zelf aanpassen. Om referrer geheel te blokkeren stel je network.http.sendReferrerHeader in op 0. Verder zijn er browserextensies waarmee je zelf tot op siteniveau kunt bepalen hoe de browser met referrers hoort om te gaan, zoals Referrer Control (voor Chrome en Firefox).

©PXimport

Url-parameters

We hebben al aangegeven dat ook de url-parameters (query-strings met) informatie kunnen doorgeven die trackers best kunnen interesseren. In Google Ads wordt deze methode zelfs bewust gehanteerd via de zogenoemde ValueTrack-parameters. 

Wanneer een adverteerder bijvoorbeeld {lpurl}?network={network}&device={device} opneemt in zijn trackingsjabloon dan wordt de url iets als www.website.com/?network=g&device=t zodat de adverteerder weet dat je via een tablet en vanuit Google Search op die link hebt geklikt. Ook Google Analytics maakt trouwens volop gebruik van url-parameters, te herkennen aan &utm in de string.

Er zijn wel browserextensies die ongewenste url-parameters kunnen weghalen voor ze aan de webserver worden doorgegeven. Eén ervan is Neat URL, beschikbaar voor Firefox en Chrome. We bekijken heel kort de extensie in Firefox. 

Rechtsklik op het pictogram en kies Preferences. Ga naar het tabblad Opties om de Standaard geblokkeerde parameters te zien. Je kunt bij Geblokkeerde parameters ook andere parameters toevoegen. Stel, je wilt de parameter q alleen in google.nl-sites (en subdomeinen) laten verwijderen, dan volstaat q@*.google.nl. Bevestig je aanpassingen met Voorkeuren opslaan

Of dit een goed voorbeeld is, is nog maar de vraag, want hierdoor zullen je zoekopdrachten in google.nl niet meer werken zolang dit item is opgenomen...

Content Delivery Networks (cdn’s)

Talrijke sites gebruiken JavaScript en doen daarvoor graag een beroep op frameworks waarin frequente gebruikte JavaScript-functies zijn opgenomen. Zulke frameworks vinden ze bij zogeheten Content Delivery Networks (cdn’s). Google is een van de meest gebruikte, maar er zijn nog andere publieke cdn’s. Natuurlijk, wanneer frameworks bij cdn’s worden opgehaald, krijgen die ook je ip-adres en andere browserdata toegestuurd, wat alweer tracering mogelijk maakt.

Om dat tegen te gaan kun je een browserextensie als Decentraleyes installeren, beschikbaar voor onder meer Firefox en Chrome. Die zorgt ervoor dat de meest gebruikte frameworks lokaal worden opgeslagen zodat niet langer een aanroep naar zo’n cdn is vereist. Je kunt de werking voor en na uittesten op decentraleyes.org/test. Let wel, heb je een adblocker als uBlock Origin draaien, dan is het niet uitgesloten dat die het ophalen en updaten van lokale JavaScript-bibliotheken tegengaat.

©PXimport

Trackingcookies

Wellicht de populairste techniek bij sitetracking draait om cookies. Onze focus ligt hier niet zozeer op de functionele of zelfs analytische cookies, maar op de tracking cookies van derde partijen, bedoeld om je over diverse sites heen te volgen. 

Wat er gebeurt, is dat zo’n partij een stukje code, via een advertentie of een onzichtbaar plaatje, op de bezochte site plaatst om een cookie op je toestel te kunnen bewaren. De cookie kan dan worden ingelezen wanneer je een andere site bezoekt waarop die partij ook zo’n tracker heeft achtergelaten. Advertentienetwerken zoals die van Google hebben trackers op miljoenen sites.

Steeds meer browser blokkeren standaard cookies van derde partijen, zoals Firefox, Safari en Brave. We nemen Firefox even als voorbeeld. Tik about:preferences#privacy in op de adresbalk voor de module Privacy & Beveiliging. Je zult merken dat de Standaard-instelling onder meer Sociale-mediatrackers, Fingerprinters (zie verder bij ‘Fingerprinting’), Cross-site-trackingcookies en Cross-site-cookies in privévensters blokkeert. 

Wil je zelf bepalen welke trackers je met deze ETP-functie (Enhanced Tracking Protection) blokkeert, kies dan Streng of eventueel Aangepast. In de ‘strenge modus’ wordt ook de TCP-functie actief (Total Cookie Protection). Die hoort nog meer tracering door derde partijen te voorkomen, maar kan ook bepaalde functionaliteiten belemmeren.

Web storage

Er zijn helaas nog heel wat andere traceringstechnieken dan tracking cookies. Surf bij wijze van experiment maar eens met Firefox of Chrome naar YouTube waarna je op F12 drukt. Ga in Firefox naar Opslag of naar Application in Chrome en open hier (de tijdelijke) Sessieopslag en (de persistente) Lokale opslag. Dit toont aan dat browsers ook allerlei informatie kunnen bewaren buiten cookies om: de zogenoemde HTML5 web storage of DOM-storage (Document Object Model). Die kan trouwens veel meer data bevatten dan een gewoon cookie (zo’n 10 MB versus 4 kB). 

Om deze opslag leeg te maken klik je met rechts op de url en kies je Alles verwijderen (in Chrome selecteer je hier Clear). Lokale opslag verwijderen, kan trouwens ook op een meer ‘klassieke’ manier, ongeveer zoals je ook cookies weghaalt. We nemen Chrome als voorbeeld. Tik chrome://settings.siteData in en tik een domeinnaam in bij Cookies zoeken

Klik op een domeinnaam met lokale opslag en klik hierop. Kies Alles verwijderen om de inhoud leeg te maken. Alle lokale opslag in één keer weghalen kan ook. Druk op Ctrl+Shift+Delete, zet een vinkje bij Cookies en andere sitegegevens, stel Periode in op Alles en klik op Gegevens wissen (let wel, ook cookies verdwijnen hierdoor).

©PXimport

Fingerprinting

Lokale opslag via cookies of DOM-storage is niet eens noodzakelijk om je (browser) online te kunnen identificeren. Webservers kunnen als het ware een vingerafdruk van je browser en, via JavaScript, van je systeem nemen op grond van talrijke eigenschappen die je browser doorgeeft en die samen een uniek en dus traceerbaar datapatroon vormen. 

Om er maar enkele te noemen: user agent, geïnstalleerde plug-ins en fonts, standaardtaal, tijdzone, besturingssysteem enzovoort. Om een idee te krijgen van de vingerafdruk van je eigen browser(s) kun je bijvoorbeeld surfen naar coveryourtracks.eff.org

Steeds meer browsers trachten hiertegen bescherming te bieden. Zo hebben we het al even gehad over de module Privacy & Beveiliging van Firefox, maar Brave gaat nog een stapje verder en tracht de vingerafdruk er telkens anders uit te laten zien, zodat die niet zomaar herkend wordt. Tor Browser pakt het dan weer helemaal anders aan: die probeert de browser er bij alle gebruikers zo identiek mogelijk uit te laten zien.

Een aanverwante techniek is canvas fingerprinting, waarbij via HTML5 de browser de instructie krijgt een onzichtbare tekening te maken. Minuscule verschillen bij het uitvoeren van deze taak kunnen volstaan voor een unieke vingerafdruk. Test het zelf even uit op browserleaks.com/canvas.

Browsercache

We hebben het al over DOM-storage gehad, maar er zijn ook technieken waarbij op een sluwe manier allerlei andere browsercaches worden ingezet. Het is bijvoorbeeld mogelijk dat een webserver een ID codeert in een afbeelding die bij het laden door de browser wordt gecachet. Het gevolg is dat ook andere webservers deze ID kunnen inlezen wanneer die hetzelfde plaatje hebben ingebed. 

Naast caches voor afbeeldingen zijn er onder meer ook caches voor stylesheets, fonts enzovoort en die kunnen in principe zonder meer worden uitgelezen.

Onlangs hebben onderzoekers van de universiteit van Chicago ontdekt dat ook favicons op een vergelijkbare manier als traceermiddel kunnen worden ingezet, zeker in combinatie met fingerprinting. Favicons belanden op een andere locatie dan de cookies, surfgeschiedenis of sitegegevens en verdwijnen dus niet als je cookies of je geschiedenis wist. Het is nu heel goed mogelijk dat een website diverse favicons van subdomeinen opslaat in een specifieke en dus identificeerbare combinatie.

In Chrome bijvoorbeeld belanden favicons in een (SQLite-)database met de naam favicons, standaard in %localappdata%\Google\Chrome\User Data\<profielnaam>. Je kunt die gericht inlezen met bijvoorbeeld DB Browser for SQLite, via een SQL-instructie als:

select f.url, b.* from favicons f inner join favicon_bitmaps b on f.id = b.icon_id where f.url like '%<beoogde_domeinnaam>%'</beoogde_domeinnaam>

©PXimport

Cache partitionering

Om het zomaar delen van cache-informatie tegen te gaan is Firefox voorzien van FPI-functie (First Party Isolation), overigens geïnspireerd door Tor. Die houden in dat cookies, maar ook andere surfdata uit browsercaches, in principe alleen nog benaderbaar zijn vanuit hetzelfde domein, wat site-overstijgende tracering (cross-site tracking) moet bemoeilijken. Om deze functie in te stellen tik je about:config en vervolgens firstparty in. Dubbelklik op privacy.firstparty.isolate en zet de waarde op true.

Een vorm van cache partitioning dus, ook wel network partitioning genoemd. Safari biedt al langer ondersteuning aan voor zo’n functie en ook Chrome (versie 86 en hoger) heeft een vergelijkbare functionaliteit ingebouwd.

Een nadeel van deze vorm van bescherming is wel dat data per TLD (top level domain) opnieuw moeten worden gedownload, wat een nadelige impact kan hebben op sommige prestaties, zoals die van Google Fonts.

©PXimport

CNAME cloaking

In 2019 werd ontdekt dat een Franse krant een sluwe manier had toegepast om anti-traceringstechnieken te ontlopen: CNAME cloaking. Dat vergt enige toelichting.

Voor een browser zijn bijvoorbeeld www.website.nl en blog.website.nl (afkomstig van) dezelfde site of partij. Wanneer nu vanuit een pagina op www.website.nl inhoud wordt opgehaald uit blog.website.nl, dan komen alle cookies en aanverwante data ook beschikbaar voor deze tweede site. Deze kan ook cookies plaatsen die door de browser dan eveneens als eerste-partij cookies worden beschouwd en dus normaliter niet worden geblokkeerd. 

Door nu sluw gebruik te maken van CNAME-records (canonical name) kan de ene domeinnaam binnen het DNS-systeem naar een andere ‘gemapt’ worden en langs deze weg kan een tracker in de eerste-partij context van een bezochte website worden geïnjecteerd.

Verschillende browsers hebben inmiddels verdedigingstechnieken ontwikkeld, zoals Safari (versie 14 en hoger) met ITP (Intelligent Tracking Prevention). Die laat bijvoorbeeld cookies die via CNAME cloaking zijn gezet automatisch na zeven dagen verlopen. 

Ook Brave 1.17 en hoger (met Brave Shields) en de adblocker uBlock Origin vanaf versie 1.25.0 zouden CNAME-cloaking detecteren en blokkeren, met behulp van de browser.dns-API van Mozilla. Op github.com/AdguardTeam/cname-trackers kun je terecht voor een geactualiseerde lijst van trackers die zich van CNAME-cloaking bedienen (circa 13.000 begin juni), voor gebruik in adblockers.

©PXimport

FLoC 

We hebben het in dit artikel al gehad over tracking cookies, maar als het aan Google ligt, worden zulke technieken in de loop van 2022 verleden tijd. Het bedrijf is namelijk volop aan het experimenteren met een alternatieve techniek: FLoC (Federated Learning of Cohorts). Wat houdt die precies in en in hoeverre biedt die de gebruiker meer garantie op privacy?

FLoC draait lokaal in je (Chrome-)browser, als onderdeel van Googles Privacy Sandbox-project, en gebruikt je surfgeschiedenis van de laatste week om je, met behulp van AI (federated learning) en op basis van een zogenoemde SimHash in te delen in een cohort, een categorie of groep van ‘gelijkgezinden’ (lees: gebruikers met dezelfde interesses). Elke groep krijg een FLoC-ID en dit label is in principe zichtbaar voor iedere bezochte website. Adverteerders krijgen dus niet langer een geïndividualiseerd maar gegroepeerd en dus min of meer geanonimiseerd interesseprofiel te zien.

Om te weten of je browser momenteel FLoC ondersteunt, hoef je maar te surfen naar amifloced.org. Begin juni zouden wereldwijd nog maar 0,5 procent van alle Chrome-installaties van deze functie zijn voorzien, maar de kans is groot dat Google zijn experimenten snel flink gaat uitbreiden.

©PXimport

Adverteerders lopen niet bepaald warm voor het FLoC-idee. Niet alleen maakt deze techniek het lastiger om heel gerichte advertenties te tonen – want geen geïndividualiseerde profielen meer – het geeft alweer de ontwikkelaars van browsers meer macht. Dit speelt dus vooral marktleiders als Google en Apple in de kaart.

Het is de vraag of de privacy van gebruikers hier echt mee gebaat is. Alweer een browserfunctie betekent namelijk per definitie een nieuw attribuut dat bij fingerprinting kan worden ingezet. De kans lijkt ons klein dat Google de gebruiker inzage zal geven in de gevormde cohorts of dat de gebruiker een cohort zal kunnen verwijderen als hij zich daarin niet herkent. 

Komt daarbij dat FloC-cohorts weliswaar niet als ‘identifiers’ kunnen fungeren, maar advertentiebedrijven weten de informatie uit zo’n cohort ongetwijfeld wel te linken aan data die ze via andere manieren binnenkrijgen, zoals fingerprinting. 

Er komt ook weerstand van andere browsers. Zo hebben Vivaldi en Brave al eerder meegedeeld dat ze FLoC niet zullen implementeren en hebben inmiddels ook Mozilla (Firefox) en Microsoft (Edge) hun veto uitgesproken. DuckDuckGo heeft bovendien de extensie Privacy Essentials geüpdatet, zodat je er FloC mee kunt blokkeren in Chrome.

Chrome’s FLoC krijgt dus heel wat kritiek: van andere browserontwikkelaars, van adverteerders en van diverse privacy-voorvechters. Wordt vervolgd.

▼ Volgende artikel
AMD hint naar komst van nieuwe Xbox in 2027
© Reshift Digital BV
Huis

AMD hint naar komst van nieuwe Xbox in 2027

AMD lijkt te hinten naar de mogelijkheid dat de volgende generatie Xbox-console in 2027 verschijnt.

Tijdens de bekendmaking van fiscale kwartaalcijfers meldde Lisa Su, de ceo van AMD, het volgende (via PC Mag): "Qua producten loopt Valve op schema om begin dit jaar de op AMD-technologie draaiende Steam Machine uit te brengen, en de ontwikkeling van Microsofts volgende generatie van Xbox met een deels op maat gemaakte SoC boekt progressie om een release in 2027 te ondersteunen."

Met SoC bedoelt Su 'system-on-a-chip', waarbij de meeste componenten die nodig zijn voor een computer of console op een allesomvattend circuit geplaatst worden. Dit is meestal de standaard bij spelcomputers.

2027 of later?

Microsoft kondigde eerder al aan dat het samen met AMD aan een nieuwe console werkt, maar een precieze releasedatum werd toen niet gegeven. Gezien Su's opmerking, lijkt AMD dus te verwachten dat de spelcomputer in 2027 verschijnt.

Dit terwijl de PlayStation 6 - Sony's nieuwe console - volgens geruchten mogelijk intern wordt uitgesteld zodat het pas later dit decennium verschijnt. Dit deels vanwege de stijgende kosten voor RAM in verband met de benodigdheden voor het draaiende houden van AI in combinatie met het huidige economische milieu. Officieel is niet bekend wanneer de PS6 uit moet komen, maar in deze column stelden we onlangs dat het geen slecht idee is om de console pas over een aantal jaar uit te brengen.

Wat weten we over de nieuwe Xbox?

Microsoft bevestigde eerder al dat de volgende Xbox veel eigenschappen zal delen met pc's. Zo zouden er meerdere gamewinkels op beschikbaar komen naast de Xbox Store zelf - net zoals de uitgekomen ROG Xbox Ally dus. Dat zou betekenen dat bijvoorbeeld Steam en Epic Games Store ook op het apparaat te bezoeken zijn, en er via die weg pc-games gekocht kunnen worden.

Begin dit jaar kwamen er ook geruchten naar buiten dat de nieuwe Xbox-interface zou draaien op de Full Screen Experience van de Xbox pc-app, dat onderdeel uitmaakt van Windows. De volgende Xbox zou volgens geruchten draaien op de AMD Magnus APU, die inderdaad CPU en GPU in één chip combineert.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Je NAS veilig bereiken via een VPN-server, Tailscale of Cloudflare-tunnel
© ER | ID.nl
Huis

Je NAS veilig bereiken via een VPN-server, Tailscale of Cloudflare-tunnel

Wil je een NAS op afstand gebruiken, dan doe je dat liefst natuurlijk veilig. Bijvoorbeeld door een VPN-server op te zetten, of een tunnel met extra toegangscontrole. Hiervoor zijn diensten als Tailscale en Cloudflare heel geschikt. In deze masterclass nemen we de beste opties met je door. We leggen uit wat de voor- en nadelen zijn en hoe je ze kunt gebruiken in combinatie met een NAS.

Een NAS is breed inzetbaar en bij veel huishoudens de spil in het netwerk. Je kunt niet alleen je documenten centraal bewaren, maar ook bijvoorbeeld media streamen naar je tv, foto’s bekijken op je tablet en talloze extra toepassingen installeren. Heb je (een deel van) deze toepassingen ook af en toe op afstand nodig? Het openzetten van een poortje in de router of het gebruik van een reverse proxy kan daarvoor een prima optie zijn. Maar publieke toegang is niet altijd nodig. Er zijn betere opties als je vooral voor jezelf goed beveiligde externe toegang tot je NAS nodig hebt. Een eenvoudige optie is een cloudservice van de fabrikant, zoals Synology QuickConnect. Betere en veiligere opties zijn een VPN-server met een protocol als OpenVPN of WireGuard, Tailscale (dat op de achtergrond met WireGuard werkt) of een Cloudflare-tunnel. In deze masterclass leggen we uit hoe je ze gebruikt. Wat je kiest, hangt ook af van je doel. Bij elke optie behandelen we de eventuele beperkingen. Voordat je begint, is het ook verstandig de beveiliging van je NAS nog even door te lichten (zie kader).

Optimale beveiliging voor je NAS

Bij het openstellen van je NAS is een goede beveiliging extra belangrijk. Ongeoorloofde toegang tot je NAS zul je altijd willen voorkomen. Gebruik altijd sterke wachtwoorden voor je gebruikersaccounts. Deactiveer bovendien de algemene accounts zoals admin en guest. Zet tweestapsverificatie aan. Hierbij wordt na het inloggen om een extra toegangscode gevraagd die je kunt genereren met een app op je smartphone. Op vertrouwde apparaten hoef je dat maar één keer te doen. Bij Synology vind je deze opties in je configuratiescherm, onder Beveiliging / Account. Je kunt kiezen voor welke gebruikers dit moet worden ingeschakeld. Bij QNAP ga je hiervoor in je configuratiescherm naar Systeem / Beveiliging. Open dan het tabblad Verificatie in 2 stappen. Maak ook gebruik van de ingebouwde firewall van je NAS, waarin je toegangsregels kunt instellen! In deze masterclass geven we daar tips voor. Zorg ten slotte dat je een goede back-upstrategie hebt voor de bestanden op je NAS.

Het is verstandig om tweestapsverificatie aan te zetten op je NAS.

Wat is een cloudservice?

Via een cloudservice kun je toegang tot een NAS vereenvoudigen door een soort tunnel op te zetten. Bij Synology heet dit QuickConnect, QNAP noemt het myQNAPcloud link. Hierbij wordt vanaf de NAS een uitgaande verbinding opgezet met een server, waardoor het firewalls omzeilt (ook die in je NAS!). De NAS geef je een herkenbare naam, ook wel QuickConnect ID of QNAP ID genoemd, die je ook gebruikt om te verbinden. Hierbij wordt eerst geprobeerd rechtstreeks verbinding te maken, wat ook het meest efficiënt is. Als dat mislukt, wordt de verbinding automatisch omgeleid via een relayserver, die als tussenpersoon het verkeer doorstuurt. De snelheid kan dan minder hoog zijn. We noemen hieronder alleen de dienst van Synology, omdat het een betere bescherming biedt en een betere reputatie heeft dan myQNAPcloud link. Zorg wel altijd zelf voor een goede basisbeveiliging. Overweeg veiligere methoden zoals een VPN of Tailscale. Het is veiliger en je bent niet afhankelijk van andere partijen (zoals een relayserver).

Diensten als myQNAPcloud link creëren een soort tunnel naar je NAS.

Synology QuickConnect

Bij Synology QuickConnect koppel je eerst je NAS aan een Synology-account. Daarna kun je een QuickConnect ID kiezen. Je NAS is daarna bereikbaar vanuit de Synology-apps of een browser via het adres https://quickconnect.to/ met daarachter de QuickConnect ID. Dit werkt ook bij een dynamisch ip-adres, dus je hoeft niet apart een Dynamic DNS-functie (DDNS) te gebruiken. Om QuickConnect te gebruiken open je Configuratiescherm. Ga dan naar Externe toegang. Zet een vinkje bij QuickConnect inschakelen. Hierna moet je je aanmelden met je Synology-account of een nieuw account maken. Vervolgens kies je een QuickConnect ID. Via de instellingen kun je nog kiezen of de relayserver mag worden gebruikt en welke toepassingen via QuickConnect toegankelijk zijn.

Via de instellingen kies je welke toepassingen toegankelijk moeten zijn.

Wat is VPN?

Door een VPN-server te installeren, heb je een ideale voorziening om op afstand je netwerk te bereiken en alle apparaten op dat netwerk, zoals je NAS, netwerkprinters en camera’s. Je installeert de VPN-server op één systeem, zoals een router, server, Raspberry Pi of je NAS. Bij Synology kun je bijvoorbeeld standaard met OpenVPN werken en QNAP ondersteunt het snellere WireGuard. We laten zien hoe je deze opties gebruikt. Na inloggen heb je volledige toegang tot je netwerk en alle toepassingen in het netwerk, alsof je rechtstreeks op het netwerk zit. Voor toegang tot bestanden op je NAS werken daarom alle protocollen als smb, nfs en WebDAV en toepassingen als Synology Drive en QNAP File Station. Je hoeft geen poorten in je router open te zetten, behalve een enkele poort naar de VPN-server.

Bij QNAP kun je standaard werken met WireGuard.

OpenVPN op Synology

Om je Synology-NAS als VPN-server in te zetten, kun je de toepassing VPN Server installeren via Package Center. Gebruik je een firewall, controleer dan of de benodigde poorten toegankelijk zijn. Bij de installatie kun je die aanpassing via een venster direct doorvoeren. Afhankelijk van het protocol moet je ook nog één of meerdere poorten doorsturen van je router naar je NAS. De toepassing ondersteunt PPTP, OpenVPN en L2TP/IPSec. Eigenlijk is vooral OpenVPN interessant. Het is veilig en stabiel, maar niet zo snel als WireGuard. Ook geeft het soms wat uitdagingen bij het opzetten van de verbinding.

Synology ondersteunt meerdere protocollen, waaronder OpenVPN.

Activeren OpenVPN

Om OpenVPN te gebruiken open je VPN Server. Ga dan naar OpenVPN. Zet een vinkje bij OpenVPN-server inschakelen. Bij Dynamisch ip-adres zie je het subnet dat OpenVPN gebruikt. De verbonden clients krijgen een ip-adres in dat bereik. Bij Poort en Protocol zie je dat standaard udp-poort 1194 wordt gebruikt. Die poort moet je doorsturen van je router naar je NAS. Controleer of de poort toegankelijk is in de firewall van je NAS. Voor een goede balans tussen snelheid en veiligheid kun je bij Codering bijvoorbeeld AES-128-CBC kiezen en bij Verificatie de optie SHA256. De optie Compressie op de VPN-koppeling inschakelen mag uit, omdat het weinig snelheidswinst geeft. Zet de optie Clients toegang geven de LAN-server aan, zodat je andere apparaten in je thuisnetwerk kunt bereiken. Zet ook de optie Verifieer TLS auth-sleutel aan. Klik op Toepassen om de instellingen te activeren. Je kunt nu clients gaan configureren.

Bij OpenVPN kun je zelf nog enkele instellingen kiezen.

Profiel voor OpenVPN

Ga naar OpenVPN en kies Configuratie exporteren om het configuratiebestand te exporteren als zip-bestand. Hierin vind je een .ovpn-bestand dat je nodig hebt voor toegang. Je hebt ook een gebruikersaccount nodig bij het inloggen. Onder Rechten kun je aanvinken welke gebruikers toegang hebben en via welke protocollen. Maak eventueel een nieuwe gebruiker voor alleen de VPN-verbinding! Open het bestand VPNConfig.ovpn met een teksteditor. Omdat je de VPN-server extern wilt gebruiken, verander je in onderstaande regel YOUR_SERVER_IP naar je ip-adres van je internetverbinding of de hostnaam als je bijvoorbeeld Dynamic DNS gebruikt. Synology ondersteunt ook Dynamic DNS en geeft bijvoorbeeld een naam.synology.me-adres. Je kunt het activeren in je configuratiescherm onder Externe toegang / DDNS. Het gaat om deze regel:

remote YOUR_SERVER_IP 1194

Je ziet ook de onderstaande optie. Haal hier eventueel het commentaarteken weg als je wilt dat ál het verkeer, dus ook het normale internetverkeer, via de VPN-server gaat. Dat geeft minder goede prestaties, maar is wel veiliger als je bijvoorbeeld een openbare wifi-hotspot gebruikt. Dit is de regel waar je het commentaarteken weg kunt halen:

#redirect-gateway def1

Gebruik dit profiel om verbinding te maken vanaf andere apparaten. Zet hierbij de optie aan dat zonder certificaat verbinding mag worden gemaakt.

WireGuard op QNAP

We zullen laten zien hoe je WireGuard op je QNAP-NAS gebruikt in combinatie met een Windows-client. Voor meer informatie over WireGuard en het opzetten van een aparte VPN-server verwijzen we je naar een eerder artikel dat je kunt lezen via www.kwikr.nl/wgvpn waarin dat uitgebreid aan bod komt. Zorg bij QNAP dat de toepassing QVPN Service is geïnstalleerd via App Center. Open dan de toepassing en ga naar WireGuard. Zet een vinkje bij WireGuard VPN-server inschakelen. Vul een naam in achter Servernaam. Klik achter Persoonlijke sleutel op Codeparen genereren. Noteer de waarde bij Openbare sleutel: die is straks nodig bij de configuratie van clients. Achter Luisterpoort zie je de poort (udp) die je moet doorsturen in de router. Bij DNS Server vul je een openbare DNS-server in (zoals 8.8.8.8) óf een DNS-server in je lokale netwerk. Klik op Toepassen om de instellingen te bewaren. Klik op Peer toevoegen. Hier kun je clients toevoegen (zie volgende stap).

De instellingen voor WireGuard bij een NAS van QNAP.

Client instellen

Elk apparaat dat verbinding met WireGuard maakt, is een zogenoemde peer. Voor het toevoegen van een apparaat kies je bij QNAP de optie Peer toevoegen. Vul een herkenbare naam in. De waarde bij Openbare sleutel komt bij deze ‘peer’ vandaan, die gaan we nu eerst instellen. Installeer en open de Windows-client en kies de optie Add Empty Tunnel. Er worden een privé- en openbare sleutel gegenereerd. Er opent een configuratiebestand met de privésleutel waarin je onder andere deze twee regels ziet:

[Interface]

PrivateKey = +MSQ3D2+M71SotRrWC3hnPyzYSTWNuaxWwc920=

Vul deze configuratie verder aan zoals in het voorbeeld hieronder. Bij Address kies je een vrij ip-adres binnen het VPN-subnet, dat nog niet door een andere peer wordt gebruikt. Je kunt dit voor elke client ophogen, dus 198.18.7.2/32, 198.18.7.3/32, en zo verder. Belangrijk is dat je bij PublicKey de openbare sleutel die QNAP laat zien invult. Bij Endpoint vervang je ipadres door het ip-adres (of de hostnaam) van je internetverbinding thuis. Dit is de configuratie die je moet aanpassen:

[Interface]

PrivateKey = +MSQ3D2+M71SotRrWC3hnPyzYSTWNuaxWwc920=

ListenPort = 51820

Address = 198.18.7.2/32

DNS = 1.1.1.1

[Peer]

PublicKey = KsCc+cRucH4F8T3VdyatvZXjqvunEerBZapulE=

AllowedIPs = 0.0.0.0/0

Endpoint = ipadres:51820

Bewaar de configuratie met Save. Kopieer nu de waarde bij Public key van deze client. Je leest deze af in het hoofdvenster van WireGuard (zorg dat de bewuste tunnel is geselecteerd). Plak deze in QNAP bij Openbare sleutel bij de configuratie van deze peer. Je kunt nu verbinding maken met je Windows-client!

Voltooi de configuratie voor de Windows-client voor WireGuard.

Firewall instellen voor je NAS

Een firewall op je NAS biedt extra bescherming. Bij Synology open je daarvoor Configuratiescherm. Ga dan naar Beveiliging en open het tabblad Firewall. Zet een vinkje bij Firewall inschakelen en kies Toepassen. Bij Firewallprofiel kun je een profiel kiezen of bewerken. Kies Regels bewerken om het huidige profiel aan te passen. Begin met een regel die alle apparaten op het lokale netwerk toestaat. Kies bij die regel bij Poorten de optie Alles. Bij Bron-IP kies je Specifiek ip. Klik daarachter op Selecteren en kies Subnet. Je moet hier het netwerkbereik van je router kennen. In veel gevallen is dat iets als 192.168.1.0 met subnetmasker 255.255.255.0. Dit omvat dan alle adressen van 192.168.1.0 t/m 192.168.1.255. Voeg hierna nog specifieke regels toe voor toepassingen die van buitenaf toegang moeten hebben. In dit voorbeeld staan we bijvoorbeeld SSH toe vanaf een bepaald ip-adres. Heel belangrijk is dat je als laatste een regel toevoegt die alles blokkeert. De regels worden namelijk van boven naar beneden doorlopen en bij de eerste match stopt de verwerking. Het configuratiescherm van QNAP biedt ook een firewall, maar dat is meer een soort toegangsfilter. Voor uitgebreidere opties kun je QuFirewall installeren via App Center.

Het is raadzaam om de firewall op je NAS te gebruiken voor toegangsbeperking.

Wat is Tailscale?

Met Tailscale kun je een virtueel privénetwerk maken tussen al je apparaten. Dit gebeurt op basis van identiteit, met bijvoorbeeld een standaard Google-account voor autorisatie. Je kunt alle toegevoegde apparaten benaderen via een intern ip-adres of de toegekende hostnaam. Tailscale gebruikt dezelfde technologie als WireGuard, wat het snel, veilig en betrouwbaar maakt. Je hebt geen centrale server nodig en hoeft ook geen poorten in je router open te zetten. Wel moet je elk apparaat in principe afzonderlijk aan je privénetwerk toevoegen. Dat is eenvoudig, ook voor een NAS, zoals je hieronder ziet. Als alternatief kun je Tailscale ook op één apparaat in je netwerk installeren en dat apparaat als subnetrouter instellen, zodat je via dat ene systeem toegang hebt tot alle andere apparaten in je netwerk. In dat geval hoef je Tailscale niet op elk afzonderlijk apparaat te installeren. Meer uitleg over Tailscale vind je in dit artikel.

Met Tailscale kun je een privénetwerk voor je apparaten maken.

Eerste stappen

Ga naar https://tailscale.com en kies de optie Get started. Log in met een van de ondersteunde identiteitsproviders, bijvoorbeeld een standaard Google-account of een van de andere opties. Hierna wordt automatisch je Tailscale-netwerk, of kortweg tailnet, gemaakt. Dat is een soort privé-VPN-netwerkje waar jouw apparaten deel van uit gaan maken. Als je op een ander apparaat inlogt met datzelfde account, is het bereikbaar vanuit je andere apparaten in dit tailnet. Een gratis account ondersteunt tot drie gebruikers en honderd apparaten.

Log in bij Tailscale met bijvoorbeeld je Google-account.

Apparaten toevoegen

Het toevoegen van apparaten is eenvoudig. Het volstaat om de software te installeren en in te loggen met dezelfde identiteitsprovider. Om Tailscale bijvoorbeeld op een iPad te gebruiken, installeer je eerst de toepassing via de App Store. Hierbij wordt een VPN-configuratie voor je iPad gemaakt. Daarna log je in en zie je een lijst met apparaten in je privénetwerkje, waarbij je ook de namen af kunt lezen.

Op een iPad maakt Tailscale een VPN-profiel aan.

Tailscale op je NAS

Je kunt Tailscale ook op een NAS installeren. Bij Synology zoek je daarvoor in Package Center naar Tailscale. Bij QNAP kun je in App Center terecht. Installeer en open de toepassing. Er wordt gevraagd om in te loggen, waarbij je weer hetzelfde account als hiervoor gebruikt. Zet daarna de verbinding op via Connect. Als je nog een keer de Tailscale-app opent, kun je details zien over het bewuste apparaat, zoals het ip-adres en de hostnaam die je kunt gebruiken om verbinding te maken.

Tailscale is als pakket beschikbaar voor Synology en QNAP.

Wat is een Cloudflare-tunnel?

Bij een Cloudflare-tunnel installeer je op één systeem in je netwerk (bijvoorbeeld je NAS) een klein programma, dat van binnenuit een versleutelde verbinding opzet naar Cloudflare. Daarna kun je toepassingen individueel toevoegen die deze tunnel mogen gebruiken. Daarbij kun je elke toepassing een eigen subdomein geven, zoals nas.domein.nl voor je NAS. De tunnel laat geen netwerkprotocollen zoals SMB en NFS door en WebDAV is een uitdaging. Het is vooral bedoeld voor webverkeer. Je kunt incidenteel wel bijvoorbeeld DS File gebruiken, voor het browsen door je bestanden en kleine uploads of downloads.

Bij Cloudflare kun je gratis een tunnel opzetten voor toegang op afstand.

Domein registreren

Log in bij Cloudflare met een bestaand account of maak een nieuw gratis account. Registreer een domeinnaam via Add / Register a domain of voeg een bestaand domein toe via Add / Connect a domain. In dat laatste geval moet je de DNS-instellingen bij je huidige provider aanpassen, zodat de nameservers naar die van Cloudflare verwijzen. Afhankelijk van de extensie betaal je bij Cloudflare vanaf zo’n 6 dollar per jaar (circa 6 euro) per domein. Je kunt een domein eventueel direct voor meerdere jaren registreren of voor automatische verlenging kiezen. Betalen kan met creditcard of PayPal. In je dashboard vind je je domein terug onder Domain registration / Manage domains.

Registreer tegen lage kosten een domein bij Cloudflare.

Tunnel voorbereiden

Ga via het menu aan de linkerkant naar Zero Trust. Klik dan op Networks en kies Tunnels. Klik op Create a tunnel. Selecteer de optie Cloudflared. Geef je tunnel een naam. Vervolgens moet je een zogeheten connector installeren op één systeem in je netwerk om een tunnel te maken. Alle toepassingen die je straks via de Cloudflare-tunnel gaat publiceren, moeten bereikbaar zijn vanaf dat systeem. Dat is meestal alleen een probleem bij gescheiden netwerken of strikte firewallregels. Installeer Cloudflared volgens de instructies op een systeem dat altijd aanstaat. Dat kan een server of Raspberry Pi zijn, maar óók je NAS, zoals we hieronder toelichten. Hierna komt de tunnel automatisch online.

Maak een tunnel via de website van Cloudflare.

Tunnel op Synology-NAS

Voor de installatie op een NAS heeft Cloudflare geen instructies, maar de procedure is relatief eenvoudig. Kopieer de opdracht die je ziet bij bijvoorbeeld de Windows-installatie en plak deze in een editor. Je ziet hierin een lange string van 184 tekens die meest begint met eyJh…. Dat is de benodigde token. Om Cloudflared op een Synology-NAS te installeren open je Package Center. Ga naar Gemeenschap en kies Cloudflare Tunnel. Klik op Installeren. Nu wordt om de token gevraagd. Je hoeft geen geavanceerde opties te kiezen. Na het voltooien van de installatie is je tunnel klaar voor gebruik.

Vul de token in bij de installatie van de software op je Synology-NAS.

Tunnel bij QNAP

QNAP biedt geen softwarepakket, maar je kunt Cloudflare wel vrij eenvoudig via Docker configureren en starten. Het is het makkelijkst om met Docker Compose te werken. Installeer indien nodig Container Station en open het programma. Ga dan naar Toepassingen en klik op Maken. Bij Naam van de toepassing vul je een herkenbare naam in, zoals cloudflared. Bij YAML-code vul je de onderstaande code in. Achter TUNNEL_TOKEN vul je uiteraard jouw token in. Klik dan op Maken om de tunnel te maken. Dit is de benodigde code:

version: "3"

services:

  cloudflared:

    image: cloudflare/cloudflared:latest

    container_name: cloudflared

    restart: unless-stopped

    network_mode: "host"

    command: tunnel run

    environment:

      - TUNNEL_TOKEN=eyJh...

Bij QNAP kun je Cloudflared het beste via Docker installeren.

Toepassing toevoegen

Je kunt nu elke toepassing via de tunnel beschikbaar maken met een uniek subdomein. Om zo’n zogeheten route aan te maken, ga je binnen Zero Trust naar Networks / Tunnels. Bij Status geeft het systeem als het goed is aan dat de tunnel gezond is. Open het menu (via de drie puntjes) en kies Configure. Ga dan naar het tabblad Published application routes. We nemen de webinterface van een NAS die lokaal bereikbaar is op https://10.0.10.200:5001. Bij Subdomain vul je bijvoorbeeld nas in. Bij Domain kies je een domein. Bij Type kiezen we HTTPS en bij URL vullen we 10.0.10.200:5001 in. Bij de optie HTTPS moet je oppassen. De NAS heeft in ons geval geen echt certificaat. Daarom is het belangrijk om onder Additional application settings / TLS de optie No TLS Verify aan te vinken. Cloudflare zal dan negeren dat het certificaat niet ondertekend is. Klik op Save. Er zal automatisch een DNS-record worden gemaakt en je kunt vrijwel direct op afstand je NAS benaderen.

We maken een route voor de NAS.

Extra beveiliging bij Cloudflare

Na het openstellen van een toepassing via een subdomein kan in feite iedereen die dat adres kent de toepassing benaderen, zoals de webinterface van je NAS. Of ze ook binnenkomen, hangt af van je beveiliging. Een NAS kun je zelf extra beveiligen, bijvoorbeeld met tweestapsverificatie. Maar je kunt toegang óók beperken via Cloudflare zelf. Je kunt bijvoorbeeld regelen dat alleen jij bij de tunnel mag, via een tijdelijke code die je per e-mail ontvangt, of door te verplichten dat je eerst moet inloggen met een specifiek Google-account.