Computerbeveiliging - Hoe je bad guys buiten de deur houdt

Certificaat geldig of niet? Chrome keurt hem goed, curl niet

01-09-2020, 21:58 door Anoniem, 8 reacties
Hallo,

Op het volgende domein zie ik iets aparts waar ik even niet uitkom. Misschien kan iemand me op weg helpen:
https://www.weiming.nl

- Wanneer ik de pagina open (Chrome desktop op Linux, Chrome op Android of Safari op iOS) dan wordt het certificaat goedgekeurd
- curl --verbose https://www.weiming.nl geeft een certificaatwaarschuwing
- https://www.ssllabs.com/ssltest/analyze.html?d=www.weiming.nl geeft een certificaatwaarschuwing

Volgens mij is de waarschuwing ook terecht. De common-name van het certificaat hoort bij wei-ming.nl (dus met een streepje) en de alternative-names zijn:
DNS Name: *.wei-ming.nl
DNS Name: wei-ming.nl
DNS Name: weiming.nl

Dus voor zover ik kan overzien is het certificaat inderaad niet geldig voor www.weiming.nl

Waarom geven de browsers geen waarschuwing in dit geval? IE, Edge en Firefox geven wel een waarschuwing, maar Chrome en Safari niet.
Reacties (8)
03-09-2020, 11:12 door User2048
Chrome op Windows 10 geeft "NET::ERR_CERT_COMMON_NAME_INVALID". Op Linux werkt de validatie blijkbaar anders.

Mijn iPhone (Safari op iOS 13.6.1) geeft wel de waarschuwing "niet veilig" in de adresbalk, maar opent de pagina wel.
03-09-2020, 11:17 door Anoniem
Inmiddels is het certificaat kennelijk weer vervangen en nu is weiming.nl helemaal geen geldige naam meer.
Dus ik denk dat alle testen even overnieuw gedaan moeten worden!
03-09-2020, 11:20 door Briolet
Door Anoniem: en de alternative-names zijn:
DNS Name: *.wei-ming.nl
DNS Name: wei-ming.nl
DNS Name: weiming.nl

Ik kijk net en nu zijn er maar twee SAN entries. De naam "weiming.nl" staat nu helemaal niet meer in het certificaat. Het is nu een Let's Encrypt certificaat mat een wildcard. Aangemaakt op 2 sept, dus de dag na je posting. Wat je dus allemaal schrijft hoeft niet langer te kloppen. Safari geeft b.v. ook een terechte waarschuwing bij de naam zonder streepje.
03-09-2020, 13:04 door Anoniem
Klopt; helaas is de hoster er blijkbaar achter gekomen dat er wat niet juist was en heeft het certificaat vervangen.

Ik ga eens proberen of ik het zelf kan reproduceren door een Letsencrypt certificaat aan te vragen met:
*.domeinA.nl
domeinA.nl
domeinB.nl

Op dit moment werkt het inderdaad als verwacht. Dus helaas, maar bedankt voor de reacties tot nu toe!
03-09-2020, 13:53 door Anoniem
Ik heb ondertussen met Letsencrypt een certificaat aangemaakt wat lijkt op het eerdere certificaat. In dit geval werkt de browser zoals verwacht. Het certificaat wordt dus afgekeurd.

Wat me opvalt is dat bij mijn certificaat het 'Subject Alternative Name' veld ALLEEN de onderstaande velden staan:
DNS Name=www.a.nl
DNS Name=*.a.nl
DNS Name=b.nl

Nu ik dit zie bedenk ik me dat bij weiming.nl er in stond:
Not critical
DNS Name: *.wei-ming.nl
DNS Name: wei-ming.nl
DNS Name: weiming.nl

Als voorbeeld een plaatje erbij geGoogled:
https://i.stack.imgur.com/cPzxl.png

Na wat inlezen lijkt het er op dat dit er juist voor moet zorgen dat een browser die deze extentie niet snapt hem mag negeren. Dat zou dus niet het eerder genoemde gedrag mogen veroorzaken.

De volgende stap is de SAN 'not-critical' maken en zien of we dan hetzelfde gedrag krijgen; alleen heb ik nog niet gevonden hoe ik dat voor elkaar ga krijgen met de cert-bot van Letsencrypt.
03-09-2020, 15:04 door Anoniem
Als je wilt dat het certificaat voor wei-ming.nl (wat ook de alternate *.wei-ming.nl heeft) ook werkt voor www.weiming.nl dan moet je uiteraard niet alleen weiming.nl als alternate opnemen maar ook *.weiming.nl of minstens www.weiming.nl.
Dat was en is niet in orde in dat certificaat.
03-09-2020, 16:07 door JeanPaul - Bijgewerkt: 03-09-2020, 16:08
Door Anoniem: Als je wilt dat het certificaat voor wei-ming.nl (wat ook de alternate *.wei-ming.nl heeft) ook werkt voor www.weiming.nl dan moet je uiteraard niet alleen weiming.nl als alternate opnemen maar ook *.weiming.nl of minstens www.weiming.nl.
Dat was en is niet in orde in dat certificaat.

Dat was dus inderdaad het bijzondere! Het certificaat zou niet geldig moeten zijn (volgens mij), maar zowel Chrome als Safari gingen er niet over zeuren. Curl, Firefox en ssllabs.com detecteerden wel (terecht volgens mij) dat het certificaat onjuist was.

De hoster (wat ik overigens niet ben) heeft inmiddels het certificaat vervangen door het certificaat wat je nu ziet. Het huidige certificaat heeft alleen de domeinnaam met een streepje er tussen.
03-09-2020, 17:20 door JeanPaul - Bijgewerkt: 03-09-2020, 17:34
Hier zijn de eerdere certificaten nog te zien trouwens:
https://crt.sh/?q=wei-ming.nl

Dit is het certificaat dat door Chrome en Safari werd goedgekeurd op https://www.weiming.nl
https://crt.sh/?id=3316581438

Ik heb er die avond met www.webpagetest.org enkele samples van genomen omdat ik het probleem aan het onderzoeken was. Dat komt nu mooi van pas:

IE-11 doet het:
https://www.webpagetest.org/result/200901_K9_80ad45b68f2413354976a1e084a7166c/1/details/#waterfall_view_step1

Opera geeft een Error: net::ERR_CERT_COMMON_NAME_INVALID
https://www.webpagetest.org/result/200901_D6_875fc4a0a8c5a9895ee5e5b8d360cf90/

Edge ook waarschuwing:
https://www.webpagetest.org/result/200901_VH_a4a10606dae2a14b325d499df9a457e5/

Firefox geeft ook een waarschuwing:
https://www.webpagetest.org/result/200901_52_c2a7f61a65a9e66a520524946e966718/

Helaas heb ik die avond geen samples genomen met Chrome en Safari in Webpagetest omdat ik die op mijn laptop al had zien werken.
Wat we nu dus nog kunnen zien is het certificaat wat hier staat https://crt.sh/?id=3316581438 met de webpagetest op IE11 die hier staat https://www.webpagetest.org/result/200901_K9_80ad45b68f2413354976a1e084a7166c/1/details/#waterfall_view_step1

Het gaat een long-shot worden denk ik om dit boven water te krijgen :-)
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.