Forefront ohne MOM – inkl. Tweak

Forefront ist zwar ein cooler Virenscanner – aber die Installation hat es bezüglich der Anforderungen und der Planung schon etwas in sich… Man benötigt in einer vollfunktionellen Umgebung auch einen Forefront-Server, sowie eine MOM-Infrastruktur. Wenn man diesen gar in eine SCOM-Infrastruktur einbinden möchte, wird es noch etwas komplizierter…

Es geht jedoch auch einfacher – was jetzt nichts absolut Neues ist, sondern schon auf einigen anderen Websites steht: Man kann Forefront auch ohne MOM und Forefront-Server auf den Clients (resp. auch Servern) installieren, indem man den Parameter „/NOMOM“ verwendet. Somit hat man jedoch lediglich einen Anti-Virus auf den Hosts installiert und bekommt an zentraler Stelle nichts davon mit, wenn sich da Viren in der IT-Infrastruktur tummeln.

Um dieser Sache Abhilfe zu schaffen, eignet sich die Weiterleitung von Ereignissen ab Windows Vista und Windows Server 2008 sehr gut! Man erstelle einfach ein Abonnement für alle Forefront Warn-Events mit der Kennung von 3000 – 3999 und schon hat man einmal alle Virenmeldungen auf einem zentralen System. Auch das ist an sich nichts Neues…

Wenn man nun auch noch per E-Mail darüber informiert werden möchte, falls irgendwo in der Umgebung ein Virus aufgetreten ist, dann kann man die Aufgabenplanung zur Hand nehmen und immer dann, wenn ein Event in diesem ID-Bereich auf dem zentralen Server vorkommt, eine E-Mail auslösen. Auch das ist an sich nichts Neues – aber evt. für den einen oder anderen ein guter Gedankengang…

Wo bleibt also das Neue? Here we go: Das Problem bei dieser E-Mail, welche man in der Aufgabenplanung auslösen kann, ist die Tatsache, dass dieses keine weiteren Informationen über den Quellcomputer beinhaltet, auf welchem der Virus aufgetreten ist. Zudem befindet sich darin auch keine Information über den Namen des Virus, etc.

Abhilfe, schafft das nachfolgende kleine Script, welches automatisch beim Eintreten der Event IDs 3000 – 3999 mit der Quelle „FCSAM“ im Systemprotokoll auftritt, die Angaben aus dem Ereignisprotokoll ausliest und per E-Mail an eine vordefinierte E-Mailadresse versendet:

‚ ***********************************************************************************
‚ EventTriggeredEMail.vbs
‚ by iTrain GmbH 2010, André Pflaum
‚ ***********************************************************************************
‚ Searches for Forefront-Events and forwards them to an e-mail address
‚ ***********************************************************************************

‚ Konfiguration der Variablen
strMailserver = „mail.server.domain“
strPort = „25“
strFrom = „prefix@suffix.domain“
strTo = „prefix@suffix.domain“
strSubject = „VIRUS GEFUNDEN!“

‚ ***********************************************************************************

strComputer = „.“
Set objWMIService = GetObject(„winmgmts:{impersonationLevel=impersonate}!\\“ & strComputer & „\root\cimv2“)

‚ Abfrage des Event Logs “System“
Set colLoggedEvents = objWMIService.ExecQuery(„Select * from Win32_NTLogEvent Where Logfile = ’System’ And SourceName = ’FCSAM’ And EventType = ’2′“)

‚ Variablen initialisieren
FirstTime = True
strError = „“
strError = strError & „VIRUS GEFUNDEN!“ & vbCrLf
strError = strError & „“ & vbCrLf
strError = strError & „Folgende Angaben wurden aufgezeichnet:“ & vbCrLf
strError = strError & „“ & vbCrLf

ForEach objEventin colLoggedEvents

    ‚ Daten auslesen
    strError = strError & „Computer Name: “ & objEvent.ComputerName & vbCrLf
    strError = strError & „User: “ & objEvent.User & vbCrLf
    strError = strError & „Category: “ & objEvent.Category & vbCrLf
    strError = strError & „Event Code: “ & objEvent.EventCode & vbCrLf
    strError = strError & „Message: “ & objEvent.Message & vbCrLf
    strError = strError & „Record Number: “ & objEvent.RecordNumber & vbCrLf
    strError = strError & „Source Name: “ & objEvent.SourceName & vbCrLf
    strError = strError & „Time Written: “ & objEvent.TimeWritten & vbCrLf
    strError = strError & „Event Type: “ & objEvent.Type & vbCrLf

    ‚ Mail versenden
    Set objEmail = CreateObject(„CDO.Message“)
    objEmail.From = strFrom
    objEmail.To = strTo
    objEmail.Subject = strSubject
    objEmail.Textbody = strError
    objEmail.Configuration.Fields.Item(„http://schemas.microsoft.com/cdo/configuration/sendusing“) = 2
    objEmail.Configuration.Fields.Item(„http://schemas.microsoft.com/cdo/configuration/smtpserver“) = strMailserver
    objEmail.Configuration.Fields.Item(„http://schemas.microsoft.com/cdo/configuration/smtpserverport“) = strPort
    objEmail.Configuration.Fields.Update
    objEmail.Send
        
    ‚ Script schon nach dem ersten gefundenen Eintrag beenden
    WScript.Quit(0)

Next

Das Teil ist schon in einer produktiven Umgebung von mir im Einsatz und verrichtet gute Dienste. Demnach schreit es förmlich nach weiteren Einsatzgebieten ;-D…!

Beispiel des Resultats:

VIRUS GEFUNDEN!

Folgende Angaben wurden aufgezeichnet:

Computer Name: client123.domain.name
User:
Category: 0
Event Code: 3004
Message: Vom Microsoft Forefront Client Security-Echtzeitschutz-Agent wurden Änderungen erkannt. Microsoft empfiehlt, die Software, die diese Änderungen vorgenommen hat, zu analysieren, um potenzielle Risiken festzustellen. Sie können anhand der Informationen über die Funktionsweise dieser Programme entscheiden, ob die Software ausgeführt werden kann oder vom Computer entfernt werden soll. Lassen Sie nur Änderungen zu, wenn das Programm oder der Softwareherausgeber vertrauenswürdig ist. Microsoft Forefront Client Security kann Änderungen, die Sie zugelassen haben, nicht mehr rückgängig machen.
 Weitere Informationen finden Sie im Folgenden:
http://go.microsoft.com/fwlink/?linkid=37020&name=Virus:DOS/EICAR_Test_File&threatid=2147519003
         Scan-ID: {84836C0D-6737-45AD-B337-F9528F871752}
         Agent: On Access
         Benutzer: domain\user123
         Name: Virus:DOS/EICAR_Test_File
         ID: 2147519003
         Schweregrad: Schwerwiegend
         Kategorie: Virus
         Gefundener Pfad: file:C:\Users\Administrator.CL04\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\60MUMHDE\eicar[1].com
         Warnungsart:
         Prozessname: C:\Program Files (x86)\Internet Explorer\iexplore.exe
         Feststellungsart: Konkret
         Status: Unterbrechen
Record Number: 18764
Source Name: FCSAM
Time Written: 20100728212909.000000-000
Event Type: Warnung

 

Viel Spass damit! Natürlich lässt sich dieses Script auch beliebig für andere Event-Log Mail-Aktionen einsetzen! Der Fantasie sind also (fast) keine Grenzen gesetzt!

PS: Das Script kann natürlich angepasst werden – achte jedoch dabei darauf, dass die Event-Weiterleitungen in ein herkömmliches Standard-Protokoll der Ereignisanzeige geschrieben werden – also ins „System, Application oder Security“-Log. Das Protokoll „Weitergeleitete Ereignisse“ oder eben „ForwardedEvents“ (wie der interne Name lautet) ist leider per WMI nicht auslesbar.

PPS: In Bezug auf das PS: Es ist mit der Weiterleitung von Ereignissen leider auch möglich, einen Loop zu produzieren. Falls z.B. der Sammlungs-Server selbst auch die Forefront-Daten aus seinem System-Protokoll ausliest und weiterleitet (an sich selbst), dann gibt es einen Neverending-Loop-of-Death… Und das wollen wir ja alle nicht – oder? ;-D

VN:R_U [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +2 (from 2 votes)
Forefront ohne MOM - inkl. Tweak, 10.0 out of 10 based on 2 ratings

Ein Gedanke zu “Forefront ohne MOM – inkl. Tweak

Schreib einen Kommentar