Door cluc-cluc: @Erik:
In de eerste plaats erg bedankt voor de uitgebreide informatie, maar ik waag het toch om een paar dingen op te merken.
Graag gedaan, en prima natuurlijk - discussie houdt scherp! Ik ga echter niet in 100% van wat je schrijft, het is zo al veel te lang. Mocht ik onvriendelijk overkomen tegen
jou hieronder, dat is niet mijn bedoeling. Ik vind het alleen echt niet kunnen wat OpenDNS doet. Dat ze known malware sites blokkeren okay, maar dat ze jou redirecten naar hun server(s) bij facebook, twitter en zelfs banksites
en jou vervolgens permanent hun certificaat laten vertrouwen, vind ik absoluut onacceptabel.
Door cluc-cluc: Het advies van OpenDNS om hun certificaat voor andere sites te vertrouwen is GEVAARLIJK!
Nou ja, het
kan gevaarlijk zijn als je niet weet wat je doet, en niet precies weet wat er aan de hand is.
Mijn bezwaren hierbij zijn:
1) Open deur na jouw opmerking: de meeste mensen hebben geen flauw benul hoe https werkt en wat certificaten precies inhouden, en hebben dus geen idee wat de consequenties zijn van vertrouwen (of importeren) van een vreemd certificaat, zeker als dat permanent is. Menselijk is echter: ik wil naar die site! Why the f*** werkt het niet? Tik tik tik Google: opendns certificate error -> bovenste hit: "Adding Exceptions for *.opendns.com Certificates : OpenDNS".
2) OpenDNS vertelt je in hun pagina's, voor zover ik kon vinden,
niets over wat de consequenties zijn van het vertrouwen van hun certificaat en welke risico's je daarmee loopt. Sterker, het is vooral een "trust us, you can trust us" verhaal... Uit
https://support.opendns.com/entries/42398824-Adding-Exceptions-for-opendns-com-Certificates:
Adding an exception for an *.opendns.com certificate error.
This error is caused by a HTTPS site's certificate expecting to load the original site (like internetbadguys.com, facebook.com, twitter.com) but is being redirected to the OpenDNS block page which the certificate is not signed for. To remove this error caused by the fully expected blocking system, you will need to add an exception. Instructions are presented below for the major three browsers that have certificate errors.
These messages are all written to sound dangerous and menacing; however, in the case of OpenDNS exceptions, this is expected due to the redirection method of how our blocking service works, and it is completely safe to add *.opendns.com security exceptions!
3) En voor de mensen die
wel snappen wat het vertrouwen van een certificaat van derden betekent: weten zij of de beheerders van OpenDNS te vertrouwen zijn? Weten zij hoe goed OpenDNS haar servers tegen indringers beschermt? Hoe zijn hun private key(s) beschermt? Of zij beveiligingsincidenten aan jou zullen melden? Wat is het verdienmodel van OpenDNS? Nb. ik vraag me af of Firefox revocation checks doet op certificaten die je vertrouwt zoals OpenDNS aangeeft dat je moet doen.
Door cluc-cluc: Maar als je weet dat OpenDNS een vertrouwde partij is, en als het er heel erg naar riekt dat je die certificaatfoutmelding krijgt vanwege een blokkering van een bepaalde website, zodat OpenDNS jou om die reden naar hun "blockpage" probeert door te sturen om je hiervoor te waarschuwen (waardoor dus een "certificaat mismatch" ontstaat, omdat dit niet de website is waar je oorspronkelijk naar toe wilde gaan...)
Misschien begrijp ik Becky (08-10-2014, 07:26) verkeerd, maar ik heb nog nooit gehoord dat mijn.ing.nl malware verspreidde. Ik zie niet waarom OpenDNS de verbinding met banksites zou moeten kapen. Okay, stel dat er een vermoeden is van malware op zo'n site, dat zul je een certificaat van openDNS moeten accepteren om de reden van blokkeren te lezen. Rest de vraag: waarom moet je dat vertrouwen permanent maken?
Door cluc-cluc: dan is het risico wat mij betreft acceptabel.
Denkt jouw bank daar ook zo over? Vergelijkbaar (derde partij tussen jou en de bank):
http://www.afas.nl/nieuwsbericht/procederen-wint-van-innoveren.
Door cluc-cluc: Het is niet voor niets dat Firefox de mogelijkheid biedt voor het maken van zo'n "exception".
Van wat ik erover kan vinden is deze mogelijkheid vooral gemaakt om de volgende situaties niet te blokkeren:
- Self-signed certificaten
- Certificaten uitgegeven door een niet vertrouwde CA (bijv.
https://www.nlnetlabs.nl/)
- Certificaten van onjuist geconfigureerde sites evt. met self-signed certificate (bijv.
https://gpg4win.org/)
Door cluc-cluc: Ik geef toe dat je bij deze procedure oude hsts-informatie in je browser waarschijnlijk even kwijt raakt, en het is een minpunt dat OpenDNS hier niets over zegt. Maar herstelt de gewiste hsts-informatie zich niet bij de eerstvolgende keer dat je de betreffende hsts-website(s) weer bezoekt?
Niet als OpenDNS dat niet wil.
Door cluc-cluc: En hoe OpenDNS volgens jou hierdoor opeens mee zou kunnen kijken met bijv. bankzaken, begrijp ik niet goed.
Als je met private acties als bankzaken bezig bent, dan moet je imho vlak voordat je inlogt altijd de informatie achter het slotje controleren of je op dat moment wel echt met je bank verbonden bent.
Er zijn veel problemen met het huidige model van CA's en certificaten. Echter, als de URL begint met https://, de domainname klopt en een slotje op de juiste plaats getoond wordt, is de kans dat je op een nepsite zit enorm klein. D.w.z.
totdat je vreemde certificaten permanent gaat vertrouwen en/of importeert. Uit
https://www.ing.nl/de-ing/veilig-bankieren/veilig-internetbankieren/veilige-verbinding-met-mijn-ing/index.aspx:
Checklist beveiligde verbinding
U wilt internetbankieren. De meest veilige manier is door zelf www.ing.nl in te toetsen. Vervolgens logt u in op Mijn ING. Internetcriminelen bouwen de ING-site na en proberen mensen via e-mail te verleiden om hierop in te loggen. U controleert altijd of de verbinding beveiligd is. Hoe weet u dat u op onze website zit en niet op een nepsite? Door te letten op:
- Webadres
- Slotje in uw browser
1. Webadres
U controleert eerst of het webadres begint met ‘https’. De ‘s’ staat voor ‘secure’ (veilig). De juiste internetadressen zijn:
- Mijn ING: https://mijn.ing.nl/internetbankieren/SesamLoginServlet
- Mijn ING Zakelijk: https://mijnzakelijk.ing.nl/internetbankieren/SesamLoginServlet
- iDeal: https://ideal.ing.nl/internetbankieren/SesamLoginServlet
Bij een beveiligde verbinding kleurt de adresbalk in sommige browsers (deels) groen.
2. Slotje in uw browser
U zoekt vervolgens het slotje in uw browser. [...]
Als 20% van de internetters tot hier leest zou ik het al heel mooi vinden; je kunt m.i. niet van mensen verwachten dat ze in certificaten gaan kijken. Dat een groene balk er niet is zegt kennelijk ook niets (en ik heb op m'n todo lijstje staan om zelf een keer een EV-certificaat te maken om te kijken of je die ook kunt "vertrouwen" in Firefox).
Als je het *.opendns.com certificaat hebt vertrouwd in Firefox voldoet een verbinding
via een OpenDNS server aan de bovenstaande criteria. En, niet ondenkbaar, op het moment dat OpenDNS (of een tweede MitM zogenaamd namens OpenDNS) je vertelt dat je, speciaal voor jouw bankverbinding, ook een "mijn.ing.nl" certificaat moet vertrouwen, is het eind zoek (risico op social engineering is veel te groot).
Door cluc-cluc: Maar het zorgvuldigst doe je dit door de zgn. "fingerprint" van het certificaat te controleren. Die mag niet opeens anders zijn dan gewoonlijk (registreer het!) tenzij het oude certificaat van de bank was verlopen, en er een nieuw certificaat voor in de plaats is gekomen.
Ik ben behoorlijk paranoïde maar ik ga echt geen fingerprints van certificaten controleren. Stel bij mijn.ing.nl krijg je ineens een nieuw certificaat voorgeschoteld; als ik jou nu niet zou vertellen dat bedoeld certificaat op 2014-10-31 verloopt, had jij dat dan geweten? Bovendien, als je ziet hoeveel certificaten er in omloop zijn voor bijv. *.google.com (zie
https://ssl-tools.net/certificates/18tn156-google-com#0bb9ee841a) en *.microsoft.com, dan valt daar geen pijl op te trekken - banken zouden ook meerdere certificaten kunnen inzetten.
Door cluc-cluc: Als OpenDNS er als "man in the middle" tussen zou zitten, dan zou je het certificaat van OpenDNS ook nog moeten zien op het moment dat je lijkt te zijn aanbeland bij de website van de bank, en niet alleen maar bij hun blockpage.
In de beschrijvingen van Becky en anderen zie ik niets over een blockpage. Je
lijkt te worden doorgestuurd naar de bedoelde site, maar voor hetzelfde geld blijft OpenDNS als een proxy werken.
Door cluc-cluc: Maar zit er op dat moment een geldig certificaat van de bank achter het "slotje", dan is alles toch in orde?
Als dat zo is, is alles in orde. Maar als je dat niet controleert, of afgaat op wat OpenDNS zegt (this is by design), dan is het helemaal niet in orde en kan OpenDNS al het netwerkverkeer afluisteren.
Door cluc-cluc: P.S.: in reactie op je opmerking t.a.v. missende HSTS bij www.snsbank.nl: weet je dit wel zeker, Erik?
Weliswaar is het zo dat je www.snsbank.nl met het onbeveiligde http kunt bezoeken,
(en daarom klopt het dus wel dat bijv. ssllabs.com geen hsts aangeeft voor deze banksite).
HSTS wordt geregeld door http headers die de server naar jouw browser stuurt en geldt voor de exacte domain name, en desgewenst ook voor subdomains middels het attribuut "IncludeSubDomains" (zie
https://tools.ietf.org/html/rfc6797). Als SNS voor www.snsbank.nl naast https ook http permanent wil ondersteunen is HSTS onmogelijk, maar dan zouden ze nog steeds een mijn.snsbank.nl kunnen maken die m.b.v. HSTS het gebruik van https afdwingt.
Door cluc-cluc: Maar als je vervolgens doorklikt naar de inlogpagina voor internetbankieren, dan verandert je browser automatisch van http naar https.
Dat is een redirect die, an sich, niets met HSTS te maken heeft.
Door cluc-cluc: Het is dus niet mogelijk om met http in te loggen bij snsbank.
Ook niet als je de url van de inlogpagina met de hand intikt.
Jawel hoor, zodra ik bij OpenDNS ben aangenomen en onbeperkte toegang heb tot hun infra, is het een koud kunstje voor mij om jou, met in de URL balk van jouw webbrowser
http://www.snsbank.nl/mijnsns/, de SNS inlogpagina te tonen ;)