Check mcdat: C

Aus ITwiki
Wechseln zu: Navigation, Suche

Vorwort[Bearbeiten]

Bevor ich loslege: das hier angebotene Tool check_mcdat stelle ich als Freeware, also zur freien, kostenlosen Verwendung zur Verfügung. Für Datenverluste, Systemabstürze oder sonstige Schäden, die durch das Tool verursacht werden/wurden, übernehme ich keinerlei Haftung, die Verwendung geschieht auf eigenes Risiko. Nach dieser rechtlichen Aufklärung kann's ja los gehen :-)

Ich könnte den Beitrag "check_fileage: C# Programm für Nagios zum Überwachen des Änderungsdatums einer Datei" hier nahezu 1 zu 1 reinkopieren, denn bis auf die Parameter bleiben sämtliche Nagios- und NSClient++ Einstellungen gleich. Dieser Artikel ist deshalb ziemlich stark "zusammengekürzt", Einzel- und Besonderheiten bitte aus genanntem Beitrag entnehmen.

Wie bei check_fileage auch, war ich für McAfee VirusScan auf der Suche nach einem Plugin für Nagios, um die Virensignatur-Datei auf den Servern zu überwachen und entsprechende Warn- und Critical-Meldungen zu erzeugen. Leider bietet McAfee hier nichts an (ich habe zumindest nichts gefunden), und es war wieder mal Eigeninitiative gefragt. Entstanden ist dabei das C# Programm check_mcdat

Auch check_mcdat setzt auf die Tools NRPE (serverseitig) und NSClient++ (Client). Näheres im bereits genannten Beitrag.

check_mcdat.exe - die C# Lösung[Bearbeiten]

Da check_nrpe bzw. NSClient++ es ermöglichen, am Remote-Host (von Nagios aus gesehen) ein Skript auszuführen und dessen Rückgabe auszuwerten, benötigt man nach wie vor diese zwei Programmteile, um check_mcdat.exe verwenden zu können. Natürlich muss am Windows-Host eine .Net Laufzeitumgebung (.Net Framework 3.5) installiert sein, sonst funktioniert das Script nicht - ist ja logisch. Bevor ich nun zur Parametererklärung von check_mcdat.exe komme, kurz wichtige Vorarbeiten (ich gehe von der NSClient-Version 0.3.9 aus).

Öffne die nsc.ini-Datei am Windows Host und stelle sicher, dass folgende Parameter korrekt eingerichtet sind:

   Unter [modules] muss CheckExternalScripts.dll aktiviert sein (Semikolon am Zeilenanfang entfernen)
   Unter [NRPE] muss allow_arguments=1 sowie allow_nasty_meta_chars=1 eingerichtet sein
   Unter [External Script] (nicht Scripts!) habe ich command_timeout=60, allow_arguments=1 und allow_nasty_meta_chars=1 gesetzt
   Unter [External Scripts] (beachte das s!) ist hinzuzufügen check_mcdat=scripts\check_mcdat.exe $ARG1$
   Kopiere die Datei check_mcdat.exe in den Unterordner scripts des NSClient-Programmverzeichnisses 

Speichere die nsc.ini ab und starte den Windows-Dienst NSClient++ neu, um die gemachten Einstellungen zu übernehmen.

Zum Testen führe am Nagios-Server z. B. folgenden Befehl aus:

/usr/lib/nagios/plugins/check_nrpe -H <client_host_ip> -p 5666 -c check_mcdat -a '--warn 5 --critical 7'

check_mcdat frägt in der Registry des Zielsystems den Schlüssel

HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\AVEngine

und den darin enthaltenen Wert

AVDatDate

ab. Dieser beinhaltet das Datum, wann die Virensignatur zuletzt aktualisiert wurde. Sollte der Schlüssel bzw. Wert nicht existieren, erhältst du die Meldung an der Konsole:

Not able to read registry value AVDatDate

Wenn alles passt, sieht die Ausgabe in etwa so aus:

OK - DAT file last updated on 16.04.2013 (WARNING on 21.04.2013, CRITICAL on 23.04.2013)

Parameter-Erklärung[Bearbeiten]

Die Parameter sind eigentlich selbsterklärend:

--warn <days>: <days> ist die Anzahl an Tagen, nachdem eine Warnung ausgegeben wird, sollte die DAT-Datei zu alt sein.
--critical <days>: <days> ist die Anzahl an Tagen, nachdem ein Critical ausgegeben wird, sollte die DAT-Datei zu alt sein.

Wichtig: --warn darf nicht größer sein als --critical, macht ja auch keinen Sinn...

Probleme und Fehler, die auftreten können[Bearbeiten]

Ich habe das Progrämmchen natürlich für meine Umgebung hier optimiert. Es können daher z. B. folgende Fehler auftreten:

  1. Du hast dich bei den Parametern vertippt
  2. Der Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\AVEngine existiert nicht in der Registry (ich testete das mit VirusScan 8.5i
  3. Der genannte Schlüssel existiert, aber der Wert AVDatDate nicht bzw. es ist kein Datum hinterlegt
  4. Beim Parameter wurden die falschen Hochkommas bzw. Anführungszeichen gesetzt - achte hierbei peinlichst genau darauf, dass nach dem Parameter -a ein einfaches Hockomma ' kommt geschrieben werden muss

Downloads[Bearbeiten]

Versions-Historie[Bearbeiten]

Version 1.0.0.0[Bearbeiten]

Erster Release.

Wie zufrieden sind Sie mit dem Tool check_mcdat und der hier aufgeführten Dokumentation?
Bitte stimme unten ab.
0
0
0
Es wurden seit Erstellung der Umfrage am 18:54, 11. Jul. 2017 0 Stimmen abgegeben.
poll-id ADAE4F02B8560131E3D914518D4A880D