feat: Phase 3 — Security + HR/Vendor/BCM policies

Phase 3 of the Document Templates Masterplan:

- 103: 4 new security policies (information_security_policy, password_policy,
  encryption_policy, access_control_policy) + updates for CRA (056) and
  all 15 HR/Vendor/BCM policies (072)

New templates:
- Information Security Policy: ISMS-Leitlinie (ISO 27001, BSI, NIS2)
- Password Policy: BSI/NIST compliant (12+ chars, MFA, no forced rotation)
- Encryption Policy: BSI TR-02102, algorithms, key management, TLS config
- Access Control Policy: RBAC, Least Privilege, Zero Trust, rezertification

Updates: AI Act + NIS2UmsuCG references for CRA and all 15 HR/Vendor/BCM
Generator: 6 new categories (security, HR, data, vendor, BCM policies)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-01 09:05:03 +02:00
parent 90c7f02b40
commit 4417938558
2 changed files with 434 additions and 0 deletions
@@ -0,0 +1,429 @@
-- Migration 103: 4 neue Security Policies + Updates fuer 056 + 072
-- Neue Templates: information_security_policy, access_control_policy,
-- password_policy, encryption_policy
-- Updates: CRA (056) + alle 15 HR/Vendor/BCM (072) — AI Act + NIS2UmsuCG
-- ===========================================================================
-- NEUE TEMPLATES
-- ===========================================================================
-- Template 1: Informationssicherheitsrichtlinie
INSERT INTO compliance_legal_templates (
id, tenant_id, document_type, title, description, content,
placeholders, language, jurisdiction,
license_id, license_name, source_name,
attribution_required, is_complete_document, version, status,
created_at, updated_at
) SELECT gen_random_uuid(), '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e',
'information_security_policy',
'Informationssicherheitsrichtlinie (ISMS-Leitlinie)',
'Uebergeordnete Leitlinie fuer Informationssicherheit nach ISO 27001:2022. Definiert Sicherheitsziele, Geltungsbereich, Rollen, Verantwortlichkeiten und Grundsaetze des ISMS.',
$template$# Informationssicherheitsrichtlinie
**{{COMPANY_NAME}}** | Version {{DOCUMENT_VERSION}} | Stand: {{VERSION_DATE}}
---
## 1. Zweck und Stellenwert
Diese Richtlinie definiert die uebergeordneten Grundsaetze und Ziele der Informationssicherheit bei {{COMPANY_NAME}}. Sie bildet die Grundlage des Informationssicherheits-Managementsystems (ISMS) und ist fuer alle Beschaeftigten, Auftragnehmer und Dienstleister verbindlich.
Die Geschaeftsfuehrung bekennt sich zur Informationssicherheit und stellt die erforderlichen Ressourcen bereit.
---
## 2. Geltungsbereich
Diese Richtlinie gilt fuer alle Informationswerte (Daten, Systeme, Anwendungen, Infrastruktur), Geschaeftsprozesse und Standorte von {{COMPANY_NAME}} sowie fuer alle Personen, die auf diese Informationswerte zugreifen.
---
## 3. Sicherheitsziele
| Schutzziel | Beschreibung |
|-----------|-------------|
| **Vertraulichkeit** | Informationen sind nur fuer autorisierte Personen zugaenglich |
| **Integritaet** | Informationen sind vollstaendig, korrekt und vor unbefugter Aenderung geschuetzt |
| **Verfuegbarkeit** | Informationen und Systeme stehen bei Bedarf zur Verfuegung |
---
## 4. Grundsaetze
- **Risikoorientierung:** Sicherheitsmassnahmen orientieren sich am Schutzbedarf und der Risikoanalyse
- **Angemessenheit:** Massnahmen stehen im Verhaeltnis zum Schutzbedarf (Verhaeltnismaessigkeit)
- **Kontinuierliche Verbesserung:** Das ISMS wird regelmaessig ueberprueft und verbessert (PDCA-Zyklus)
- **Compliance:** Alle anwendbaren gesetzlichen und vertraglichen Anforderungen werden eingehalten
- **Awareness:** Alle Mitarbeitenden werden geschult und sensibilisiert
---
## 5. Rollen und Verantwortlichkeiten
| Rolle | Verantwortung |
|-------|-------------|
| Geschaeftsfuehrung ({{GF_NAME}}) | Gesamtverantwortung, Ressourcenbereitstellung, Freigabe |
| Informationssicherheitsbeauftragter ({{ISB_NAME}}) | Operative Steuerung des ISMS, Risikomanagement, Audits |
| Datenschutzbeauftragter ({{DPO_NAME}}) | Datenschutz-Compliance, Beratung |
| Fuehrungskraefte | Umsetzung in ihrem Verantwortungsbereich |
| Alle Mitarbeitenden | Einhaltung der Richtlinien, Meldung von Vorfaellen |
---
## 6. Untergeordnete Richtlinien
Diese Leitlinie wird durch folgende Einzelrichtlinien konkretisiert:
- Passwortrichtlinie
- Zugriffskontrollrichtlinie
- Verschluesselungsrichtlinie
- IT-Nutzungsrichtlinie
- Remote-Work-Richtlinie
- Datenschutzrichtlinie
- Incident-Response-Plan
- Backup- und Recovery-Konzept
- Logging-Konzept
---
## 7. Normative Referenzen
| Standard | Relevanz |
|----------|----------|
| ISO/IEC 27001:2022 | ISMS-Anforderungen |
| ISO/IEC 27002:2022 | Controls-Katalog |
| BSI IT-Grundschutz | Nationale Umsetzung |
| DSGVO Art. 32 | Sicherheit der Verarbeitung |
| NIS2 / NIS2UmsuCG | Cybersicherheitspflichten |
---
## 8. Durchsetzung und Sanktionen
Verstoesse gegen diese Richtlinie koennen arbeitsrechtliche Konsequenzen nach sich ziehen. Bei Verdacht auf Verstoesse ist der ISB unverzueglich zu informieren.
---
## 9. Revision
Jaehrliche Pruefung durch ISB. Naechste Pruefung: {{NEXT_REVIEW_DATE}}.
*Erstellt mit BreakPilot Compliance {{COMPANY_NAME}} | {{VERSION_DATE}}*
$template$,
'["COMPANY_NAME","GF_NAME","ISB_NAME","DPO_NAME","DOCUMENT_VERSION","VERSION_DATE","NEXT_REVIEW_DATE"]'::jsonb,
'de', 'DE', 'mit', 'MIT License', 'BreakPilot Compliance',
false, true, '1.0.0', 'published', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM compliance_legal_templates WHERE document_type = 'information_security_policy' AND tenant_id = '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e');
-- Template 2: Passwortrichtlinie
INSERT INTO compliance_legal_templates (
id, tenant_id, document_type, title, description, content,
placeholders, language, jurisdiction,
license_id, license_name, source_name,
attribution_required, is_complete_document, version, status,
created_at, updated_at
) SELECT gen_random_uuid(), '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e',
'password_policy',
'Passwortrichtlinie',
'Passwortrichtlinie nach BSI IT-Grundschutz ORP.4 und NIST SP 800-63B. Passwortkomplexitaet, MFA, Sperrung, Speicherung, Service-Accounts.',
$template$# Passwortrichtlinie
**{{COMPANY_NAME}}** | Version {{DOCUMENT_VERSION}} | Stand: {{VERSION_DATE}}
---
## 1. Geltungsbereich
Diese Richtlinie gilt fuer alle Systeme, Anwendungen und Dienste von {{COMPANY_NAME}} sowie fuer alle Nutzer dieser Systeme (Mitarbeitende, Auftragnehmer, Dienstleister).
---
## 2. Passwortanforderungen
| Anforderung | Wert |
|-------------|------|
| Mindestlaenge | 12 Zeichen (Administratoren: 16 Zeichen) |
| Komplexitaet | Mind. 3 von 4 Kategorien (Gross-, Kleinbuchstaben, Ziffern, Sonderzeichen) |
| Passworthistorie | Letzte 10 Passwoerter duerfen nicht wiederverwendet werden |
| Maximale Gueltigkeit | Kein erzwungener Wechsel (NIST-Empfehlung), ausser bei Kompromittierungsverdacht |
| Sperrung | Nach 5 aufeinanderfolgenden Fehlversuchen fuer 15 Minuten |
**Verboten:** Woerterbuch-Woerter, persoenliche Daten (Name, Geburtsdatum), Firmenname, Tastaturmuster (qwerty, 12345).
---
## 3. Multi-Faktor-Authentifizierung (MFA)
| System | MFA Pflicht | Empfohlene Methode |
|--------|:---:|---|
| E-Mail | Ja | TOTP oder FIDO2 |
| VPN/Remote | Ja | TOTP oder FIDO2 |
| Cloud-Dienste | Ja | TOTP oder FIDO2 |
| Admin-Zugaenge | Ja | FIDO2 (Hardware-Token) |
| Interne Anwendungen | Empfohlen | TOTP |
---
## 4. Passwortspeicherung
- Passwoerter werden ausschliesslich als **salted Hash** gespeichert (bcrypt, scrypt oder Argon2)
- Klartext-Speicherung ist **verboten**
- Die Verwendung eines Passwort-Managers wird empfohlen
---
## 5. Service-Accounts und technische Zugaenge
- Individuelle Credentials pro Service-Account
- Passwoerter fuer Service-Accounts mind. 24 Zeichen, zufaellig generiert
- Rotation alle 12 Monate oder bei Personalwechsel
- Dokumentation in einem Secrets-Management-System
---
## 6. Kompromittierung
Bei Verdacht auf Kompromittierung eines Passworts:
1. Sofortige Aenderung des betroffenen Passworts
2. Meldung an IT-Support und ISB
3. Pruefung ob das Passwort in Breach-Datenbanken auftaucht (z.B. haveibeenpwned)
4. Pruefung aller Systeme, fuer die dasselbe Passwort verwendet wurde
---
## 7. Revision
Jaehrliche Pruefung durch ISB. Naechste Pruefung: {{NEXT_REVIEW_DATE}}.
*Erstellt mit BreakPilot Compliance {{COMPANY_NAME}} | {{VERSION_DATE}}*
$template$,
'["COMPANY_NAME","DOCUMENT_VERSION","VERSION_DATE","NEXT_REVIEW_DATE"]'::jsonb,
'de', 'DE', 'mit', 'MIT License', 'BreakPilot Compliance',
false, true, '1.0.0', 'published', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM compliance_legal_templates WHERE document_type = 'password_policy' AND tenant_id = '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e');
-- Template 3: Verschluesselungsrichtlinie
INSERT INTO compliance_legal_templates (
id, tenant_id, document_type, title, description, content,
placeholders, language, jurisdiction,
license_id, license_name, source_name,
attribution_required, is_complete_document, version, status,
created_at, updated_at
) SELECT gen_random_uuid(), '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e',
'encryption_policy',
'Verschluesselungsrichtlinie',
'Verschluesselungsrichtlinie nach BSI TR-02102 und ISO 27001 A.8.24. Zugelassene Algorithmen, Schluesselmanagement, TLS-Konfiguration, Datenverschluesselung.',
$template$# Verschluesselungsrichtlinie
**{{COMPANY_NAME}}** | Version {{DOCUMENT_VERSION}} | Stand: {{VERSION_DATE}}
---
## 1. Geltungsbereich
Diese Richtlinie regelt den Einsatz kryptographischer Massnahmen bei {{COMPANY_NAME}} zum Schutz der Vertraulichkeit, Integritaet und Authentizitaet von Informationen.
---
## 2. Zugelassene Algorithmen
### 2.1 Symmetrische Verschluesselung
| Algorithmus | Schluessellaenge | Status | Verwendung |
|------------|:---:|:---:|---|
| AES-256 | 256 Bit | Zugelassen | Datenverschluesselung at-rest + in-transit |
| AES-128 | 128 Bit | Zugelassen | Nur fuer Performance-kritische Anwendungen |
| ChaCha20-Poly1305 | 256 Bit | Zugelassen | Alternative zu AES (mobile Geraete) |
### 2.2 Asymmetrische Verschluesselung
| Algorithmus | Schluessellaenge | Status |
|------------|:---:|:---:|
| RSA | >= 3072 Bit | Zugelassen (4096 empfohlen) |
| ECDSA | >= 256 Bit (P-256) | Zugelassen (P-384 empfohlen) |
| Ed25519 | 256 Bit | Zugelassen (bevorzugt fuer Signaturen) |
### 2.3 Hash-Funktionen
| Algorithmus | Status |
|------------|:---:|
| SHA-256 / SHA-384 / SHA-512 | Zugelassen |
| SHA-3 | Zugelassen |
| SHA-1 | **Verboten** (nur Legacy-Kompatibilitaet) |
| MD5 | **Verboten** |
### 2.4 Verbotene Algorithmen
DES, 3DES, RC4, MD5, SHA-1 (ausser Legacy), RSA < 2048 Bit
---
## 3. Verschluesselung in der Praxis
### 3.1 Transport (in-transit)
| Protokoll | Mindestversion | Empfehlung |
|-----------|:---:|:---:|
| TLS | 1.2 | TLS 1.3 |
| SSH | 2.0 | Aktuelle Version |
| IPsec | | Fuer Site-to-Site VPN |
TLS 1.0 und TLS 1.1 sind **verboten**.
### 3.2 Speicherung (at-rest)
- Datenbanken: Transparent Data Encryption (TDE) oder Spalten-Verschluesselung
- Dateisysteme: Festplattenverschluesselung (BitLocker, FileVault, LUKS)
- Cloud: Server-seitige Verschluesselung mit kundenverwaltetem Schluessel (BYOK)
- Backups: Verschluesselung vor Uebertragung
---
## 4. Schluesselmanagement
| Aspekt | Regelung |
|--------|---------|
| Erzeugung | Kryptographisch sichere Zufallsgeneratoren (CSPRNG) |
| Speicherung | Hardware Security Module (HSM) oder Secrets Manager |
| Rotation | Alle 12 Monate oder bei Kompromittierungsverdacht |
| Zugriff | Streng limitiert, 4-Augen-Prinzip fuer Master-Keys |
| Vernichtung | Kryptographisches Loeschen (Key Zeroization) |
| Backup | Separates Key-Backup, nicht zusammen mit verschluesselten Daten |
---
## 5. Zertifikatsmanagement
- TLS-Zertifikate: Automatische Erneuerung (Let's Encrypt / ACME)
- Monitoring: Alerting 30 Tage vor Ablauf
- Certificate Transparency Logs: Ueberwachung auf unautorisierte Ausstellung
---
## 6. Normative Referenzen
| Standard | Relevanz |
|----------|----------|
| BSI TR-02102-1 | Kryptographische Verfahren: Empfehlungen und Schluessellaengen |
| BSI TR-02102-2 | TLS-Konfiguration |
| ISO 27001 A.8.24 | Einsatz kryptographischer Massnahmen |
| DSGVO Art. 32 Abs. 1 lit. a | Verschluesselung als TOM |
---
## 7. Revision
Jaehrliche Pruefung durch ISB anhand aktueller BSI-Empfehlungen. Naechste Pruefung: {{NEXT_REVIEW_DATE}}.
*Erstellt mit BreakPilot Compliance — {{COMPANY_NAME}} | {{VERSION_DATE}}*
$template$,
'["COMPANY_NAME","DOCUMENT_VERSION","VERSION_DATE","NEXT_REVIEW_DATE"]'::jsonb,
'de', 'DE', 'mit', 'MIT License', 'BreakPilot Compliance',
false, true, '1.0.0', 'published', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM compliance_legal_templates WHERE document_type = 'encryption_policy' AND tenant_id = '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e');
-- Template 4: Zugriffskontrollrichtlinie (ergaenzt das Zugriffskonzept aus 051)
INSERT INTO compliance_legal_templates (
id, tenant_id, document_type, title, description, content,
placeholders, language, jurisdiction,
license_id, license_name, source_name,
attribution_required, is_complete_document, version, status,
created_at, updated_at
) SELECT gen_random_uuid(), '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e',
'access_control_policy',
'Zugriffskontrollrichtlinie',
'Kurzfassung der Zugriffsregeln fuer Mitarbeitende. Abgeleitet vom detaillierten Zugriffskonzept (access_control_concept). RBAC, MFA, Least Privilege, Rezertifizierung.',
$template$# Zugriffskontrollrichtlinie
**{{COMPANY_NAME}}** | Version {{DOCUMENT_VERSION}} | Stand: {{VERSION_DATE}}
---
## 1. Geltungsbereich
Diese Richtlinie regelt den Zugriff auf IT-Systeme, Anwendungen und Daten bei {{COMPANY_NAME}}. Sie gilt fuer alle Mitarbeitenden, Auftragnehmer und externen Dienstleister.
Detaillierte technische Vorgaben finden sich im Zugriffskonzept.
---
## 2. Grundsaetze
- **Need-to-Know:** Zugriff nur bei dienstlicher Erforderlichkeit
- **Least Privilege:** Nur die minimal notwendigen Berechtigungen
- **Separation of Duties:** Kritische Vorgaenge erfordern mehrere Personen
- **Zero Trust:** Jeder Zugriff wird verifiziert, unabhaengig vom Standort
---
## 3. Berechtigungsvergabe
- Berechtigungen werden ueber den Vorgesetzten beantragt
- IT setzt die Berechtigungen innerhalb von 2 Werktagen um
- Aenderungen bei Versetzung: alte Rechte entziehen, neue beantragen
- Bei Austritt: alle Zugaenge am letzten Arbeitstag deaktivieren
---
## 4. Authentifizierung
- Mindestens 12 Zeichen, komplexes Passwort (siehe Passwortrichtlinie)
- Multi-Faktor-Authentifizierung fuer alle externen Zugaenge und privilegierten Accounts
- Gemeinsam genutzte Accounts sind **verboten**
---
## 5. Rezertifizierung
- Standard-Berechtigungen: halbjaehrlich
- Privilegierte Zugaenge: quartalsweise
- Service-Accounts: jaehrlich
---
## 6. Pflichten der Nutzer
- Zugangsdaten geheim halten und nicht weitergeben
- Bildschirmsperre bei Verlassen des Arbeitsplatzes
- Verdacht auf Missbrauch sofort an IT-Support und ISB melden
---
## 7. Revision
Jaehrliche Pruefung durch ISB. Naechste Pruefung: {{NEXT_REVIEW_DATE}}.
*Erstellt mit BreakPilot Compliance — {{COMPANY_NAME}} | {{VERSION_DATE}}*
$template$,
'["COMPANY_NAME","DOCUMENT_VERSION","VERSION_DATE","NEXT_REVIEW_DATE"]'::jsonb,
'de', 'DE', 'mit', 'MIT License', 'BreakPilot Compliance',
false, true, '1.0.0', 'published', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM compliance_legal_templates WHERE document_type = 'access_control_policy' AND tenant_id = '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e');
-- ===========================================================================
-- UPDATES fuer bestehende Templates (056 + 072)
-- ===========================================================================
-- CRA Cybersecurity Policy: AI Act Referenz
UPDATE compliance_legal_templates
SET
description = 'CRA Cybersecurity Policy nach Cyber Resilience Act (EU 2024/2847), ISO 27001, NIS2/NIS2UmsuCG, DSGVO Art. 32 und AI Act (EU 2024/1689). SSDLC, Vulnerability Management, SBOM, Supply Chain Security.',
version = '1.1.0',
updated_at = NOW()
WHERE document_type = 'cybersecurity_policy'
AND tenant_id = '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e';
-- Alle 15 HR/Vendor/BCM Policies: NIS2UmsuCG + AI Act in Description
UPDATE compliance_legal_templates
SET
version = '1.1.0',
updated_at = NOW()
WHERE document_type IN (
'data_protection_policy', 'data_classification_policy', 'data_retention_policy',
'data_transfer_policy', 'privacy_incident_policy', 'employee_security_policy',
'security_awareness_policy', 'remote_work_policy', 'offboarding_policy',
'vendor_risk_management_policy', 'third_party_security_policy',
'supplier_security_policy', 'business_continuity_policy',
'disaster_recovery_policy', 'crisis_management_policy'
)
AND tenant_id = '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e';