Quelltext des aktuellen Standes
# Compliance- & Audit-Nachweise
> Control-Mapping für **ISO/IEC 27001:2022**, **BSI IT-Grundschutz**, **DSGVO** und die
> **Wirtschaftsprüfung (GoBD)** – welche Anforderung deckt OpenNIT mit welcher Funktion ab
> und wo liegt der Nachweis.
---
## Wichtige Einordnung
**Ein Tool wird nicht ISO-27001-zertifiziert.** Zertifiziert wird das **ISMS** (das Managementsystem
der Organisation). OpenNIT ist in einem Audit eine **Anwendung im Geltungsbereich** und liefert
**technische Nachweise (Evidence)** für einzelne Controls. Das „ISO 27001 Ready" im README bedeutet
*unterstützt die Erfüllung* – nicht *ist zertifiziert*.
Für die jährliche **Wirtschaftsprüfung** ist vor allem die **Unveränderbarkeit und Nachvollziehbarkeit**
(GoBD) der protokollierten Vorgänge relevant – diese ist über den Hash-Chain-Audit-Log technisch gegeben.
---
## Bericht im Backend erzeugen
Unter **Admin → Audit-Bericht** (`/admin/compliance`) lässt sich jederzeit ein **PDF-Nachweisdokument**
erzeugen – mit Live-Kennzahlen (Audit-Ereignisse, Hash-Ketten-Status, MFA-Quote, Aufbewahrung,
Sicherheitskonfiguration sowie der Status der optionalen Schutzfunktionen: Passwort-Richtlinie,
Account-Lockout, MFA-Erzwingung, Integritätsprüfung, SIEM-Weiterleitung, Aufbewahrungs-Purge)
und der unten stehenden Control-Matrix. Drei Profile:
| Profil | Inhalt |
|---|---|
| **Vollständig** | ISO 27001, BSI, DSGVO **und** Wirtschaftsprüfung/GoBD |
| **ISO 27001 / BSI** | Fokus auf das ISMS-Audit |
| **Wirtschaftsprüfung & GoBD** | Fokus auf Unveränderbarkeit, Nachvollziehbarkeit, Aufbewahrung |
---
## Control-Matrix (Anforderung → Funktion → Nachweis)
### 1. Zugriffskontrolle & Authentifizierung
| Norm / Anforderung | Thema | Abdeckung in OpenNIT | Nachweis / Ort |
|---|---|---|---|
| ISO A.5.15 / A.5.18 · BSI ORP.4 · DSGVO Art. 32 | Rollenbasierte Zugriffskontrolle | RBAC mit Capabilities; Rollen & Berechtigungsmatrix | `/admin/roles`, `/admin/permissions` |
| ISO A.8.5 · BSI ORP.4.A · DSGVO Art. 32 | Sichere Authentifizierung / MFA | TOTP + WebAuthn/FIDO2, SSO (Entra/Keycloak/LDAP), Argon2id | Benutzerprofil, `/admin/settings/m365` |
| ISO A.8.2 · GoBD (Funktionstrennung) | Privilegierte Zugriffe / Funktionstrennung | Eigene Admin-Capabilities, getrennte Rollen, MFA für Admins | `/admin/permissions`, `/admin/users` |
| ISO A.5.16 / A.5.17 | Identitäts- & Zugangsdatenverwaltung | Benutzer anlegen/deaktivieren, MFA-Reset, Verzeichnis-Sync | `/admin/users`, `/admin/directory` |
| ISO A.5.17 · BSI ORP.4.A | Passwort-Richtlinie (optional) | Mindestlänge + Zeichentyp-Anforderungen für lokale Passwörter, im Backend pflegbar | `/admin/settings/security` (Anmeldesicherheit) |
| ISO A.8.5 · BSI ORP.4.A | Brute-Force-Schutz / Account-Lockout (optional) | Rate-Limiting + temporäre Kontosperre nach Fehl-Logins | `/admin/settings/security` (Anmeldesicherheit) |
| ISO A.8.5 · DSGVO Art. 32 | MFA-Erzwingung (optional) | Pflicht zu TOTP/WebAuthn für Admins oder alle lokalen Konten (erzwungenes Enrollment) | `/admin/settings/security` (MFA-Erzwingung) |
### 2. Protokollierung & Nachvollziehbarkeit
| Norm / Anforderung | Thema | Abdeckung in OpenNIT | Nachweis / Ort |
|---|---|---|---|
| ISO A.8.15 · BSI OPS.1.1.5 · DSGVO Art. 5/30 · GoBD | Unveränderliches Audit-Log | Hash-Chain (SHA-256) + DB-Trigger gegen UPDATE/DELETE | `/admin/audit`, Migration 001 (Trigger) |
| GoBD (Unveränderbarkeit & Nachvollziehbarkeit) · HGB §239 | Wer/Was/Wann + Alt-/Neu-Wert | Vollständige Erfassung inkl. `old_value`/`new_value` je Änderung | `/admin/audit` (Detailansicht) |
| ISO A.8.15.2 · GoBD (Maschinelle Auswertbarkeit) | Manipulationserkennung & Export | Hash-Ketten-Verifikation; CSV-/PDF-Export, Monatsreports | `/admin/audit` → Integrität prüfen, `/admin/audit/reports` |
| ISO A.8.16 · BSI OPS.1.1.5 | Überwachung & Auswertung | Risikostufe je Ereignis, Filter, Backend-Log-Viewer | `/admin/audit`, `/admin/logs` |
| ISO A.8.15 / A.8.16 · DSGVO Art. 32 | Periodische Integritätsprüfung (optional) | Täglicher Task verifiziert die Hash-Kette und alarmiert bei Bruch (In-App + kritisches Audit-Ereignis) | `/admin/settings/security` (Integritätsprüfung) |
| ISO A.8.16 · BSI OPS.1.1.5 · NIS2 (Detection) | SIEM-/Log-Weiterleitung (optional) | Export sicherheitsrelevanter Audit-Events an ein zentrales SIEM (HTTPS-Webhook und/oder Syslog), ab wählbarer Risikostufe | `/admin/settings/security` (SIEM-Weiterleitung) |
| ISO A.8.10 · DSGVO Art. 5(1e) · GoBD | Aufbewahrungs-Purge (optional, revisionssicher) | Automatisches Löschen alter Audit-Einträge nach Fristablauf; Hash-Kette der behaltenen Einträge bleibt über einen Anker prüfbar | `/admin/settings/security` (Aufbewahrung) |
### 3. Kryptographie & Datenschutz
| Norm / Anforderung | Thema | Abdeckung in OpenNIT | Nachweis / Ort |
|---|---|---|---|
| ISO A.8.24 · BSI CON.1 · DSGVO Art. 32 | Verschlüsselung | AES-256-GCM (Vault/sensible Felder), TLS, PBKDF2 | `config/security.php`, `/vault` |
| ISO A.5.34 · DSGVO Art. 5/25/32 | Schutz personenbezogener Daten | Lokale Schriften, KI-Anonymisierung, Maskierung sensibler Felder im Log | `/admin/settings/ai-chat`, `docs/OPEN_SOURCE_LICENSES.md` |
| DSGVO Art. 32 (1) b | Vertraulichkeit der Verarbeitung | HTTPS/HSTS, CSP, sichere Session-Cookies, Rate-Limiting | `config/security.php`, `/admin/settings` |
### 4. Betrieb: Backup, Schwachstellen & Änderungen
| Norm / Anforderung | Thema | Abdeckung in OpenNIT | Nachweis / Ort |
|---|---|---|---|
| ISO A.8.13 · BSI CON.3 · GoBD (Verfügbarkeit) | Datensicherung | Backup-Modul überwacht Veeam/PBS. OpenNIT sichert sich zusätzlich selbst (DB, Speicherverzeichnis, Konfiguration), prüft jedes Archiv, überträgt es auf Wunsch in einen Objektspeicher mit Aufbewahrungssperre und spielt es dort auch wieder ein. | `/admin/selfbackup`; `/admin/backup/servers`; Backup-Konzept (extern) |
| ISO A.8.8 · BSI OPS.1.1.3 | Schwachstellen-Management | CVE-Tracker, Update-Manager, Abhängigkeits-Updates | `/cve`, `/admin/update` |
| ISO A.8.8 · NIS2 (Supply-Chain) | Abhängigkeits-Audit (Lieferkette) | `composer audit` + Abhängigkeitsliste (SBOM) automatisch in der CI-Pipeline | `.github/workflows/security.yml`, `composer audit-deps` |
| ISO A.8.9 / A.8.32 · BSI OPS.1.1.4 | Konfigurations- & Änderungsmanagement | ConfigLog, Seiten-/Datei-Versionierung, Audit der Änderungen | `/configlog`, `/admin/audit` |
| ISO A.8.19 | Härtung & Konfiguration | Produktions-Härtung dokumentiert & teils im Backend pflegbar | `docs/SECURITY.md`, `docs/SECURITY-HARDENING.md`, `/admin/settings` |
### 5. Lieferanten & Drittdienste
| Norm / Anforderung | Thema | Abdeckung in OpenNIT | Nachweis / Ort |
|---|---|---|---|
| ISO A.5.19–5.23 · DSGVO Art. 28 (AVV) | Drittanbieter & Auftragsverarbeitung | Open-Source-Komponenten & externe Dienste (KI-Anbieter, MS Graph) dokumentiert | Open-Source-Lizenz-Modal, `NOTICE.md`, `docs/OPEN_SOURCE_LICENSES.md` |
### 6. Aufbewahrung & Wirtschaftsprüfung (GoBD)
| Norm / Anforderung | Thema | Abdeckung in OpenNIT | Nachweis / Ort |
|---|---|---|---|
| GoBD · HGB §257 · AO §147 · ISO A.8.15 | Aufbewahrungsfristen | Audit-Aufbewahrungs-Policy (Standard 10 Jahre), unveränderliche Einträge; optionaler automatischer Purge nach Fristablauf (mit Hash-Ketten-Anker) | `/admin/settings/security` (Aufbewahrung) |
| GoBD (Nachvollziehbarkeit/Prüfbarkeit) | Belegnahe Nachweise | Dateianhänge & Belege (Verträge, Bestellungen, Budget) mit Audit-Spur | `/contracts`, `/orders`, `/budget` |
| GoBD (Maschinelle Auswertbarkeit) | Datenexport für Prüfer | CSV-/PDF-Export von Audit-Log und Modulen | `/admin/audit`, Modul-Exporte |
---
## Was die Organisation zusätzlich beibringen muss
OpenNIT liefert die Technik – das **Management-System** liefern Sie:
- **Scope & Statement of Applicability (SoA)**, OpenNIT als Asset erfasst
- **Risikoanalyse + Risikobehandlungsplan**
- **Richtlinien:** Zugriffskontrolle, Kryptografie, Backup, Logging & Monitoring, Lieferanten, Change-Management, Datenschutz
- **Betriebsnachweise:** getestete Restores, Patch-/Update-Records, regelmäßige Zugriffs-Reviews, Onboarding/Offboarding, Incident-Management
- **AV-Verträge (AVV)** mit externen Diensten, sofern personenbezogene Daten verarbeitet werden (insb. KI-Anbieter, Microsoft)
---
## Vor-Audit-Checkliste (OpenNIT)
- [ ] `APP_DEBUG=false`, HTTPS + HSTS, gültiges Zertifikat
- [ ] `install.php` gelöscht, `STORAGE_PATH` außerhalb des Webroots
- [ ] Rate-Limiting aktiv, MFA erzwungen (intern unter `/admin/settings/security` oder extern am IdP)
- [ ] Optionale Anmeldesicherheit erwogen: Passwort-Richtlinie, Account-Lockout (`/admin/settings/security`)
- [ ] Audit-Weiterverarbeitung erwogen: SIEM-Weiterleitung, periodische Integritätsprüfung, Aufbewahrungs-Purge
- [ ] `composer audit` ohne offene Advisories (läuft auch in der CI)
- [ ] Hash-Ketten-Verifikation grün (`/admin/audit`), Monatsreports archiviert
- [ ] Berechtigungsmatrix exportiert (`/admin/permissions`), Offboarding-Prozess belegt
- [ ] **Automatisches Backup von DB + `STORAGE_PATH` eingerichtet und Restore getestet** (`/admin/selfbackup`)
- [ ] Dependencies aktuell (`composer`), CVE-Modul gepflegt
- [ ] Externe Dienste/Lizenzen dokumentiert, AVVs vorhanden
---
## Grenzen (offen kommunizieren)
- OpenNIT sichert sich unter `/admin/selfbackup` selbst und spielt eine Sicherung dort auch wieder ein; der **regelmäßige Restore-Test** bleibt trotzdem Ihre Aufgabe (A.8.13) – eine Sicherung, aus der nie jemand zurückgespielt hat, ist eine Vermutung. Der Updater setzt das durch: Vor jedem Update sind die Voraussetzungen zu bestehen und die vorhandene Sicherung ausdrücklich zu bestätigen (auf der Kommandozeile `--confirm-backup`); ein Update lässt sich nicht zurückrollen.
- „ISO Ready" ≠ Garantie – der Auditor bewertet die **Umsetzung & Belege**.
- Für eine Anwendung im Scope wird oft ein **Pentest / Schwachstellen-Scan** erwartet.
- Es gibt **kein automatisiertes Test-Framework** – der Change-Prozess sollte manuelle Tests + Audit-Log-Verifikation als Kontrolle abbilden.
- Das im Backend angezeigte Audit-Bericht-PDF bildet den **Stand zum Erstellungszeitpunkt** ab und ersetzt keine Bewertung durch Zertifizierungsstelle/Abschlussprüfer.
---
## Weiterführende Dokumente
| Dokument | Inhalt |
|---|---|
| [AUDIT.md](AUDIT.md) | Audit-Log, Hash-Chain, Auditor-Schnellreferenz |
| [SECURITY.md](SECURITY.md) | Sicherheitsanalyse & Härtung |
| [SECURITY-HARDENING.md](SECURITY-HARDENING.md) | Deployment-Härtungs-Checkliste |
| [OPEN_SOURCE_LICENSES.md](OPEN_SOURCE_LICENSES.md) | Drittanbieter & externe Dienste |
| Backend: `/admin/compliance` | PDF-Bericht-Generator mit Live-Kennzahlen |