Updates Augustus 2023

Meting toegevoegd over de locatie van dienstverlening (in de EU+GDPR zone)

Er wordt gekeken waarvandaan online diensten worden verleend: van de server, e-mail server(s) en waar de inhoud van de website vandaan komt. 10% van de mailservers staat buiten de EU+GDPR zone. Het risico wordt tijdens de proefperiode als ‘laag’ ingeschat. Lees alle resultaten en achtergronden in dit artikel.

Nieuwe documentatie

Er zijn twee stukken documentatie online gezet:

  1. het Meetbeleid: achtergrondinformatie over alle metingen op één logische plaats. Hier staat wat wordt gemeten, welke impact het maximaal heeft, met welke tool dit gebeurt en waar je deze meting zelf kan doen en documentatie erover kan vinden.
  2. een handleiding: “Binnenkort op Basisbeveiliging, wat nu?” met hierin uitleg wat Basisbeveiliging is en handvatten naar alle belangrijke informatie zoals het meetbeleid, publicatiebeleid, de motivatie, de stichting en meer. Organisaties die nieuw op de kaart komen te staan sturen we ook deze link toe.

Bevindingen verrijkt met OpenCRE nummer

Waar mogelijk zijn bevindingen verrijkt met een OpenCRE nummer.

Dit nummer dient als “gateway” tot alle referenties naar alle verschillende beveiligingsstandaarden waarin deze specifieke beveiligingseis wordt genoemd of overduidelijk onderdeel van is.

Bijvoorbeeld is de toepassing van HSTS te vinden onder CRE: 036-147. Dit is onder andere verplicht volgens ASVS V14.4.5, CWE 523, CAPEC 3.9: 102, SAMM: O-EM-A, NIST SSDF : PW 5.1, AIS-06, NIST 800-53, OWASP Top 10 2021 A05 enzovoort.

Nog niet alle standaarden en raamwerken worden hierin genoemd, bijvoorbeeld NEN7510 en de bio (maar wel het achterliggende ISO27002). Omdat CRE een gemeenschappelijk project is hebben wij hoop dat er iemand ook deze standaarden daar toevoegt.

Ook zien we nog niet specifiek punten over security.txt, DNSSEC, DMARC en DKIM, maar wel oudere gangbare technische eisen. Ook hier geldt weer dat we verwachten dat de security-gemeenschap dit zal aanvullen.

Overigens is het wel leuk om te wijzen naar een bekende illustratie van de website XKCD. Alle security-raamwerken die worden vrijgegevens zijn grofweg re-hashes van andere raamwerken. OpenCRE is daar dan weer het toppunt van, met opnieuw eigen aanduidingen die veel omvatten en toch weer net niet. Dit gaat ongetwijfeld weer voor verwarring zorgen waardoor er binnenkort weer een nieuw raamwerk wordt gepresenteerd.

Verplicht plaatje als het gaat over standaarden. Bron: https://xkcd.com/927/

Vernieuwde HSTS meting

De HSTS header meting is opgefrist. Er wordt nu in de hele ketting van een bezoek gekeken of de header aanwezig is. Het bewijs van de meting is nu ook volledig in te zien, waardoor je ook alle tussenliggende doorverwijzingen kan zien en dus waar iets ontbreekt.

Wij verwachten per host waar https wordt gebruikt dat er ten minste 1x een HSTS header wordt ingezet. Daardoor wordt die host veilig(er). In het voorbeeld hieronder zie je dat dit in stap 3 niet gebeurt. Heel veel scanners kijken alleen naar stap 4, en slaan dus de controle over op stap 1, 2 en 3.

Een voorbeeld van een bezoek aan example.com:

  1. Een verzoek wordt gestuurd aan http://example.com.
    • Antwoord: doorsturen naar https://example.com. Op http antwoorden is geen HSTS header nodig.
  2. Een verzoek wordt gestuurd aan https://example.com.
    • Antwoord: doorsturen naar https://belangrijkeorganisatie.com. In dit antwoord zit een HSTS header.
  3. Een verzoek wordt gestuurd aan https://belangrijkeorganisatie.com
    • Antwoord: doorsturen naar rijksoverheid.nl. In dit antwoord zit geen HSTS header, hier ontbreekt HSTS dus in de ketting.
  4. Een verzoek wordt gestuurd aan https://rijksoverheid.nl
    • Antwoord: een webpagina. In dit antwoord zit een HSTS header.

G1 overheidscertificaat toegevoegd

Het onderliggende G1 Service certificaat wordt nu ook vertrouwd.

Bugfixes

Een van de rapporten was onleesbaar geworden, waardoor kaarten niet meer verschenen en geen nieuwe rapporten werden gemaakt. Er wordt nu rekening mee gehouden dat rapporten onleesbaar kunnen zijn. Hierdoor wordt deze fout automatisch hersteld.

Diverse kwetsbaarheden in de software die we gebruiken zijn gepatched.

Het veld voor bewijsvoering is nu vergroot tot nagenoeg oneindig. Bij sommige metingen komt nogal veel data terug. Deze is nu volledig in te zien op de site. Bijvoorbeeld bij de HSTS header meting.

Plus

Het is mogelijk zelf gebruikers aan te maken onder een account. Je kan tot 10 gebruikers aanmaken. De gebruikersnaam moet minimaal 10 karakters lang zijn (zonder speciale tekens).

De Helpdesk, aflevering 4 – “gesloten” poort en G1 certificaten

In de helpdesk kijken we naar vragen die binnenkomen via de mail en geven we een kort antwoord op vragen die vaker binnenkomen.

Poort 8080 is gesloten (of toch open)

We kregen een korte mail met de melding: “Poort 8080 staat niet open”. Dus wij tikken in onze browser: http://[gemeentesite].nl:8080. In plaats van ‘geen gehoor’ wordt de gebruiker doorgestuurd naar de site van een gemeente. Daarna proberen we de site http://[gemeentesite].nl:9090, en daar gebeurd niets.

Conclusie: op poort 8080 gebeurd wel iets, dus deze poort staat open met iets overbodigs. We kunnen niet zien wat en of dit een uitzondering waard is. Dus de conclusie ‘overbodige poort’ blijft staan.

Screenshot bij het bezoeken van het hoofd-domein op dit adres op :8080. De melding op deze pagina zegt dat je mogelijk iets bijzonders moet hebben gedaan om geblokkeerd te worden. Daaronder valt dus ook gewoon bezoeken 🙂

Fix voor uitzondering G1 certificaten

De overheid geeft een certificaat uit dat by design niet wordt vertrouwd in browsers. Dit is het G1 certificaat. We hebben al wat jaren code in Basisbeveiliging die hiervoor een uitzondering toevoegt. Of… dat dachten we.

We ontvingen een mailtje met de vraag of we een G1 certificaat konden uitzonderen. We hadden zoiets van: dit doen we toch al?

Dit was het begin van een paar uur lang debuggen. Uit de logs konden we halen dat deze uitzondering is aangeroepen na de ‘niet vertrouwd’ conclusie van de TLS meting. We hebben de code erbij gepakt en het met de hand aanroepen van alle functies ging goed.

We hebben de code lokaal en op de server gedraaid als allerlei gebruikers: werkt altijd. We hebben extreem gedetailleerde logging toegevoegd aan deze code en we zagen dat alleen op de server, tijdens het meten via een worker, een specifieke SSL foutmelding optrad.

De conclusie is dat een van de componenten om parallel te kunnen meten (“gevent” voor de nerds) de SSL bibliotheek aanpast wat kan zorgen voor ander gedrag. Nadat we de worker hadden omgezet naar ‘prefork’ zagen we dat het probleem was opgelost.

We hebben deze taak dus overgezet naar een prefork worker. Dat kost wat meer geheugen maar dan hebben we wel zekerheid dat de meting goed gaat.

Inmiddels is de helft van de uitzondering-checks er doorheen en zijn er 83 G1 certificaten gevonden. We zien dit certificaat o.a. op sites als api.kvk.nl, isb.rdw.nl, en data.* subdomeinen van gemeenten.

Overzicht van uitzonderingsmetingen op het domein van de vraagsteller…