aiowmi - Een Python bibliotheek
Voor onze monitoring oplossing Oversight geven we de voorkeur aan een niet-intrusieve monitoring benadering met behulp van een Linux appliance. Deze monitorings appliance gebruikt open standaarden om monitoringsgegevens zoals prestatie- en beschikbaarheid statistieken op te halen uit de gemonitorde activa.
Toen hardening-wijzigingen in DCOM werden geïmplementeerd voor CVE-2021-26414 via Windows-updates, merkten we dat de systeemlogboeken van Windows-servers werden overspoeld met gebeurtenis-ID 10036-fouten:
The server-side authentication level policy does not allow the user WMITEST\Administrator
SID (S-1-5-21-3969764004-348989262-1652888677-500) from address 192.168.21.108 to
activate DCOM server. Please raise the activation authentication level at least to
RPC_C_AUTHN_LEVEL_PKT_INTEGRITY in client application.
Net als veel andere leveranciers gebruikten we een gecompileerd wmic-binair bestand om Windows-hosts op afstand vanuit Linux te ondervragen. Omdat dit binaire bestand is afgeleid van een niet langer onderhouden Samba-fork, wisten we dat we onze mouwen moesten opstropen en zelf een goed onderhoudbare oplossing moesten creëren!
Zoals ze zeggen: “Voorbereiding is de sleutel tot succes”. Daarom zijn we begonnen met requirements-engineering, waarbij we een enorme hoeveelheid WMI-documentatie moesten doornemen die door Microsoft is vrijgegeven.
Deze voorbereidingsfase heeft echter zijn vruchten afgeworpen, omdat het ons enorm heeft geholpen bij het ontwikkelen van een super functionele Python-bibliotheek speciaal voor WMI. Deze bibliotheek wordt nu gebruikt in productie voor Oversight en wordt vrij beschikbaar gesteld als een open source-oplossing.
We hopen dat dit anderen helpt die afhankelijk zijn van WMI-query’s vanuit een niet-Microsoft-besturingssysteem.
Zoals iedereen weet, is het creëren en onderhouden van open source-bibliotheken een inspanning die ondersteuning vanuit de gemeenschap vereist in de vorm van bijdragers, testers en sponsors. Neem gerust contact met ons op als je denkt op wat voor manier dan ook een bijdrage te kunnen leveren!