Im Antrag steht ein Häkchen bei der Mehrfaktoranmeldung für alle Fernzugänge. Im Schadensfall fragt der Versicherer, seit wann das gilt, für wie viele Konten und woher Sie das wissen. Zwischen dem Häkchen und der Antwort auf diese Frage liegt ein Ordner, den die meisten Häuser nicht haben. Wie Sie ihn mit Bordmitteln füllen, zeigt dieser Beitrag.
Das Problem mit dem Häkchen
Ein Versicherungsfragebogen wird meist in einer halben Stunde ausgefüllt, oft von jemandem, der nicht täglich in den Systemen arbeitet. Die Antworten beruhen dann auf dem, was alle für richtig halten: Wir haben eine Mehrfaktoranmeldung. Wir sichern täglich. Wir spielen Updates zeitnah ein.
Diese Sätze sind nicht gelogen. Sie sind ungenau, und Ungenauigkeit ist im Versicherungsrecht teuer. Die Angaben im Antrag sind eine vorvertragliche Anzeige, die vereinbarten Sicherheitsanforderungen sind Obliegenheiten. Wer im Schadensfall nicht belegen kann, dass eine Zusage auch zutraf, riskiert eine Kürzung der Leistung.
Die gute Nachricht ist, dass fast jede Frage aus dem Fragebogen mit Bordmitteln beantwortbar ist. Sie brauchen kein zusätzliches Werkzeug, sondern eine Routine. Der Aufbau folgt dem Risikofragebogen des Gesamtverbands der Deutschen Versicherungswirtschaft, der die typischen Blöcke abbildet.
Das Ziel
Am Ende haben Sie einen Nachweisordner. Für jede Zusage im Fragebogen liegt darin eine Datei mit Datum, erzeugt aus dem System selbst und nicht aus dem Gedächtnis. Bei jeder Verlängerung wiederholen Sie den Vorgang, das dauert dann eine Stunde. Die Befehle gehen von Windows mit Active Directory und Microsoft 365 aus, für Linux stehen die Entsprechungen dabei.
Legen Sie zuerst die Ablage an, am besten außerhalb der Systeme, die im Ernstfall betroffen sind.
$Ordner = "D:\Nachweise\Cyberversicherung\$(Get-Date -Format yyyy-MM)"
New-Item -ItemType Directory -Path $Ordner -Force
Nachweis 1: Individuelle Zugänge und getrennte Administratorrechte
Der Fragebogen fragt, ob jeder Mitarbeiter ein eigenes Konto hat und ob administrative Rechte getrennt vergeben werden. Belegen lässt sich das mit zwei Listen. Die erste zeigt alle aktiven Benutzerkonten, die zweite die Mitglieder der privilegierten Gruppen.
Get-ADUser -Filter {Enabled -eq $true} -Properties LastLogonDate, Description |
Select-Object SamAccountName, Name, LastLogonDate, Description |
Export-Csv "$Ordner\01_aktive_konten.csv" -NoTypeInformation -Encoding UTF8
foreach ($g in "Domänen-Admins","Organisations-Admins","Administratoren") {
Get-ADGroupMember -Identity $g -ErrorAction SilentlyContinue |
Select-Object @{n='Gruppe';e={$g}}, SamAccountName, objectClass
} | Export-Csv "$Ordner\02_privilegierte_konten.csv" -NoTypeInformation -Encoding UTF8
Sehen Sie sich die zweite Liste genau an. Enthält sie Konten, die auch für das tägliche Arbeiten verwendet werden, ist die Frage nach getrennten Administratorrechten mit Nein zu beantworten. Das ist unangenehm, aber deutlich billiger als ein falsches Ja.
Nachweis 2: Abdeckung der Mehrfaktoranmeldung
Hier liegt der häufigste Streitpunkt. Entscheidend ist nicht, ob eine Mehrfaktoranmeldung eingerichtet ist, sondern für wie viele Konten sie tatsächlich greift. In Microsoft 365 liefert der Registrierungsbericht diese Zahl.
Connect-MgGraph -Scopes "AuditLog.Read.All","UserAuthenticationMethod.Read.All"
$reg = Get-MgReportAuthenticationMethodUserRegistrationDetail -All
$reg | Group-Object IsMfaRegistered | Select-Object Name, Count
$reg | Where-Object { -not $_.IsMfaRegistered } |
Select-Object UserPrincipalName, IsAdmin |
Export-Csv "$Ordner\03_ohne_mfa.csv" -NoTypeInformation -Encoding UTF8
Die dritte Datei ist die wichtigste des ganzen Ordners. Jedes Konto darin ist eine mögliche Lücke zwischen Ihrer Antwort und der Wirklichkeit. Prüfen Sie besonders Dienstkonten, Geschäftsführung und externe Zugänge. Dokumentieren Sie jede bewusste Ausnahme mit Begründung und Ablaufdatum, statt sie zu verschweigen.
Nachweis 3: Patchstand
Der Fragebogen fragt nach zeitnahen Sicherheitsupdates. Belegbar ist das mit dem Datum des letzten eingespielten Updates je System. Ohne eine zentrale Verwaltung genügt eine Schleife über die Server.
$server = (Get-ADComputer -Filter {OperatingSystem -like "*Server*"}).Name
$server | ForEach-Object {
$letztes = Get-HotFix -ComputerName $_ -ErrorAction SilentlyContinue |
Sort-Object InstalledOn | Select-Object -Last 1
[pscustomobject]@{ Server = $_; LetztesUpdate = $letztes.InstalledOn; HotFixID = $letztes.HotFixID }
} | Export-Csv "$Ordner\04_patchstand.csv" -NoTypeInformation -Encoding UTF8
Unter Linux zeigen die folgenden Befehle offene Sicherheitsaktualisierungen, je nach Distribution.
apt list --upgradable 2>/dev/null | grep -i security
dnf updateinfo list security
Ergänzen Sie den Nachweis um eine kurze Regel, innerhalb welcher Frist kritische Updates eingespielt werden. Ohne diese Regel ist zeitnah ein Wort ohne Inhalt.
Nachweis 4: Datensicherung mit Trennung und Test
Der Fragebogen fragt nach regelmäßiger Sicherung, physischer oder logischer Trennung vom Netz, Schutz vor Manipulation und regelmäßigen Tests. Die ersten drei Punkte belegen Sie mit der Konfiguration und einem Protokoll der letzten Sicherungen. Der vierte Punkt ist der, an dem die meisten Häuser scheitern, denn ein Test ohne Protokoll hat nicht stattgefunden.
Ein einfacher Nachweis genügt. Stellen Sie eine Datei aus der Sicherung wieder her und vergleichen Sie die Prüfsumme mit dem Original.
$quelle = "\\fileserver\daten\abrechnung\lohnlauf.xlsx"
$restore = "D:\Restoretest\lohnlauf.xlsx"
$start = Get-Date
# hier stellen Sie die Datei mit Ihrer Sicherungssoftware wieder her
$ende = Get-Date
[pscustomobject]@{
Datei = $quelle
Start = $start
Ende = $ende
Dauer = ($ende - $start).ToString()
HashOrig = (Get-FileHash $quelle).Hash
HashRestore= (Get-FileHash $restore).Hash
Identisch = (Get-FileHash $quelle).Hash -eq (Get-FileHash $restore).Hash
} | Export-Csv "$Ordner\05_restoretest.csv" -NoTypeInformation -Encoding UTF8
Wiederholen Sie das mindestens halbjährlich und einmal im Jahr mit einem vollständigen System statt einer einzelnen Datei. Die gestoppte Dauer brauchen Sie ohnehin für Ihre Notfallplanung.
Nachweis 5: Schutz vor Schadsoftware
Hier genügt der Zustand auf den Systemen, also ob der Schutz läuft, wie alt die Signaturen sind und ob der Echtzeitschutz aktiv ist.
$alle = (Get-ADComputer -Filter {Enabled -eq $true}).Name
Invoke-Command -ComputerName $alle -ErrorAction SilentlyContinue -ScriptBlock {
Get-MpComputerStatus | Select-Object AMRunningMode, RealTimeProtectionEnabled,
AntivirusSignatureLastUpdated, AntivirusSignatureVersion
} | Export-Csv "$Ordner\06_schadsoftwareschutz.csv" -NoTypeInformation -Encoding UTF8
Setzen Sie ein anderes Produkt ein, liefert dessen Verwaltungskonsole denselben Nachweis als Bericht. Wichtig ist die Abdeckung. Ein Bericht über 80 von 100 Geräten belegt nicht, dass alle geschützt sind, sondern dass 20 fehlen.
Nachweis 6: Fernzugriff und offene Dienste
Viele Fragebögen fragen, ob Fernzugriffe verschlüsselt erfolgen und ob Dienste aus dem Internet erreichbar sind. Prüfen Sie das von außen, etwa aus einem Mobilfunknetz, und nicht aus dem eigenen Netz.
Test-NetConnection -ComputerName ihre-oeffentliche-adresse -Port 3389
Test-NetConnection -ComputerName ihre-oeffentliche-adresse -Port 445
Antwortet einer dieser Ports, haben Sie ein Ergebnis, das keine Diskussion mehr braucht. Halten Sie das Prüfdatum und das Ergebnis im Ordner fest, auch wenn alles geschlossen ist.
Nachweis 7: Systeme ohne Herstellerunterstützung
Veraltete Betriebssysteme sind in vielen Policen ein eigener Punkt und manchmal ein Ausschluss. Eine Übersicht erzeugen Sie in Sekunden.
Get-ADComputer -Filter {Enabled -eq $true} -Properties OperatingSystem, OperatingSystemVersion, LastLogonDate |
Group-Object OperatingSystem | Sort-Object Count -Descending |
Select-Object Name, Count | Export-Csv "$Ordner\07_betriebssysteme.csv" -NoTypeInformation -Encoding UTF8
Stehen dort Systeme ohne Herstellerunterstützung, gehören sie in den Antrag, und zwar mit der Schutzmaßnahme, die Sie stattdessen getroffen haben, etwa Netztrennung. Verschweigen ist die schlechteste aller Möglichkeiten.
Ergebnis und Kontrolle
Woran erkennen Sie, dass Ihr Nachweisordner trägt? An drei Prüfungen.
Zu jeder Frage im Fragebogen, die Sie mit Ja beantwortet haben, gibt es eine Datei mit Datum. Fehlt eine, ändern Sie entweder die Antwort oder erzeugen den Nachweis.
Die Stichprobe besteht. Lassen Sie sich von jemandem drei beliebige Antworten nennen und legen Sie die zugehörigen Nachweise in fünf Minuten vor.
Und die Zahlen passen zusammen: Die Zahl der aktiven Konten, die Zahl der Konten mit Mehrfaktoranmeldung und die Zahl der Geräte mit Schadsoftwareschutz stammen aus demselben Monat und beziehen sich auf denselben Bestand.
Tragen Sie das Ergebnis anschließend in den Versicherungs-Reifegradcheck dieser Ausgabe ein. Dort steht zu jeder Anforderung, welche Nachweisform vorliegt und von welchem Datum sie stammt. Nachweise, die älter als zwölf Monate sind, kennzeichnet der Check automatisch als veraltet. Damit haben Sie Ihren Nachweisordner und dessen Bewertung an einer Stelle.
Weiterlesen
Warum der Fragebogen des Versicherers in vielen Häusern mehr bewegt als jeder Sicherheitsbericht, begründet in dieser Ausgabe der Beitrag:
Wie Sie die Mehrfaktoranmeldung und den bedingten Zugriff in Microsoft 365 einrichten, zeigt der Artikel in Ausgabe 19:
Wie Sie Protokolle so aufbewahren, dass sie im Ernstfall noch da sind, beschreibt der Beitrag aus Ausgabe 22: