Zum Inhalt springen

Sicherheitsbewertung

Die Sicherheitsbewertung ist eine optionale Note von A bis F (und ein Score von 0 bis 100), die neben den Monitoren angezeigt wird, bei denen einige Prüfungen etwas Nützliches aussagen: Linux- und Windows-Hosts mit dem Agent, Proxmox VE und Proxmox Backup Server, Synology, OPNsense, Websites und Active Directory. Andere Monitore zeigen nichts an.

Die Bewertung ist standardmäßig ausgeschaltet. Ein Administrator schaltet sie unter Einstellungen → Konto und Sicherheit → Sicherheitsbewertung ein. Danach gilt:

  • jeder bewertete Monitor erhält in der Monitorliste ein kleines Schild-Abzeichen mit seinem Buchstaben und auf seiner Seite ein Security-Abzeichen mit dem Score;
  • ein Klick auf das Abzeichen öffnet den Bericht des Monitors: was fehlschlägt, mit Nachweis und Abhilfe, was besteht, die Schritte zur Verbesserung des Scores für diese Monitorart und ein Link zum passenden Abschnitt unten.

Beim Ausschalten verschwinden die Abzeichen, die periodische Berechnung stoppt, und die Serien dumbmonit_security_score werden nicht mehr geschrieben.

DumbMonit fragt den Monitor für die Berechnung nie etwas Zusätzliches ab. Die Prüfungen lesen die letzten Werte, die die Collectors bereits aufgezeichnet haben (Rückblick 6 Stunden), ein Score kostet den Monitor also nichts.

Jede Prüfung hat eine Kategorie (Exposition, Patching, Authentifizierung, Verschlüsselung, Backup, Konfiguration), einen Schweregrad, der ihr Gewicht ist (critical 10, high 6, medium 3, low 1), ein Ergebnis (bestanden, fehlgeschlagen oder unbekannt, wenn die Daten nicht erfasst werden), den Nachweis, die Abhilfe und einen Link zur Herstellerseite, auf der sie beruht.

Score = 100 × (Gewicht der bestandenen Prüfungen) ÷ (Gewicht der bestandenen + fehlgeschlagenen Prüfungen). Unbekannte Prüfungen werden angezeigt, aber nie mitgezählt: Ein Score darf nicht sinken, weil einem Überwachungskonto ein Recht fehlt, und nicht steigen, weil nichts bekannt ist. Ein Monitor, dessen Prüfungen alle unbekannt sind, ist nicht bewertet.

NoteScoreWort
A90–100Stark
B75–89Gut
C60–74Ausreichend
D40–59Schwach
F0–39Mangelhaft

Eine fehlgeschlagene kritische Prüfung begrenzt die Note auf C, egal wie hoch der Score ist.

Solange die Bewertung eingeschaltet ist, berechnet der Server sie alle 15 Minuten neu und speichert sie als dumbmonit_security_score{target="<id>"} (und die Anzahl fehlgeschlagener Prüfungen als dumbmonit_security_checks_failed). Zwei eingebaute Regeln nutzen sie: Security score dropped (10 Punkte oder mehr unter dem besten Wert der letzten 24 Stunden) und Security score low (unter 40). Siehe Alarmregeln.

Maschinen mit dem Agent. Die SSH- und Firewall-Prüfungen brauchen einen Agent desselben Releases wie der Server; mit einem älteren Agent sind sie unbekannt.

PrüfungSchweregradDaten
Security updates installedhighausstehende Sicherheitsupdates (wo der Paketmanager sie unterscheidet)
No pending updateslowausstehende Updates
No reboot pendingmediumNeustart erforderlich
SSH root login with a password refusedhighPermitRootLogin aus sshd -T (prohibit-password besteht)
SSH accepts keys onlymediumPasswordAuthentication und KbdInteractiveAuthentication mit UsePAM
Host firewall filters inbound traffichigheine nftables- oder iptables-Input-Kette, die verwirft oder ablehnt
SELinux enforcingmediumSELinux-Modus (unbekannt, wo SELinux fehlt)
Container images up to datemediumneueres Image in der Registry (nur mit Containern)
No container image older than 180 dayslowAlter des Images (nur mit Containern)

So verbessern Sie sie:

  1. Installieren Sie ausstehende Sicherheitsupdates und schalten Sie dann automatische Sicherheitsupdates ein: unattended-upgrades unter Debian und Ubuntu, dnf-automatic unter Fedora und RHEL.
  2. Starten Sie nach Kernel- oder Bibliotheksupdates neu.
  3. Prüfen Sie, dass Ihr SSH-Schlüssel funktioniert, setzen Sie dann PermitRootLogin no, PasswordAuthentication no und KbdInteractiveAuthentication no in /etc/ssh/sshd_config und laden Sie sshd neu.
  4. Schalten Sie eine Host-Firewall ein, die unaufgeforderten eingehenden Verkehr verwirft: ufw enable unter Ubuntu, firewalld unter Fedora und RHEL, anderswo ein nftables-Regelwerk.
  5. Lassen Sie SELinux auf enforcing, wo die Distribution es mitliefert; holen Sie regelmäßig neuere Container-Images.

Quellen: CIS Controls, sshd_config(5), Red Hat — Using SELinux.

Maschinen mit dem Windows-Agent, aus demselben Release wie der Server (aus der Registry gelesen; ein älterer Agent meldet keine dieser Prüfungen).

PrüfungSchweregradDaten
Windows Firewall on for every profilehighDomänen-, privates und öffentliches Profil (Gruppenrichtlinie zuerst)
No reboot pendingmediumWindows Update oder Komponentenwartung wartet auf einen Neustart
Remote Desktop requires Network Level Authenticationhighbesteht, wenn Remotedesktop aus ist
SMBv1 disabledhighEinstellung des SMBv1-Servers

So verbessern Sie sie:

  1. Installieren Sie Windows-Updates (Einstellungen → Windows Update) und starten Sie neu, wenn dazu aufgefordert wird.
  2. Lassen Sie die Windows Defender Firewall für das Domänen-, das private und das öffentliche Profil eingeschaltet.
  3. Wenn Remotedesktop eingeschaltet ist, verlangen Sie die Authentifizierung auf Netzwerkebene (NLA) und erreichen Sie ihn über ein VPN, nie direkt aus dem Internet.
  4. Entfernen Sie SMBv1: Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol.

Quellen: Windows Firewall, SMBv1.

PrüfungSchweregradDaten
Security updates installedhighausstehende Sicherheitsupdates je Node (braucht Sys.Modify am Token, sonst unbekannt)
Proxmox VE packages up to datemediumaktualisierbare Proxmox-Pakete je Node
Running the installed kernelmediumneuerer Kernel installiert als der laufende
No test repository in usemediumaktivierte Standard-Repositories
Package repositories correctly configuredmediumFehler und Warnungen, die Proxmox VE zu den Repositories meldet
Enterprise repository subscriptionlowSubscription-Status je Node
Web interface certificate valid for 14+ daysmediumAblauf des Node-Zertifikats
Every guest is in a backup jobhighGäste, die von keinem Backup-Job erfasst werden
Backup jobs succeedhighletztes Ergebnis jedes Backup-Jobs

So verbessern Sie sie:

  1. Nutzen Sie ein Repository, auf das Sie Anspruch haben: Enterprise mit einer Subscription, sonst pve-no-subscription; nie pvetest auf einem Node, der wichtig ist.
  2. Installieren Sie Updates im Bereich Updates des Nodes und starten Sie dann in den neuen Kernel neu.
  3. Nehmen Sie jede VM und jeden Container in einen Backup-Job auf, am besten auf einen Proxmox Backup Server, und beheben Sie jeden fehlschlagenden Job.
  4. Ersetzen Sie das selbstsignierte Webzertifikat durch ein ACME-Zertifikat.

Quellen: System Software Updates, Package Repositories, Backup and Restore.

PrüfungSchweregradDaten
System updates installedhighausstehende Updates (braucht Sys.Modify auf /system)
Running the installed Backup Server versionmediumDaemons, die noch die Version vor dem Upgrade ausführen
Verify job scheduledhighAnzahl der Verify-Jobs
Prune job scheduledmediumAnzahl der Prune-Jobs
Backups copied elsewhere (sync or tape)mediumSync- und Band-Backup-Jobs (3-2-1-Regel)
Garbage collection clean, no bad chunkshighletztes GC-Ergebnis und defekte Chunks je Datastore
Certificate valid for 14+ daysmediumAblauf des Zertifikats

So verbessern Sie sie:

  1. Installieren Sie Updates und starten Sie neu, wenn sich der Kernel oder proxmox-backup geändert hat.
  2. Planen Sie auf jedem Datastore einen Verify-Job und einen Prune-Job.
  3. Halten Sie eine Kopie andernorts: einen Sync-Job auf einen zweiten Backup Server oder Band.
  4. Verwenden Sie für die Weboberfläche ein ACME-Zertifikat.

Quellen: Maintenance tasks, Remotes and sync.

PrüfungSchweregradDaten
DSM 7 or laterhighDSM-Version
DSM up to datehighein DSM-Update ist verfügbar (nur Administratorkonto)
Built-in admin account disabledmediumZustand des Kontos admin (nur Administratorkonto)
Auto Block enabledmediumAuto-Block-Einstellung (nur Administratorkonto)
DSM firewall enabledmediumFirewall-Einstellung (nur Administratorkonto)
Hyper Backup task configuredmediumAnzahl der Hyper-Backup-Aufgaben
Hyper Backup tasks succeedhighletztes Ergebnis jeder Aufgabe

Die vier Einstellungen werden einmal pro Stunde gelesen und nur, wenn sich DumbMonit mit einem Administratorkonto anmeldet; mit einem normalen Konto bleiben sie unbekannt und zählen nicht. Die Zwei-Faktor-Bestätigung und die HTTPS-Weiterleitung werden nicht gelesen.

So verbessern Sie sie:

  1. Betreiben Sie das neueste DSM-7-Release für Ihr Modell und lassen Sie DSM wichtige Updates automatisch installieren (Systemsteuerung → Update und Wiederherstellung).
  2. Deaktivieren Sie das eingebaute Konto admin; melden Sie sich mit einem persönlichen Administrator an, der durch die Zwei-Faktor-Bestätigung geschützt ist.
  3. Schalten Sie Auto Block und die Firewall ein (Systemsteuerung → Sicherheit) und leiten Sie keine DSM-Ports ins Internet weiter: Nutzen Sie ein VPN.
  4. Sichern Sie mit Hyper Backup auf ein anderes Gerät oder ein Cloud-Ziel und beheben Sie jede fehlschlagende Aufgabe: RAID und Snapshots sind keine Backups.

Quellen: Product support status, How to add extra security to your Synology NAS.

PrüfungSchweregradDaten
Firmware updates installedhighausstehende Paketupdates (unbekannt, bis OPNsense nach Updates gesucht hat)
On the current major release seriesmediumneue Major-Serie verfügbar
No reboot pending after an updatemediumNeustart erforderlich
Packet filter enabledcriticalStatus von pf

So verbessern Sie sie:

  1. Suchen Sie unter System → Firmware → Status nach Updates, installieren Sie sie und starten Sie neu, wenn dazu aufgefordert wird.
  2. Wechseln Sie auf das neue Major-Release, sobald es erscheint.
  3. Lassen Sie den Paketfilter eingeschaltet.
  4. Erlauben Sie die Weboberfläche und SSH nur aus dem LAN oder über ein VPN, nie aus dem WAN.

Quellen: OPNsense updates, OPNsense firewall.

Für HTTP(S)- und TLS-Monitore, die TLS aushandeln, und für Website health & SEO-Monitore. Ein reiner HTTP-Monitor hat keinen Score.

PrüfungSchweregradDaten
Certificate valid for 14+ dayshighTage bis zum Ablauf (HTTP(S)- und TLS-Monitore)
Certificate chain trustedhighPrüfung der Kette (HTTP(S)- und TLS-Monitore)
TLS 1.3 negotiatedlowausgehandelte Protokollversion (HTTP(S)- und TLS-Monitore)
Served over HTTPShighendgültige Adresse nach Weiterleitungen (Website health)
Strict-Transport-Security headermediumHeader mit einem max-age über 0
X-Content-Type-Options: nosnifflowWert des Headers
Protected against clickjackinglowX-Frame-Options oder CSP frame-ancestors
Content-Security-Policy headerloweine erzwungene Richtlinie (Report-only zählt nicht)

Header werden nur bei HTTPS-Antworten gelesen.

So verbessern Sie sie:

  1. Liefern Sie die Website ausschließlich über HTTPS aus und leiten Sie reines HTTP auf HTTPS um.
  2. Automatisieren Sie die Zertifikatserneuerung (ACME, z. B. Let’s Encrypt) und liefern Sie die vollständige Kette aus.
  3. Fügen Sie Sicherheits-Header im Webserver oder Reverse Proxy hinzu: Strict-Transport-Security, X-Content-Type-Options: nosniff und eine Content-Security-Policy mit frame-ancestors.
  4. Gleichen Sie mit dem Mozilla HTTP Observatory ab, das weit mehr testet als dieser Score.

Quellen: Mozilla Server Side TLS, MDN — HTTP headers.

Bewertet aus den PingCastle-artigen Befunden des Active-Directory-Collectors: Kerberoastable-Konten, Konten ohne Kerberos-Vorauthentifizierung, uneingeschränkte Delegierung, Alter des krbtgt-Passworts, Größe privilegierter Gruppen, LAPS-Abdeckung, Kennwortrichtlinie, verwaiste Konten. Jeder Befund ist eine Prüfung, die besteht, wenn sie null Objekte betrifft.

So verbessern Sie sie:

  1. Beheben Sie zuerst kritische und hohe Befunde: Sie sind die üblichen Wege zu den Domain Admins.
  2. Wenn das krbtgt-Passwort alt ist, setzen Sie es zweimal im Abstand von einigen Stunden zurück und entfernen Sie die uneingeschränkte Delegierung von Computern, die keine Domänencontroller sind.
  3. Stellen Sie Dienste, die unter Benutzerkonten mit SPNs laufen, auf gruppen- verwaltete Dienstkonten (gMSA) um.
  4. Führen Sie PingCastle für eine vollständige Bewertung aus.

Quellen: PingCastle health check rules, Windows LAPS.

  • Der Score spiegelt nur wider, was DumbMonit sehen kann; viele Best Practices werden nicht geprüft, weil kein Collector die Daten liest: Proxmox-Firewall und Zwei-Faktor-Authentifizierung, im WAN erreichbare OPNsense-Weboberfläche, Docker-Container, die privilegiert oder mit eingehängtem Docker-Socket laufen, weiterhin angebotenes TLS 1.0/1.1 (die Sonde handelt nur TLS 1.2 und 1.3 aus) und vieles mehr.
  • Eine Prüfung ist nur so aktuell wie ihre Daten: Manche Collectors lesen Updates nur alle paar Stunden neu.
  • Die Gewichte sind eine Produktentscheidung, für jede Installation gleich.
  • Nur die oben genannten Arten werden bewertet. Andere (Switches, Drucker, UniFi, pfSense …) zeigen absichtlich kein Abzeichen: Ein paar Prüfungen ergäben eine Note, die nichts aussagt.