De wereld is een grijs gebied met alle mogelijke gradaties. Helaas is dat moeilijk uit te leggen en houden sommigen het liever bij alleen zwart of wit. Hier laat ik zien dat zelf-ondertekende certificaten ook nuttig kunnen zijn en niet ‘eng’, zoals Chrome en Firefox beweren.

hetlab logo
Henk van de Kamer

 

Voor een project heb ik hier tijdelijk een Synology DS720+ staan. Synology heeft besloten dat het admin-account onveilig is, daarom wordt dit op de achtergrond aangemaakt en vervolgens gedeactiveerd. Daardoor kan de gebruiker dit account niet meer aanmaken en moeten we iets anders verzinnen. Ben benieuwd hoeveel lezers net als ik hier ‘beheerder’ invullen. 

ONZIN 
Bovenstaande is een goed voorbeeld van de onvolledige informatie die overheden en het bedrijfsleven ons steeds vaker vertellen. Door het gebruik van ‘admin’ onmogelijk te maken, wordt de wereld echt niet veiliger. Het echte probleem zit namelijk niet in deze naam. 
Voor het traditionele inloggen is een gebruikersnaam en een wachtwoord nodig. De eerste is nodig om meerdere accounts te kunnen gebruiken: bijvoorbeeld één die het apparaat beheert en één die bepaalde toegestane onderdelen mag gebruiken. De beveiliging is echter niet afhankelijk van deze gebruikersnaam. Het lijkt misschien slim als een kwaadwillende de gebruikersnaam niet kent, maar dat zal in de praktijk slechts een kleine horde zijn. De actie van Synology is dus onzinnig en zoals gezegd vermoed ik dat ‘beheerder’ in het Nederlandse taalgebied wel eens de nummer één vervanging zal zijn. 
De beveiliging van een gebruikersnaam is een hopelijk niet gemakkelijk te raden wachtwoord. Veel mensen denken dat op het thuisnetwerk een simpel wachtwoord afdoende is. Tenslotte kan de rest van het internet dan niet bij het apparaat. Toch? En daar hebben we het échte probleem te pakken: genoemde Synology hangt via ons thuisnetwerk en router van onze provider ook aan het internet. Sterker nog: Synology ziet graag  dat je hun producten gebruikt voor het delen van bestanden, foto’s en andere digitale zaken met de rest van de wereld. En zelfs als je dat niet doet, moet er rekening mee gehouden worden dat je computer geïnfecteerd raakt met malware. Het onlangs ontdekte SysJoker laat zien dat ook macOS- en Linux-gebruikers daarmee te maken kunnen krijgen. Waarna deze vervolgens gaat proberen om je NAS te kraken... 

WAANZIN 
Op mijn netwerk worden random wachtwoorden van momenteel 24 tekens gebruikt. Voor websites worden deze opgeslagen in de wachtwoordmanager van de browser. Zodra dat gebeurd is, krijgen we de waarschuwing zoals in de afbeelding hieronder nadat we als beheerder - of via ons normale gebruikers account - proberen in te loggen.

afb1 onversleuteld 2

Niet versleutelen is onveilig...


Op zich is er niets mis met deze waarschuwing. Genoemde malware zal proberen om het netwerk af te luisteren om zo meer gebruikersnamen en wachtwoorden te achterhalen. Hoe succesvol dat zal zijn, hangt af van meer zaken, maar dat is onderwerp voor een compleet boek. Beter is dus het verkeer naar dit soort webinterfaces te versleutelen. Met een Synology is dat een fluitje van een cent. Ga naar het onderdeel Aanmeldingsportaal in het Configuratiescherm en vink in het tabblad Certificaat de optie Automatisch de HTTP-verbinding omleiden naar HTTPS voor DSM desktop aan. Bevestig deze wijziging via de knop Opslaan. Het gevolg is dat we vanaf nu automatisch naar poort 5001 in plaats van 5000 gaan. De eerste is versleuteld. Firefox, maar ook Chrome, geven vervolgens de waanzinnige waarschuwing die je ziet in de afbeelding hierboven. Let vooral even op het alarmerende “If you visit this site, attackers could try to steal information like your passwords, emails, or credit card details”. Sorry voor het Engels, maar een deel van deze melding is (nog) niet vertaald naar het Nederlands. Veel belangrijker is dat nu beweerd wordt dat je gegevens ondanks de versleuteling minder veilig zouden zijn. Wederom een goed voorbeeld van slechts een deel van de waarheid. En dan helaas het verkeerde deel, want op deze manier wordt de wereld juist onveiliger!  

afb2 minder veilig 2
Versleutelen is super gevaarlijk?  

ANDERE HELFT 
In het verleden heb ik al eens uitgelegd dat met de juiste controles een zelf-ondertekend certificaat betrouwbaarder is dan bijvoorbeeld één dat is ondertekend door de Staat der Nederlanden. Wie mij niet gelooft, moet maar eens zoeken naar DigiNotar. Het probleem is niet het zelf-ondertekende certificaat zoals Firefox en Chrome beweren. Het probleem is dat de browser niet kan controleren of het certificaat daadwerkelijk door je Synology is aangemaakt. Voor de versleuteling maakt het geen biet uit. 
Stel dat een kwaadwillende dankzij malware op je netwerk meeluistert. Laten we even aannemen dat deze ellende niet op het systeem aanwezig is waarmee je inlogt op de Synology. Zonder versleuteling zal tijdens het inloggen in ieder geval de gebruikersnaam en mogelijk je wachtwoord leesbaar zijn. Met versleuteling zijn beide veilig en juist moeilijker te stelen! Oftewel: met versleuteling zal de indringer meer moeite moeten doen om de genoemde informatie te achterhalen. Hoeveel moeite, hangt af van het wachtwoord dat je op de Synology hebt ingesteld. Waarmee we weer terug bij af zijn. 
Zoals gezegd, heeft de waarschuwing te maken met een niet uit te voeren controle. Of beter: de controle die nu gebruikt wordt, is onvoldoende voor thuisnetwerken. Technisch is het mogelijk om aan een certificaat te komen dat de controle wel doorstaat, maar dat gaan alleen nerds zoals ik uitvoeren. Met als resultaat dat Firefox en Chrome nu twee tegenstrijdige waarschuwingen geven en jou nodeloos de stuipen op het lijf jagen. 

EIGEN CERTIFICATEN 
Een paar jaar geleden zocht ik uit hoe ik een eigen certificaatdienst kon maken (hetlab.tk/obelix/armorica-ca-1). Vrij gemakkelijk dus. Pas de 1 in de url aan naar de getallen 2 tot en met 5 als je het complete verhaal wilt nalezen. Je ziet dat ik mijn eigen root-certificaat moet toevoegen, waarna browsers en mailprogramma’s dit opeens vertrouwen. Daar zit het probleem waarvoor Firefox en Chrome je waarschuwen. Als je dit doet voor een server op internet, hebben zij waarschijnlijk gelijk. Het probleem is dus dat de lijst met partijen die Firefox en Chrome vertrouwen, te beperkt is. En voor mijn gevoel ook te ruimhartig. Ik noemde al de Staat der Nederlanden en gezien de fiasco’s die zij regelmatig heeft, zou deze niet in de lijst mogen staan. Maar er zijn nog ergere varianten, bijvoorbeeld die van E-Tugra (Turkije) en GDCA TrustAUTH (China). Theoretisch kunnen deze een certificaat voor google.com uitgeven, dat dan automatisch wordt vertrouwd. Als je niet in de gaten hebt dat je op zo’n gemanipuleerde Turkse of Chinese server zit, kunnen zij alles wat je doet zonder problemen afluisteren. 
Synology weet dat voor versleuteling een certificaat nodig is. En omdat zij niet in staat zijn om dat via de ‘vertrouwde’ partijen te laten ondertekenen, doen zij exact hetzelfde als wat ik een paar jaar geleden ook deed. In plaats van dit via een zeer eng uitziende waarschuwing onmogelijk te maken, zouden Firefox en Chrome onderscheid moeten maken tussen thuis en internet. Voor dat laatste doen zij al twijfelachtige zaken, zoals China en Turkije vertrouwen. 

VOORSTEL 
Er zijn een paar bekende ranges van IP-adressen die voor thuisnetwerken bedoeld zijn. Als een niet-vertrouwd certificaat via een van deze IP-adressen afkomstig is, zouden Chrome en Firefox dus niet de waarschuwing in de getoonde afbeelding moeten tonen. In plaats daarvan moeten ze de informatie in het certificaat tonen en vragen of deze informatie vertrouwd kan worden. De informatie in het Synology-certificaat maakt duidelijk dat het om hun apparaat gaat. Als elke fabrikant iets soortgelijks zou doen, zou de wereld weer een stukje veiliger moeten worden. 
Voor alle duidelijkheid: mijn voorstel is absoluut niet perfect, ik snap exact wat het probleem is. Maar zoals ik al aangeef, is ook het huidige systeem van vertrouwen in moderne browsers discutabel. Met andere woorden: de meeste argumenten tegen mijn voorstel kan ik ook gebruiken tegen de huidige implementatie. Een perfect systeem is alleen mogelijk als alle gebruikers exact de gevaren snappen. Dat gaat echter niet gebeuren. Maak daarom een systeem waarmee ook zelf-ondertekende certificaten op een thuisnetwerk vertrouwd kunnen worden. 
Zoals gezegd, heb ik oplossingen om voor de Synology met wat trucs een Let’s Encrypt-certificaat te regelen. Niet eenvoudig, maar als er onder de lezers voldoende belangstelling is, wil ik daar best een komende Het Lab-aflevering mee vullen. Hopelijk leest iemand met invloed in de groep Chrome- of Firefox-ontwikkelaars hier mee en komt er een betere oplossing dan de enge waarschuwing die nu gegeven wordt.