SrpWatch meldet Verstöße gegen Windows-SRP per E-Mail

Beim Einsatz der Windows Software Restriction Policies bemerkte Verstöße landen in der Windows-Ereignisanzeige. SrpWatch versendet diese Hinweise per E-Mail.

In Pocket speichern vorlesen Druckansicht 23 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Peter Siering
Inhaltsverzeichnis

SrpWatch versendet Ereignisse zu Software Restriction Policies per E-Mail.

SrpWatch ist ein Skript, das regelmäßig Warnungen der Software Restriction Policies (SRP) oder AppLocker aus den Windows-Ereignisprotokollen per E-Mail verschickt. Das Skript enthält eine Bremse, sodass es nicht häufiger als alle fünf Minuten läuft. In dieser Zeit auflaufende Warnungen verschickt es gesammelt in einer Nachricht. Es ergänzt unsere Software zur Konfiguration der SRPs namens Restric'tor.

Das Skript setzt eine moderne .NET-Umgebung und PowerShell voraus. Unter Windows 7 ist dazu die etwas trickreiche Installation von PowerShell 4 und .NET-Framework 4.5 nötig. Windows 8.1 und 10 kommen ohne die Installation zusätzlicher Software-Pakete aus Unter Windows 8.0 haben wir SrpWatch nicht getestet; dort mangelt es unseres Wissens ohnehin an einer Powershell 4.

Die Konfigurationsdatei des PowerShell-Scripts speichert die Zugangsdaten für den Mailversand im Programmverzeichnis (üblicherweise c:\Program Files (x86)\srpwatch) in der Datei: srpwatch_vars.ps1 (vor Version 1.1 geschah das stets im Klartext). In dieser Datei lassen sich auch Optionen setzen, die bei der Installation nicht abgefragt werden: $log=$true lässt SrpWatch eine Protokolldatei seiner Aktivitäten anlegen (c:\ProgramData\srpwatch.log).

Die Konfiguartionsdialoge erlauben es, testweise eine E-Mail zu versenden.

Die Installation richtet die o.g. Verzeichnisse ein, legt darin das Skript und die Konfigurationsdatei sowie einige Hilfsmittel ab. Außerdem erstelltsie eine geplante Aufgabe an, die das Skript bei Eintreten von Ereignissen und außerdem regelmäßig aufruft. Die Deinstallation über die üblichen Windows-Mechanismen entfernen all das wieder.

SrpWatch ist der Abkömmling eines anderen Werkzeugs der Redaktion: EventWatch

Die Funktion, um innerhalb der Installation per Test-Mail probehalber eine Nachricht zu verschicken, sollte mit Vorsicht genossen werden: Signalisiert sie Erfolg, heißt das leider nicht, dass sie wirklich eine E-Mail versendet hat. Viele fehlerhafte Konfigurationsdaten erkennt die Funktion nicht mal, etwa unvollständige Absender oder Empfänger. Prüfen Sie in jedem Fall auch den Posteingang des jeweiligen Kontos.

Über die folgenden E-Mail-Dienste/Provider konnten wir erfolgreich E-Mails versenden. Teilweise ist es dafür allerdings notwendig, den Zugriff auf das E-Mail-Konto per IMAP/POP freizuschalten. Andernfalls misslingt der E-Mail-Versand. Mancher Provider schreibt Absender oder Empfänger um.

Die Variablennamen aus der srpwatch_vars.ps1-Datei entsprechen der Feldreihenfolge im Konfigurationsdialog der Installationsroutine. Die Passwörter und Domain-Namen sind Beispiele.

$from="joe@ihredomain.de"
$to="peter@irgendwo.de"
$smtpserver="smtp.1und1.de"
$smtpuser="benutzer@ihredomain.de"
$smtppass="Geheim!"
$smtpport="25"
$ssl=$true

$from="joe@arcor.de"
$to="peter@irgendwo.de"
$smtpserver="mail.arcor.de"
$smtpuser="joe@arcor.de"
$smtppass="Geheim!"
$smtpport="25"
$ssl=$true

Damit das klappt, muss das Google-Konto für "Bestätigung in zwei Schritten" konfiguriert sein und Sie müssen in den Sicherheitseinstellungen unter "App-Passwörter" für den E-Mail-Zugriff mit dem Konto ein 16 Zeichen langes Passwort generieren lassen. Dieses Passwort geben Sie dann für "$smtppass" an und nicht – wie es früher möglich war – das Passwort Ihres Google-Kontos.

$from="joe@gmail.com"
$to="peter@irgendwo.de"
$smtpserver="smtp.gmail.com"
$smtpuser="joe@googlemail.com"
$smtppass="Geheim!"
$smtpport="587"
$ssl=$true

$from="joe@hotmail.de"
$to="peter@irgendwo.de"
$smtpserver="smtp-mail.outlook.com"
$smtpuser="joe@hotmail.de"
$smtppass="Geheim!"
$smtpport="587"
$ssl=$true

$from="joe@t-online.de"
$to="peter@irgendwo.de"
$smtpserver="securesmtp.t-online.de"
$smtpuser="joe@t-online.de"
$smtppass="Geheim!"
$smtpport="25"
$ssl=$true

$from="joe@web.de"
$to="peter@irgendwo.de"
$smtpserver="smtp.web.de"
$smtpuser="joe@web.de"
$smtppass="Geheim!"
$smtpport="25"
$ssl=$true

Wenn SrpWatch bereits auf einem PC eingerichtet ist, erkennt die Installation das und läuft als Update. Beim Wechsel von 1.01 auf 1.1 wird ein ehemals im Klartext abgelegtes Passwort über die Powershell-eigenen Schutzmöglichkeiten als eine Art Hash verschwurbelt abgelegt (in der Konfigurationsdatei $smtphash). Das Ver- und Entschwurbeln verzögert das Einrichten um einige Sekunden.

SrpWatch-Installationspaket (EXE), Version 1.2, vom 16.8.2023 neue Version, die auch AppLocker-Ereignisse behandelt

SrpWatch-Installationspaket (EXE), Version 1.01, vom 28.4.2017 (behebt Problem mit PowerShell-Profilen des Installers; erkannte u.U. falsche PowerShell-Version)

SrpWatch-Installationspaket (EXE), Version 1.1, vom 14.7.2017 (legt Kennwort nicht mehr im Klartext ab)

SrpWatch-Installationspaket (EXE), Version 1.11, vom 21.7.2017, nicht signiert
(korrigiert Fehler in 1.1: $ssl-Option in Konfigurationsdatei wurde unvollständig initialisiert)

SrpWatch-Installationspaket (EXE), Version 1.11, vom 24.7.2017
(korrigiert Fehler in 1.1: $ssl-Option in Konfigurationsdatei wurde unvollständig initialisiert)

SrpWatch-Installationspaket (EXE), Version 1.12, vom 27.3.2018
(korrigiert Fehler im Skript, der bei Verwendung eines Kennworts zum Mail-Versand auftrat und von der Version 1.1 eingeführt worden ist, die Kennwörter verschlüsselt ablegt) (ps)