Update: Apache-lek

Maandag 13 december hebben wij alle gebruikers van onze software geïnformeerd over de waarschuwing van het Nationaal Cyber Security Centrum dat er een lek zit in Apache Log4j2. Dit is software die wereldwijd door bijna alle bedrijven wordt gebruikt voor het bijhouden van digitale logboeken. Ook is iedereen geïnformeerd over genomen en te nemen acties n.a.v. dit Apache-lek in relatie tot Obsurv en WIBON. Ook onze experts hebben niet stilgezeten.

Obsurv hosting door Sweco

Om verdere problemen te voorkomen, hebben we er afgelopen week voor gekozen om Obsurv tijdelijk te ontkoppelen van het internet. Veiligheid voor alles. Inmiddels is geconstateerd dat er geen gebruik wordt gemaakt van Log4j2 (m.u.v. het BGT-berichtenverkeer Obsurv), maar van Log4j. Hierdoor is de kwetsbaarheid met de aanduiding CVE-2021-44228 niet van toepassing. Er is hard gewerkt aan het preventief beveiligen van de Obsurv hosting- omgevingen, door middel van de web application firewall. Goed nieuws: voor alle organisaties voor wie wij de hosting verzorgen, is Obsurv sinds woensdag 15 december weer in de lucht en beschikbaar. Ook de Obsurv API’s en Tableau Server zijn weer up en running!

Log4j versie 1 en 2

De afgelopen dagen is er gesproken over Log4j. Echter zijn er 2 versies in omloop: Log4j (versie 1) en Log4j2 (versie 2). Log4j is niet hetzelfde als Log4j2: Log4j2 is een volledige herschrijving van Log4j (versie 1). Ook Log4j (versie 1) heeft kwetsbaarheden (met CVE’s), maar deze zijn gemitigeerd middels de geadviseerde maatregelen en configuratie van de software componenten. Hierdoor zijn de bekende CVE’s van Log4j (versie 1) niet aangetroffen bij de vulnerability assesment, die Sweco begin dit jaar heeft uitgevoerd op de Obsurv hosting omgeving. De configuratie hiervan is default bij de installatie, waardoor de mitigatie van de kwetsbaarheden van Log4j (versie 1) ook van toepassing is als jouw Obsurv-omgeving gehost wordt door jouw eigen organisatie (m.u.v. het BGT-berichtenverkeer van Obsurv).

Toelichting op Log4J versie 1

Obsurv maakt gebruik van GeoServer en JasperReports, die allebei gebruik maken van Log4j (versie 1). Voor Log4j (versie 1) zijn de volgende CVE’s bekend: CVE-2021-4104, CVE-2020-9488 en CVE-2019-17571. Wat betekenen deze CVE’s voor deze componenten?

Obsurv Component
Geoserver JasperReports
Component versie 2.13 1.3
log4j versie 1.2.17 1.2.15
CVE-2021-4104 De JSM Appender wordt standaard niet geconfigureerd bij de installatie van Obsurv. Hiermee is betreffende CVE niet relevant.
CVE-2020-9488 SMTP wordt standaard niet geconfigureerd bij de installatie van Obsurv. Hiermee is betreffende CVE niet relevant.
CVE-2019-17571 De socket service wordt standaard niet geconfigureerd bij de installatie van Obsurv. Hiermee is betreffende CVE niet relevant.
Opvolging Geoserver adviseert uit voorzorg een jar-file te vervangen bij de installatie van Geoserver om de kwetsbaarheden te elimineren. Sweco stelt deze beschikbaar als hot fix voor klanten waar Obsurv gehost wordt door hun eigen organisatie. Sweco zal deze hot fix ook implementeren in de Obsurv Hosting omgeving. JasperReports heeft de upgrade van log4j versie 1 naar log4j versie 2 toegekend aan JasperReports versie 2.8. Zodra deze versie beschikbaar is, zal deze op de Roadmap van Obsurv komen te staan. 

Sweco houdt de ontwikkelingen rondom security updates van deze componenten nauwlettend in de gaten, zodat hier adequaat op geacteerd kan worden. Zodra er een nieuwe versie van Geoserver en JasperReports beschikbaar is, zal deze op de Roadmap van Obsurv komen te staan met de juiste prioriteit.

Obsurv Hosting door eigen organisatie

Voor alle organisaties die zelf Obsurv hosten, adviseren we om de onderstaande stappen goed door te nemen (breng jouw ICT-organisatie hiervan op de hoogte):

  • Installeer een web application firewall of reverse proxy server als jouw Obsurv-omgeving gepubliceerd staat op het internet. Indien mogelijk, blokkeer Log4j2 kwetsbaarheden hiermee.
  • Voorzie alle Obsurv-omgevingen van versie 2.1 of hoger minimaal van Java versie 8u192, bij voorkeur 8u242. Neem voor een procedure hoe dit voor Obsurv doorgevoerd kan worden contact op met jouw contactpersoon bij Sweco of de helpdesk. Het is ook mogelijk om deze aanpassing door een installateur van Sweco uit te laten voeren.
  • Hot fix Geoserver: vervang de bestaande jar-file van Log4j (versie 1) met de nieuwe jar-file (gevolgd door een herstart van Glassfish), zoals geadviseerd wordt door Geoserver. Neem contact op met jouw contactpersoon bij Sweco of de helpdesk voor een procedure hoe dit voor Obsurv doorgevoerd kan worden. Ook hier is het mogelijk om deze aanpassing door een installateur van Sweco te laten uitvoeren.
  • Optioneel, als extra beveiliging: zet uit voorzorg de JMS (Java Messaging Service) van Geoserver uit. Neem contact op met jouw contactpersoon bij Sweco of de helpdesk voor een procedure hoe dit voor Obsurv doorgevoerd kan worden. Ook hier is het mogelijk om deze aanpassing door een installateur van Sweco te laten uitvoeren.
  • Gebruik je een versie die ouder is dan Obsurv 2.1 en staat deze gepubliceerd op het internet? Upgrade dan naar de nieuwste versie van Obsurv.
  • Vraag bij de ICT afdeling na of de Oracle database is gescand op Log4j2 en of hier eventueel op is geacteerd.
  • Zet het BGT-berichtenverkeer uit voorzorg uit (loskoppelen van internet).
  • Wij nemen vanaf vrijdag 17 december 2021 contact met jullie op voor de hot fix voor het BGT-berichtenverkeer van Obsurv. Doordat wij een groot aantal klanten moeten benaderen, kan het zijn dat jouw organisatie pas volgende week aan de beurt komt.

Hot fix op berichtenverkeerserver

Goed nieuws: wij hebben een hot fix voor het BGT-berichtenverkeer van Obsurv! Deze hot fix is inmiddels doorgevoerd op de BGT-berichtenverkeerserver in de Obsurv Hosting omgeving. Hiermee is ook het BGT-berichtenverkeer vanuit Obsurv weer beschikbaar.

De patch voor de Log4j2 kwetsbaarheid in het BGT-berichtenverkeer mitigeert zowel CVE-2021-44228 als CVE-2021-45046. Onlangs is een nieuwe kwetsbaarheid gepubliceerd als CVE-2021-45105. Deze CVE is afhankelijk van de versie en configuratie van Log4j. Context Maps (${ctx:-} zoals beschreven in de CVE worden niet gebruikt. Om deze reden is CVE-2021-45105 niet van toepassing op het BGT Berichtenverkeer.

De installatie is simpel en kan remote in 15 min worden uitgevoerd. Het betreft dan: services stoppen, bestand vervangen (dus: oude verwijderen en nieuwe plaatsen) en services starten. Heeft jouw organisatie het BGT-berichtenverkeer van Obsurv in-huis draaien? Dan nemen wij zelf contact met jullie op.

Wat kun je doen?

Het zou ons erg veel tijd besparen als jullie een Teamviewersessie voor ons klaar kunnen hebben op het moment dat we de patch bij jullie gaan uitrollen. Daarvoor maken wij met jullie een afspraak voor datum en tijd. Die Teamviewersessie moet dan toegang hebben tot de berichtenverkeerserver.

Toelichting op de hot fix

Jouw organisatie gebruikt het BGT-berichtenverkeer van Sweco GIS & ICT voor het verzenden en ontvangen van StUF berichten van en naar de Obsurv applicatie en de database. Op dit moment is er een kwetsbaarheid bekend in de logging component ‘Log4j2’. Deze logging component wordt gebruikt in de component ‘Mule’ versie 3.7 van het BGT-berichtenverkeer.

Een nieuwe versie van het BGT-berichtenverkeer zal even op zich laten wachten, intussen willen we wel graag dat klanten het berichtenverkeer weer snel kunnen gebruiken.

De Log4j2 component die we gebruiken, is Log4j2 versie 2.1.0. Die versie is kwetsbaar voor de exploit. Hoewel Apache (de organisatie die Log4j2 beheert) een nieuwe versie heeft uitgebracht van log4j versie 2, is deze niet bruikbaar in Mule versie 3.7. Onze oplossing is een patch, die het bestand ‘log4j-core-2.1.jar’ vervangt in de directory ‘<drive>:\BGT_Berichtenverkeer\mule\lib\boot’ met een bestand zonder kwetsbare JNDI functionaliteit. Dat bestand heeft dezelfde naam.

Het patch bestand is 823.356 bytes, de MD5 hash van de patch is b04fdb236c0d84247d4565a30a685356.

Het origineel is 824.749 bytes, de MD5 hash van het origineel is 8d331544b2e7b20ad166debca2550d73.

Door het patchen van deze JAR wordt de JNDI look-up functionaliteit verwijderd. Dit wordt door een aantal partijen beschreven en mitigeert zowel CVE-2021-44228 als CVE-2021-45046. Op een pagina van Apache zelf: link (onderaan bij cve nummer) en door security labs: link. Ook door Microsoft: link.  

De exploit wordt nu al door kwaadwillende partijen gebruikt op algemene websites. Goed om te weten: Bij het BGT-berichtenverkeer is er een aantal omstandigheden, die de exploit hinderen maar niet onmogelijk maken:

  • Het BGT-berichtenverkeer is niet benaderbaar vanaf een willekeurige host op internet. De firewall regels van de organisatie staan alleen verkeer toe van een andere BGT-berichtenserver.
  • Het BGT-berichtenverkeer accepteert alleen StUF berichten en dus alleen XML over SOAP. Het is lastig om een bericht te bouwen dat voldoet aan de StUF standaard en de exploit kan triggeren.

WIBON

Ook bij WIBON is geconstateerd dat er geen gebruik wordt gemaakt van Log4j2. Hierdoor is de kwetsbaarheid met de aanduiding CVE-2021-44228 niet van toepassing. Wel wordt een minimale versie van Java geadviseerd, die wij hebben doorgevoerd en getest. Er is daarnaast hard gewerkt aan het preventief beveiligen van de WIBON hosting-omgeving, door middel van de web application firewall. Goed nieuws: sinds woensdag 14 december is ook WIBON weer in de lucht en beschikbaar.

Meer informatie

Meer informatie over de kwetsbaarheid en het bijbehorende advies is te vinden op de website van het National Cyber Security Centrum.

We houden je op de hoogte

Zodra er meer bekend is, zullen we je via nieuwsberichten op deze website op de hoogte houden. Of je Sweco adviseur neemt direct contact met je op.

Houd onze berichtgeving in de gaten. Heb je nog specifieke vragen? Neem dan contact op met de helpdesk: helpdesk.gis-ict@sweco.nl of +31 800-022 44 01 of neem contact op met jouw Sweco adviseur.