MBSA
1. Juli 2005: MBSA 2.0 released
http://www.Microsoft.com/technet/security/tools/mbsa2/default.mspx
Bewahren Sie sich den MBSA 1.21 trotzdem noch auf, da der
MBSA 2.0 kein NT4 mehr prüfen kann.
Der Microsoft Baseline Security Analyse ist neben den Programmen IISLOCKDown und dem ExBPA ein effektives Mittel um die Aktualität und Sicherheitseinstellungen ihres Servers zu überprüfen. Sie sollten überlegen, ob Sie die Prüfung mit MBSA nicht zu einer regelmäßigen Routine in ihrem Netzwerk werden lassen. Es gibt aber noch weitere Tools wie z. B.
- Microsoft Security Compliance Manager
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5534bee1-3cad-4bf0-b92b-a8e545573a3e&displaylang=en
SCM Overview http://go.microsoft.com/fwlink/?LinkId=207307
SCM Getting Started http://go.microsoft.com/fwlink/?LinkId=201324
SCM Frequently Asked Questions (FAQ) http://go.microsoft.com/fwlink/?LinkId=207246
SCM Release Notes http://go.microsoft.com/fwlink/?LinkId=179814
SCM Baseline Download Help http://go.microsoft.com/fwlink/?LinkId=206717 - Extended Security Update Inventory Tool
http://www.microsoft.com/downloads/details.aspx?FamilyID=2C93DA1D-48A0-4E5C-991F-87E08954F61B&displaylang=en
SMS Add-on um weitere Updates zu erkennen, die MBSA angeblich nicht prüft - Veriniceā http://v.de/
Und sicher haben diverse kommerzielle Anbieter ebenfalls ein paar nette Werkzeuge in ihrer Angebotskisten.
Was prüft MBSA
MBSA möchte sicher stellen, dass ihr System eine gewissen Grundsicherheit erreicht. Dazu gehören:
- Hardware
Sind die aktuellen Treiber und BIOS-Versionen installiert ? - Betriebssystem
Sind alle Patches und Update eingespielt. - Betriebssystemsergänzungen
z.B. MDAC, NET-Framework etc. sind hier zu nennen - Konten
Einstellungen bezüglich der Kennwortsicherheit und Benutzerkonten. - Serveranwendungen
Hierunter fallen Exchange, SQL, IIS und andere Anwendungen - Clientanwendungen
Auch Office und andere Anwendungen könnten mit geprüft werden. - Dritthersteller
Sofern dies möglich ist, könnten auch Dritthersteller ihre Informationen einbinden
Einige Funktionen überlappen sich sicherlich mit Update und Patchmanagement) und ExBPA. Auf der anderen Seite wird MBSA z.B.: in SMS und MOM genutzt, um hier die Aktualität zu prüfen.
Angeblich will Microsoft nach und nach alle Produkte in MBSA aufnehmen. Wenn Dritthersteller ebenfalls ihre Daten als XML-Quelle integrieren können, dann könnte MBSA das universelle Werkzeug für die Kontrolle eines Systems auf Aktualität werden. Allerdings ist es heute schon so, dass zwar die wichtigen Updates geprüft werden, aber leider nicht alle. Sie werden daher weiterhin damit leben müssen, dass MBSA nicht die gleichen Update meldet, die Windows Update erkennt.
Die grafische Oberfläche
Doch ehe es soweit ist, müssen Sie erst einmal MBSA von Microsoft herunter laden und starten. Dazu legt MBSA ein Icon auf der Oberfläche ab. Der Start bietet eine grafische Oberfläche zur Auswahl der Aktionen. Es soll aber nicht verschwiegen werden, dass es auch eine Kommandozeilenversion gibt, mit der z.B. ein Administrator per regelmäßigem Job seine Server überprüfen kann.
Wenn Sie nur ihren Server kurz prüfen möchten, dann wählen sie "Einen Computer überprüfen" aus. MBSA kann mit den entsprechenden Berechtigungen auch über das Netzwerk viele andere Systeme überprüfen. MBSA prüft dabei nicht nur die verschiedenen Patches und Updates für das Betriebssystem, sondern auch verschiedene Verletzlichkeiten des Systems und Updates ausgewählter Serveranwendungen. Dies sehen Sie schon beim nächsten Bild:
MBSA 2.0 trägt auch nicht mehr das (c) Shavlik in der Fußzeile und unterstützt den WSUS-Server. Nach dem Start der Überprüfung holt sich MBSA von Microsoft erst einmal die aktuelle Version der MSSECURE.CAB. Dieses Archiv enthält die Datenbank für MBSA mit allen Patches und Einstellungen, die ein sicheres System beschreiben.
Wenn der Download nicht möglich ist, dann nutzt MBSA die vorhandene XML-Datei im Programmverzeichnis. Sie können diese auch selbst einspielen.
Die Überprüfung selbst dauert je nach System und Netzwerkanbindung bis zu einige Minuten pro Server. Danach existiert je Server ein eigener Report als XML-Datei. Den Namen können Sie vorgeben. Die Auswertung der Fehler zeigt, welche Einstellungen nach Ansicht von Microsoft verändert werden sollten und welche Updates fehlen. Die Liste der Auswertung kann etwas länger werden:
im wesentlichen ist dieser Server sicher. MBSA findet einige Benutzerkonten, deren Kennworte nicht ablaufen. Das ist z.B. das Konto für den Virenscanner, die Datensicherung und die beiden Konten für den INETUSR. Die automatischen Updates sind deaktiviert, da ich eine eigene Aktualisierung vornehme und der Server sowieso keine Verbindung zum Internet hat.
MBSA schreibt die Reports pro System in eine eigene Datei. Diese liegt per Default im Profilverzeichnis des Benutzers im Verzeichnis "SecurityScans".
MBSA ist "ReadOnly", d.h. verändert keine Einstellungen. Insofern ist es einfach und problemlos möglich, mit MBSA ihre produktiven Systeme zu prüfen.
MBSA 1.21 skripten
Ich habe Anfangs schon gesagt, dass MBSA auch von MOM und SMS eingesetzt wird. Es gibt daher eine Kommandozeilenversion, die entsprechend aufgerufen werden kann.
Wenn Sie nicht "remote" Scannen, dann muss MBSA zuerst auf dem System installiert werden. Dies können sieh auch "silent" mit folgendem Aufruf tun:
msiexec.exe /i "some path here\MBSASetup-EN.msi" /qn
Weiterhin benötigt MBSA eine Datei mit den Informationen, was wie zu prüfen ist. Dazu stellt Microsoft eine MSSECURE.CAB unter mehreren Adressen bereit. Leider gibt es immer mehrere Versionen hiervon.
- Link von MOPM2005
http://go.Microsoft.com/fwlink/?LinkID=18922 - Link von MBSACI
http://go.Microsoft.com/fwlink/?LinkId=18121
Dritthersteller können sicher auch eigene CAB-Dateien bereitstellen, wenn Sie die Engine von MBSA nutzen wollen. Der Download kann natürlich auch durch WGET, MBSACLI oder andere Programme zentral erfolgen. Denkbar ist auch ein zentraler Download und die Bereitstellung über eine Dateifreigabe oder das Intranet.
Als nächstes muss MBSA dann als Kommandozeilenversion mit den passenden Parametern gestartet werden. Dazu dienst das Programm MBSACLI.EXE. Durch die Option "-nvc" wird MBSACLI angewiesen nicht nach einer neuen Version zu suchen.
- Weitere Hinweise zur Kommandozeile
http://www.Microsoft.com/technet/security/tools/mbsascript.mspx
History Patch
mbsacli.exe -hf -sms -x "MSSecure.cab" -f "HistScan.xml" -unicode -nvc -history 1
In der HostScan.XML finden Sie dann als Dateistruktur die Geschichte ihres PCs im Hinblick auf bereits installierte Patches
PatchScan
mbsacli.exe -hf -sms -x "MSSecure.cab" -f "PtfScan.xml" -unicode -nvc
Hier legt MBSACLI eine Datei PtfScan.xml im Programmverzeichnis ab, in dem für jedes Produkt der aktuelle Patchstand angezeigt wird.
VulnerabilityScan
mbsacli.exe -n Updates -o VScanNew -nvc
Das Ergebnis dieses Scans wird als Liste auf dem Bildschirm ausgegeben. Zusätzlich erstelle MBSACLI in diesem Beispiel eine Datei VSCANNEW.XML im Verzeichnis C:\Dokumente und Einstellungen\%Username%\SecurityScans angelegt.
Angeblich soll MBSA auch Einträge in das Eventlog schreiben können, z.B.
Source Microsoft Baseline Security Analyzer MP ID: 22760 Description SecurityPatch/Servicepack not installed
Das konnte ich selbst aber noch nicht entdecken. Aber von der Erkennung zur Installation der Patches bis zur Installation ist noch ein weiter Weg.
MBSA 1.21 in unternehmen
Mit den ganzen Skripten und Kommandozeilen und der Möglichkeit, dass MBSA auch über das Netzwerk Systeme abscannt oder jeder PC sich selbst bei jedem Start (Gruppenrichtlinie, Taskplaner) überprüft, kann natürlich ganz ohne kostenpflichtige Software eine Systemanalyse durchgeführt werden. Interessanter Weise gibt es dazu sogar von Microsoft direkt entsprechende fertige Skripte
- Beispielscripte zum Download
http://www.Microsoft.com/downloads/details.aspx?FamilyId=42661E18-93C2-4CE2-85D6-3679DEFE1A3E&displaylang=en
Sie müssen damit nur noch alle Systeme mit MBSA abscannen. Das können Sie aus der Ferne über das LAN machen, so Sie ausreichend Rechte und eine entsprechende Verbindung haben und natürlich das System angeschaltet und erreichbar (Firewall ?) ist. Und dann kann es schon losgehen. für ein Netzwerk sind folgende Beispielskripte interessant:
- Batchscan
Damit können Sie eine ganze Liste von Systemen (IP-Adresse oder Name) aus der Ferne abscannen lassen. Die Ergebnisse des Scans landen dann in ihrem Profil unter C:\Dokumente und Einstellungen\%Username%\SecurityScans. - rollup.js
Dieses Script nimmt dann die gesammelten Securityreports und erstellt eine konsolidierte Ansicht. Allein über Aufrufe wird definiert, welche Checks, Security Updates etc. angezeigt werden sollen.
Ein Check auf MSADC startet man mit: cscript.exe /nologo rollup.js -c 415 >GroupIDRollupDemo.xml
Leider kenne ich noch keinen Weg, einfach ALLE Informationen auf einen Schlag auszugeben.
Einen ähnlichen Report können Sie auch für die verschiedenen Security Bulletins erstellen lassen.
Sie können sehr gut sehen, welche Server noch nicht den erforderlichen Patch haben. MBSA ermitteln nur die Patches als fehlend and, die wirklich auch erforderlich sind.
Natürlich sollte ihr Netzwerk sehr viel besser und sicherer sein. Da Sie nun wissen, dass es schon fertige Tools gibt, sollten Sie als erfahrener Administrator mit etwas Skriptkenntnis aussagekräftige Reports erstellen können. Sie werden sicher sowohl die Pfade als auch die Aufrufmethoden anpassen wollen. Interessant wird es, wenn z.B. ein Domain Controller jeden Tag die wichtigen Systeme abprüft und z.B. die PCs sich selbst prüfen und den Report an eine zentrale Stelle ablegen. MBSACLI kann aber nicht über einen UNC-Pfad gestartet werden. Sie müssen dann das Programm auf dem PC installieren.
MBSA 1.21 im LAN
MBSA ist ein geniales Tool, um viele Server im LAN zu analysieren. MBSA wird z.B. auch von SMS und MOM2005 verwendet, um fehlende Patches etc. festzustellen. für den einfachen Einsatz in kleinen und mittleren Netzwerken wären aber einige Zusatzprogramme und Skripte sehr hilfreich. für den Administrator gibt es da erst mal zwei verschiedene Optionen:
- MBSA über LAN
Sie können als Administrator mit ausreichend Berechtigungen auf den Zielsystemen über das LAN mit MBSA mehrere Systeme aus der Ferne überprüfen. Dazu muss auf dem System niemand angemeldet sein. Es reicht aus, wenn das Zielsystem eingeschaltet und am Netzwerk ist und natürlich keine Firewall die Verbindung über den Serverdienst verhindert.
Das größte Problem ist dabei sicher, dass der PC eingeschaltet sein muss. Das ist für Server kein Problem aber taugt wenig zur Überwachung von Arbeitsstationen. - MBSA lokal starten
Daher können Sie MBSA auch auf dem PC selbst starten. Allerdings muss der Aufruf ebenfalls geplant werden. Hierzu könnten Sie mit Gruppenrichtlinien z.B. beim Hochfahren von dem System MBSA starten lassen. Damit wird jeder PC in der Domäne mindestens bei jedem Start geprüft. Allerdings hilft dies nicht, wenn der PC über RAS arbeitet, da dann die Skripte in Gruppenrichtlinien nicht ausgeführt werden oder der PC eben eingeschaltet bleibt oder nur in den Schlaf oder Ruhemodus versetzt wird.
Also wäre der beste Weg, wenn MBSA auf allen Systemen einfach regelmäßig ausgeführt werden würde. Das ist zwar eher die Aufgabe für eine Softwareinventarisierung aber auch der Windows Zeitplandienst kann dazu missbraucht werden. Sie können z.B. MBSA auf alle PCs über eine Gruppenrichtlinie verteilen, die dann auch gleich einen täglichen Job im Taskplaner einstellt. Dieser Job sollte dann einfach ein Skript starten, welches MBSA bei Bedarf aktualisiert, ausführt und am Ende das Ergebnis an eine zentrale Stelle hoch lädt. Das kann wiederum über einen einfachen "COPY", per SMTP mittels Blat, per FTP oder sonst wie erfolgen. Das könnte so aussehen:
REM Installation von MBSA auf dem PC per GPO if exist "c:\Programme\Microsoft Baseline Security Analyzer\mbsacli.exe" goto next1 echo %DATE% %TIME% Installing MBSA on %Computername% START >>c:\mbsa.log start /wait msiexec /i c:\download location\mbsasetup.msi /q echo %DATE% %TIME% Installing MBSA on %Computername% ENDE >>c:\mbsa.log :next1 echo %DATE% %TIME% Kopiere mssecure.cab START >>c:\mbsa.log copy \\servername\quelle\mssecure.cab "c:\Programme\Microsoft Baseline Security Analyzer\" echo %DATE% %TIME% Kopiere mssecure.cab ENDE >>c:\mbsa.log echo %DATE% %TIME% Scanne System START >>c:\mbsa.log start /wait mbsacli /f c:\mbsa-%computername%.xml -nvc REM leider kann man MBSACLI 1.2.1 nur im HF-Mode den Downloadversuch der MSSECURE.CAB abschalten echo %DATE% %TIME% Scanne System ENDE >>c:\mbsa.log echo %DATE% %TIME% upload XML-Ergebnis START >>c:\mbsa.log COPY c:\mbsa-%computername%.xml \\servername\freigabe echo %DATE% %TIME% upload XML-Ergebnis ENDE >>c:\mbsa.log XML-Datei wird auf Server kopiert
Als Administrator haben Sie dann in einem zentralen Verzeichnis die Liste der letzten Scans der Systeme. Natürlich können Sie die MSSECURE.CAB auch von jedem Client aus dem Internet über einen Proxyserver laden und die Diagnosemeldungen in das Eventlog schreiben lassen. Perfekt wird das Verfahren, wenn die Gruppenrichtlinie nicht nur selbst die Analyse startet, sondern bei Bedarf einen geplanten Task einträgt und sich damit immer wieder startet.
Nach einiger Zeit finden sich von jedem frisch gestarteten Client die Ergebnisse an zentraler Stelle ein. Anhand des Dateidatums wissen sie auch, wann der Scan stattgefunden hat. Wenn sich "Veränderungen " erkennen wollen, dann sollten Sie den Namen der Datei ebenfalls mit einem Datum versehen. Über das alter können Sie z.B: einfach erkennen, welche Systeme schon lange keine Prüfung mehr durchgeführt haben.
Dan fehlt nur noch das Programm, welches eben diese Scans konsolidiert und entsprechend grafisch aufbereitet. Leider hatte ich bislang noch nicht die Zeit dazu, daher erst einmal die Ideen:
- MBSA Logkonsolidierung
Gibt es schon ein VBScript, welches diese XML-Dateien einfach einliest und z.B.: in Excel schön tabellarisch aufführt ? - MBSA-Patchfolger
Wenn MBSA schon die fehlenden Patches findet, dann könnte ein Script diese ja gleich downloaden oder von einer internen Quelle installieren. Per WMI könnte das funktionieren.
Auf http://sourceforge.net/projects/mbsafu/ gibt es sogar einen Ansatz, mit MBSA die Patches zu erkennen und zu installieren. Leider habe ich damit noch keine Erfahrungen machen können. Welche Lösungen können Sie rund um MBSA ?
Dieses Verfahren können Sie natürlich noch ausweiten, indem Sie z.B.: mit VBScript die Hardware und Software auslesen. Dazu können Sie auch MSINFO.EXE zweckentfremden. Nur eines kann diese Lösung nicht: Da es keinen Agenten gibt, können Sie einen eingeschalteten PC nicht einfach anstoßen, jetzt etwas zu tun. Durch die eines Agenten oder eine Lösung mit RCMD und anderen Tools wäre dies möglich.
Weitere Links
- MBSA Home
http://www.Microsoft.com/technet/security/tools/mbsahome.mspx - MBSA 2.0 http://www.Microsoft.com/downloads/info.aspx?na=22&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d4b4aba06-b5f9-4dad-be9d-7b51ec2e5ac9%26DisplayLang%3den
- MBSA Scripting Samples
http://www.Microsoft.com/downloads/info.aspx?na=22&p=2&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d3b64ac19-3c9e-480e-b0b3-6b87f2ee9042%26DisplayLang%3den - 320454 Microsoft Baseline Security Analyzer (MBSA) version 1.2.1 is available
- 812920 Support Webcast Microsoft Baseline Security Analyzer Version 1.1
- 843183 Versions of Microsoft Baseline Security Analyzer that are earlier than MBSA version 1.2 are no longer supported
- 823644 Windows 2000-based computer that is running Microsoft Baseline Security Analyzer restarts unexpectedly
- 311047 How to keep your Windows computer up-to-date
- 296861 How to install Multiple Windows Updates or hotfixes with only one reboot
- Microsoft Offline Update
http://www.wintotal.de/Artikel/msofflineupdate/msofflineupdate2.php - Beispielscripte zum Download
http://www.Microsoft.com/downloads/details.aspx?FamilyId=42661E18-93C2-4CE2-85D6-3679DEFE1A3E&displaylang=en - A technical white paper on MBSA
http://www.Microsoft.com/technet/security/tools/mbsawp.mspx - Visio Connector für Microsoft Baseline Security Analyzer
Zeigt die Ergebnisse von MBSA in Netzwerkdiagrammen an.
http://go.Microsoft.com/?linkid=2878550