Regelformat
Wie eine YAML-Regel aufgebaut ist und wie man eine eigene schreibt.
Regeln sind einfache YAML-Dateien unter rules/. Eine Datei beschreibt eine Kontrolle: was zu prüfen ist und wie sie behoben wird.
Beispiel
yaml
id: "CIS-UBUNTU-5.2.8"
title: "Ensure SSH root login is disabled"
description: "The PermitRootLogin parameter specifies if the root user can log in using ssh."
target: "linux"
os_family: ["ubuntu-22.04", "ubuntu-24.04", "rocky-9"]
level: 1
severity: "high"
tags: ["ssh", "server"]
audit:
type: "file_regex"
file_path: "/etc/ssh/sshd_config"
pattern: '(?m)^\s*PermitRootLogin\s+no\b'
remediation:
type: "command"
command: "sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config"
verify_cmd: "sshd -t"
backup_files: ["/etc/ssh/sshd_config"]Felder
| Feld | Bedeutung |
|---|---|
id | Eindeutige Kennung |
title, description | Was die Kontrolle ist, auf Englisch |
target | Plattform, zum Beispiel linux, windows, postgres, aws |
os_family | Optionale Liste, die die Regel auf Betriebssysteme beschränkt |
level | CIS-Profilstufe, 1 oder 2 |
severity | critical, high, medium oder low |
tags, reference | Suchtags und der Benchmark-Abschnitt, gegen den geprüft wird |
audit | Wie geprüft wird |
remediation | Wie behoben wird |
Prüftypen
| Typ | Was er tut |
|---|---|
command | Führt einen Befehl aus und vergleicht die Ausgabe mit expected_output |
file_regex | Gleicht ein Muster mit einer Datei ab; must_not_match kehrt das um |
config_regex | Gleicht ein Muster mit einer exportierten Gerätekonfiguration ab |
sql_query | Führt eine Datenbankabfrage aus |
registry | Liest einen Wert der Windows-Registrierung |
cloud_check | Ruft über das SDK eine Cloud-API auf |
manual | Lässt sich nicht automatisieren; wird mit Anleitung angezeigt |
Behebungstypen
| Typ | Was er tut |
|---|---|
command | Führt einen Befehl aus; verify_cmd validiert das Ergebnis und backup_files werden zuvor als Snapshot gesichert |
file_line | Ersetzt eine Zeile in einer Datei, die match_regex entspricht, durch replace_line |
sql_exec | Führt eine SQL-Anweisung aus |
iac_patch | Anleitung oder ein Infrastructure-as-Code-Patch; wird nie automatisch angewendet |
Aus CIS Benchmarks abgeleitete Regeln bleiben unter den eigenen Bedingungen von CIS. Fügen Sie keinen aus Benchmark-PDFs kopierten Text hinzu, der über das hinausgeht, was die Regel braucht.
Katalog durchsuchen
Der Regel-Explorer auf dieser Website listet jede Regel auf. tmaegis rules export erzeugt denselben Katalog als JSON.