Op 1 juli ten minste 586 kwetsbare SSH versies bij overheid, zorg en onderwijs.

Sinds eind 2022 meet basisbeveiliging.nl de reclamebanners die worden aangeboden bij online diensten. Hierin staat bijvoorbeeld de fabrikant of de naam van het product. Bekende voorbeelden zijn Apache en Nginx. Maar ook een dienst voor het op afstand beheren van computers, SSH, heeft zo’n banner, maar deze is anders dan anderen.

De banner voor SSH bevat niet alleen reclame, maar ook de versie van de software die wordt aangeboden. Dat is een verplicht onderdeel van het product. Basisbeveiliging maakt hiervoor in de beoordeling een uitzondering: normaliter wordt een versienummer negatief beoordeeld omdat een aanvaller dit kan gebruiken, maar bij SSH kan het niet anders. En daar wringt nu de schoen.

Op 1 juli hebben onderzoekers van Qualys een nieuwe kwetsbaarheid gepubliceerd genaamd regreSSHion. Dit is een hoog risico aanval waarmee een aanvaller met behoorlijk wat moeite toegang krijgt tot het achterliggende systeem. De nodige mitsen en maren worden uitgelegd in de blogpost van de onderzoekers. De kwetsbare versies zijn OpenSSH 4.4p en lager en 8.5p1 tot 9.8p1 van 1 juli 2024. Meer informatie over de kwetsbaarheid is te vinden onder nummer CVE-2024-6387.

Iedere beveiligingsonderzoeker en aanvaller heeft de middelen en kennis om te achterhalen welke versie waar draait. Een leek kan dit ook achterhalen door de 10 minuten YouTube handleiding over ‘bannergrabbing’ te volgen. De geoefende aanvaller heeft deze banners van het hele internet al klaarliggen, of kan deze in enkele uren zelf samenstellen met verouderde hardware.

De aanval zelf kost tijd en kan doelgericht worden uitgevoerd omdat kwetsbare versies makkelijk zijn te vinden. Een aanvaller krijgt daarnaast makkelijk meer zekerheid doordat SSH niet alleen de versie aangeeft maar ook op welk systeem het draait. Bijvoorbeeld “9.2p1 debian-2+deb12u2“, door dat laatste stuk is in een tabel te zien op debian.org dat dit een kwetsbare versie is. Dit commentaar is optioneel, kan worden uitgezet en wordt daardoor altijd als hoog risico beoordeeld op basisbeveiliging.nl.

Metingen

Hieronder staat welke kwetsbare versies van SSH draaien bij de overheid, zorg, onderwijs en overige lagen. Deze informatie is gebaseerd op metingen van 28 juni tot 1 juli: dus net voordat de kwetsbaarheid publiek werd. Inmiddels zullen de eerste aanpassingen zijn gedaan. Daarom krijgt dit artikel over een paar maanden een vervolg.

De kwetsbaarheid is te verhelpen door te upgraden naar de meest recente versie van OpenSSH. Er worden meer dan 2500 SSH diensten aangeboden bij de gemeten organisaties, 21% daarvan is dus hoogstwaarschijnlijk kwetsbaar. Naast upgraden is het afschermen van SSH toegang met een firewall sterk aan te raden.

Basisbeveiliging bevat geen metingen of beoordeling over ernstige kwetsbaarheden als regreSSHion: dat gaat tegen ons publicatiebeleid in. Basisbeveiliging meet reclamebanners van software om aan te geven dat deze moeten worden opgeruimd. Dit opruimen is onderdeel van een proces genaamd hardening. Ook het afschermen van (opties tot) beheerstoegang voor onbevoegden hieronder.

Kwetsbare versies op 1 juli 2024

Net voordat de kwetsbaarheid publiek werd meet basisbeveiliging 586 kwetsbare versies. De verdeling per kaart/doelgroep is als volgt:

Doelgroep / KaartAantal kwetsbare versies
Overheid / Centraal166
Onderwijs / HBO141
Zorg / Ziekenhuis93
Onderwijs / Universiteit79
Politieke partijen44
Overheid / Gemeente22
Cybersecuritybedrijven16
Onderwijs / Primair13
Overheid / Provincie7
Overheid / Veiligheidsregio2
Overheid / Waterschap2
Zorg / GGD1
Verdeling kwetsbare OpenSSH diensten op verschillende kaarten

Onderverdeling kwetsbare versies bij de overheid

Bij de overheid zien we 199 kwetsbare installaties. Deze geven vaak ook teveel informatie over het achterliggende systeem, wat optioneel is. Deze optionele informatie keurt basisbeveiliging.nl altijd als rood: het systeem is niet gehard tegen aanvallen en een aanvaller weet meteen precies wat op het systeem draait.

De verdeling van de 199 kwetsbare installaties is als volgt:


OverheidGemeenteProvincieVeiligheidWater
8.9p1 ubuntu-3ubuntu0.655611
9.2p1 debian-2+deb12u252
1
8.9p1 ubuntu-3ubuntu0.7251
8.716
8.9p1101
4.3p26
8.84
9.6p1 ubuntu-3ubuntu1331
8.9p1 ubuntu-3ubuntu0.121
for_windows_9.53
9.32
9.011
for_windows_8.02
8.9p1 ubuntu-3ubuntu0.31
9.0p1 ubuntu-1ubuntu71
9.3p1 ubuntu-1ubuntu3.31
9.71
Verdeling kwetsbare SSH versies per overheidslaag. De verschillende reclamebanners geven vaak ook teveel informatie over het achterliggende systeem.

Onderverdeling onderwijs

Er zijn 233 kwetsbaarheden gevonden in het onderwijs, wat opvalt is dat er geen kwetsbare versies zijn gevonden bij het voortgezet onderwijs en het MBO.


HBOUniversiteitPrimair
9.2p1 debian-2+deb12u2116271
8.9p1 ubuntu-3ubuntu0.716166
8.9p1 ubuntu-3ubuntu0.63112
8.9p148
9.2p162
8.721
9.511
9.72
9.7p1 debian-62
8.8
1
8.9p1 ubuntu-3ubuntu0.41
9.0p1 ubuntu-1ubuntu8.71
9.2p1 debian-2+deb12u11
9.31
for_windows_8.11
Verdeling kwetsbare SSH versies bij het onderwijs. Bij het Voortgezet Onderwijs en MBO zijn geen kwetsbare versies gevonden.

Onderverdeling Zorg

In de zorg zijn 94 kwetsbare versies gevonden, bijna allemaal bij ziekenhuizen.

ZiekenhuizenGGD
8.9p1 ubuntu-3ubuntu0.751
8.9p115
8.9p1 ubuntu-3ubuntu0.691
8.79
9.05
9.2p1 debian-2+deb12u22
9.61
9.6p1 ubuntu-3ubuntu131
Verdeling kwetsbare SSH versies in de zorg.

Onderverdeling overig

Dit zijn de overige lagen op basisbeveiliging. Deze hebben niets met elkaar te maken. Landelijke politieke partijen hebben 44 kwetsbaarheden en cybersecuritybedrijven 16.

layerpolitical_partiescyber
8.9p134
8.9p1 ubuntu-3ubuntu0.634
9.3
5
8.9p1 ubuntu-3ubuntu0.722
9.2p1 debian-2+deb12u222
9.6p1 ubuntu-3ubuntu13
3
9.62
8.9p1 ubuntu-31
Onderverdeling kwetsbare SSH versies bij overige lagen van basisbeveiliging.

Verantwoording

De metingen zijn uitgevoerd van 28 juni tot 1 juli op de tot dan toe bekende SSH poorten. Deze lijst blijkt na onderzoek na 8 december 2023 niet te zijn aangevuld, waardoor veel SSH diensten van andere kaartlagen helaas ontbreken. De kans is dus groot dat er nog veel meer SSH diensten draaien. Dit wordt in het vervolg rechtgezet.

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…

Nieuwe metingen (januari 2023) – Software Identificatie, Overbodige Poorten

Er zijn weer nieuwe metingen toegevoegd aan basisbeveiliging. Het gaat om de volgende twee:

  • Software versie identificatie. We kijken of software op je server aangeeft welke (specifieke) versie er wordt gedraaid. Deze informatie wordt gebruikt door aanvallers om een specifieke aanval uit te voeren of te plannen. In een gehardende omgeving is deze informatie niet zichtbaar: in dat geval moet een aanvaller meer moeite doen om erachter te komen welke versie er staat, wat ofwel teveel moeite is of zorgt dat een aanval makkelijker te herkennen is. De maximale score is rood, dit gebeurd als er een volledig versienummer en sub-nummer te vinden is. Bijvoorbeeld 12.34.
  • Overbodige poorten. Voor dienstverlening naar burgers en medewerkers van je organisatie zijn maar een paar diensten nodig. We kijken in dit geval naar een paar poorten, de alternatieve HTTP poorten (8443 enzo): hierop staan vaak diensten zoals beheerders-interfaces en dergelijke. We raden aan om dienstverlening van deze alternatieven te staken en de dienst onder de standaard poortnummers te leveren. De informatie in deze scan is nog in beta, de maximale score is oranje.