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

SrpWatch: Verstöße gegen Software Restriction Policies per E-Mail

Praxis & Tipps | Projekt

Beim Einsatz der Windows Software Restriction Policies bemerkte Verstöße landen in der Windows-Ereignisanzeige. Unser Werkzeug SrpWatch schickt diese Hinweise per E-Mail an den Rechnerbetreuer.

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

SrpWatch ist ein Skript, das Warnungen der Software Restriction Policies (SRP) unter Windows aus den Ereignisprotokollen per E-Mail verschickt. Das Skript enthält eine Bremse, sodass es nicht häufiger als 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 Restrictor.

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 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 legt sie 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.

Ü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

$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.12, vom 28.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)

SrpWatch-Installationspaket (EXE), Version 1.0, vom 18.4.2017

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)

Kommentare