Files
msolarczekandClaude Opus 4.8 89b0e3a5a5 Richtlinien & Verfahren (Phase 1): Import, Rendering-Engine, Bibliothek, Coverage
Fundament des VDA-ISA-2027-Richtlinienmoduls (Spec §1–9):

- Datenmodell: PolicyDocument, PolicyRequirement, PolicyVariable (Variablen +
  Feature-Flags), PolicyBaselineParam, PolicyEvidence — inkl. RLS + Tenant-Guard
- Seed-Importer (import-policies.ts): liest die echten .md-Dateien (15 Richtlinien
  L00/R01–R14 + 11 Verfahren), mapping.json (120 Anforderungen/46 Controls),
  variables.schema.json (53 Variablen/Flags), Technische-Sicherheits-Baseline
  (31 BL-Parameter) und Nachweisregister; idempotent pro Mandant
- 6 im Vorlagenpaket beschädigte Variablen-Tokens (VA-08/09/10/12/13) repariert
  (dokumentiert im README des Übergabepakets)
- Rendering-Engine (policy-render.ts, Handlebars + marked): verschachtelte
  {{#if FLAG}}, {{VARIABLE}}, {{LINK:…}}-Deeplinks, Hidden-Anker + BL-Referenzen
  im Lesemodus entfernt (Wert bleibt), zentral verwaltete Abschnitte unterdrückt,
  wiederholtes „Umsetzung bei <Org>" reduziert (§7a); lenienter Fallback +
  Residue-Check über alle Flag-Kombinationen (analog _verify.py)
- UI: Bibliothek mit Typ-Chips/KPIs, Lesemodus-Popup (einklappbare Info-Tabelle,
  Control-Chips, Richtlinie↔Verfahren-Verlinkung), Coverage-Matrix
  (Control → Richtlinie → MUSS/SOLL → Verfahren → Anforderungs-IDs)
- Nav-Punkt „Richtlinien" aktiviert; de/en-Übersetzungen

Verifiziert: Import 28 Dokumente/120 Anforderungen; Rendering rückstandsfrei
über alle Flag-Kombinationen; Bibliothek, Lesemodus (R08 nested flags), Coverage
im Browser.

Später (Phase 2+): Bearbeiten/Freigabe-Workflow mit Versionierung, verwaltete
Tabellen (Krypto-/Risiko-/Klassifizierungsregister), Anwender-Handbuch,
DOCX/PDF-Export, Word-Upload, KI-Wizard, zentrale Baseline-/Variablen-Einstellseite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 13:35:59 +02:00

554 lines
45 KiB
Python

# -*- coding: utf-8 -*-
"""
Generator ISMS-Vorlagenpaket v2.
Erzeugt: richtlinien/*.md (mit Hidden-IDs + {{LINK:...}}), mapping.json, ISA-Mapping-Matrix.
Konvention: UPPER_SNAKE-Variablen, {{#if FLAG_x}}...{{/if}} Bedingungsbloecke.
"""
import os, json
BASE = os.path.dirname(__file__)
RDIR = os.path.join(BASE, "richtlinien")
os.makedirs(RDIR, exist_ok=True)
# ---------------------------------------------------------------------------
# Datenmodell
# control = {"num","title","reqs":[{"t":"M"|"S","req":..,"impl":..}]}
# Jede Anforderung erhaelt eine ID <num>-<M|S><laufnr> und Hidden-Anker.
# ---------------------------------------------------------------------------
POLICIES = []
def pol(**k): POLICIES.append(k)
pol(id="R01", fn="R01_ISMS-Organisation-und-Rollen",
title="ISMS-Organisation und Rollen", owner="ROLE_ISB",
purpose="Diese Richtlinie regelt Aufbau, Steuerung und Verantwortlichkeiten des Informationssicherheits-Managementsystems (ISMS) der {{ORG_NAME}} sowie die Beruecksichtigung der Informationssicherheit in Projekten.",
related=["L00","R03","R13"],
roles=[("{{ROLE_MANAGEMENT}}","Beauftragung und Gesamtverantwortung ISMS, Ressourcen, Managementbewertung"),
("{{ROLE_ISB}}","Operative Steuerung des ISMS, Pflege der Verantwortlichkeiten"),
("{{ROLE_IT_LEAD}}","Technische Umsetzung ISMS-relevanter Massnahmen"),
("Asset Owner / Prozessverantwortliche","Pflege zugeordneter Assets/Prozesse im ISMS-Tool")],
controls=[
{"num":"1.2.1","title":"Steuerung der Informationssicherheit","reqs":[
{"t":"M","req":"Der Geltungsbereich des ISMS (Organisation, Standorte, Prozesse) ist bestimmt und dokumentiert.",
"impl":"Der ISMS-Geltungsbereich ist im ISMS-Tool ({{TOOL_NAME}}) dokumentiert und wird dort gepflegt."},
{"t":"M","req":"Das ISMS wird durch die Leitung initiiert, gesteuert und ueberwacht; erforderliche Ressourcen werden bereitgestellt.",
"impl":"Die {{ROLE_MANAGEMENT}} hat das ISMS beauftragt, stellt die erforderlichen Ressourcen bereit und traegt die Gesamtverantwortung; die operative Steuerung liegt bei {{ROLE_ISB}}."},
{"t":"M","req":"Die Wirksamkeit des ISMS wird regelmaessig durch die Leitung bewertet (Managementbewertung).",
"impl":"Die Wirksamkeit des ISMS wird mindestens {{REVIEW_CYCLE}} in einer dokumentierten Managementbewertung geprueft; die Ergebnisse werden im ISMS-Tool festgehalten."},
{"t":"S","req":"Informationssicherheitsziele sind messbar formuliert und werden nachverfolgt (KPI).",
"impl":"Informationssicherheitsziele und Kennzahlen (KPI) sind definiert und werden im ISMS-Tool nachverfolgt."},
]},
{"num":"1.2.2","title":"Organisation der Verantwortlichkeiten","reqs":[
{"t":"M","req":"Verantwortlichkeiten fuer Informationssicherheit sind definiert, zugewiesen und dokumentiert.",
"impl":"Die Verantwortlichkeiten sind in der Rollenuebersicht (Abschnitt 5) und im ISMS-Tool ({{TOOL_NAME}}) dokumentiert und bekannt gemacht."},
{"t":"M","req":"Eine fuer Informationssicherheit verantwortliche Rolle ist benannt, verfuegt ueber ausreichende Kompetenzen und einen direkten Berichtsweg zur Leitung.",
"impl":"Die Rolle {{ROLE_ISB}} ist benannt und berichtet direkt an die {{ROLE_MANAGEMENT}}."},
{"t":"S","req":"In Konflikt stehende Aufgaben und Verantwortungsbereiche sind getrennt (Funktionstrennung).",
"impl":"In Konflikt stehende Taetigkeiten (z. B. Umsetzung und Kontrolle) werden getrennt; unvermeidbare Doppelrollen werden durch kompensierende Kontrollen abgesichert."},
{"t":"S","req":"Kontakte zu relevanten Behoerden und Interessengruppen werden gepflegt.",
"impl":"Relevante externe Kontakte (Behoerden, CERT, Branchengremien) werden durch {{ROLE_ISB}} gepflegt."},
]},
{"num":"1.2.3","title":"Informationssicherheit in Projekten","reqs":[
{"t":"M","req":"Projekte werden unter Beruecksichtigung ihres Informationssicherheitsbedarfs klassifiziert.",
"impl":"Projekte werden zu Beginn hinsichtlich ihres Informationssicherheitsbedarfs bewertet und klassifiziert."},
{"t":"M","req":"In Projekten werden Informationssicherheitsanforderungen ermittelt und beruecksichtigt.",
"impl":"Bei erhoehtem Schutzbedarf wird {{ROLE_ISB}} eingebunden; die Anforderungen werden ermittelt und im ISMS-Tool nachgehalten."},
{"t":"S","req":"Verfahren und Kriterien zur Klassifizierung von Projekten sind dokumentiert und werden angewandt.",
"impl":"Die Kriterien fuer die Projekteinstufung sind dokumentiert und werden einheitlich angewandt."},
]},
])
pol(id="R02", fn="R02_Asset-und-Klassifizierungsrichtlinie",
title="Asset- und Klassifizierungsrichtlinie", owner="ROLE_IT_LEAD",
purpose="Diese Richtlinie regelt Identifikation, Inventarisierung, Klassifizierung und den geschuetzten Umgang mit Informationswerten und Assets der {{ORG_NAME}} sowie die Zulassung von Hard- und Software.",
related=["R01","R08","R11"],
roles=[("{{ROLE_IT_LEAD}}","Pflege des Asset-Inventars, Zulassung Hard-/Software"),
("{{ROLE_ISB}}","Vorgabe des Klassifizierungsschemas"),
("Asset Owner","Bewertung und Pflege einzelner Assets im ISMS-Tool")],
controls=[
{"num":"1.3.1","title":"Identifikation von Assets","reqs":[
{"t":"M","req":"Informationswerte und weitere Assets, die Informationen verarbeiten, sind identifiziert und erfasst.",
"impl":"Informationswerte und Assets werden im ISMS-Tool ({{TOOL_NAME}}) im Asset-Inventar erfasst."},
{"t":"M","req":"Fuer jedes Asset ist ein Verantwortlicher (Owner) benannt.",
"impl":"Jedem Asset ist im ISMS-Tool ein Owner zugeordnet."},
{"t":"S","req":"Ein Katalog der relevanten Informationswerte wird gepflegt und regelmaessig aktualisiert.",
"impl":"Das Asset-Inventar wird laufend gepflegt und mindestens {{REVIEW_CYCLE}} auf Aktualitaet geprueft."},
]},
{"num":"1.3.2","title":"Klassifizierung","reqs":[
{"t":"M","req":"Informationswerte sind nach Schutzbedarf (Vertraulichkeit, Integritaet, Verfuegbarkeit) klassifiziert.",
"impl":"Es gilt ein vierstufiges Klassifizierungsschema (Oeffentlich / Intern / Vertraulich / Streng vertraulich); die Einstufung erfolgt im ISMS-Tool."},
{"t":"M","req":"Abhaengig von der Klassifizierung sind Vorgaben zu Kennzeichnung, Handhabung, Speicherung, Uebertragung und Loeschung definiert.",
"impl":"Handhabungsvorgaben je Schutzklasse sind definiert und den Mitarbeitenden bekannt gemacht."},
{"t":"S","req":"Die Klassifizierung wird bei wesentlichen Aenderungen ueberprueft und angepasst.",
"impl":"Bei wesentlichen Aenderungen wird die Klassifizierung durch den Asset Owner ueberprueft."},
]},
{"num":"1.3.3","title":"Zugelassene Hardware","reqs":[
{"t":"M","req":"Es ist sichergestellt, dass nur bewertete und freigegebene externe Hardware/IT-Komponenten eingesetzt werden.",
"impl":"Externe Hardware wird vor Einsatz bewertet und freigegeben; eine Freigabeliste wird im ISMS-Tool gefuehrt."},
{"t":"S","req":"Nicht freigegebene Geraete werden technisch unterbunden.",
"impl":"Der Anschluss nicht freigegebener Geraete wird soweit moeglich technisch unterbunden."},
]},
{"num":"1.3.4","title":"Zugelassene Software","reqs":[
{"t":"M","req":"Es ist sichergestellt, dass nur bewertete und freigegebene Software eingesetzt wird.",
"impl":"Software wird vor Einsatz freigegeben; eine Liste zugelassener Software wird gepflegt."},
{"t":"S","req":"Die Installation nicht freigegebener Software wird technisch eingeschraenkt.",
"impl":"Die Installation von Software ist fuer Standardnutzer technisch eingeschraenkt."},
]},
])
pol(id="R03", fn="R03_Risikomanagement-und-Auditrichtlinie",
title="Risikomanagement- und Auditrichtlinie", owner="ROLE_ISB",
purpose="Diese Richtlinie regelt Identifikation, Bewertung und Behandlung von Informationssicherheitsrisiken sowie die interne und unabhaengige Ueberpruefung des ISMS.",
related=["R01","R04"],
roles=[("{{ROLE_ISB}}","Steuerung des Risikomanagements, Pflege des Risikoregisters"),
("{{ROLE_MANAGEMENT}}","Entscheidung ueber Risikoakzeptanz"),
("Asset/Prozessverantwortliche","Mitwirkung bei Risikobewertung")],
controls=[
{"num":"1.4.1","title":"Risikomanagement","reqs":[
{"t":"M","req":"Es existiert ein dokumentiertes Verfahren zur Identifikation, Analyse, Bewertung und Behandlung von Informationssicherheitsrisiken.",
"impl":"Das Risikomanagement-Verfahren ist dokumentiert; Risiken werden im ISMS-Tool ({{TOOL_NAME}}) bewertet und nachverfolgt."},
{"t":"M","req":"Risiken werden in einem Risikoregister erfasst; Behandlungsoptionen und Massnahmen sind festgelegt.",
"impl":"Alle Risiken werden im Risikoregister erfasst; je Risiko sind Behandlungsoption (reduzieren/vermeiden/uebertragen/akzeptieren) und Massnahmen hinterlegt."},
{"t":"M","req":"Die Risikobewertung wird regelmaessig und anlassbezogen aktualisiert; die Risikoakzeptanz erfolgt durch die Leitung.",
"impl":"Die Bewertung wird mindestens {{REVIEW_CYCLE}} und anlassbezogen aktualisiert; die {{ROLE_MANAGEMENT}} akzeptiert Restrisiken dokumentiert."},
{"t":"S","req":"Kriterien fuer Eintrittswahrscheinlichkeit, Schadenshoehe und Akzeptanzschwellen sind definiert.",
"impl":"Bewertungs- und Akzeptanzkriterien sind definiert und im ISMS-Tool hinterlegt."},
]},
{"num":"1.5.1","title":"Compliance-Pruefung im IS-Betrieb","reqs":[
{"t":"M","req":"Die Einhaltung der Informationssicherheitsvorgaben wird regelmaessig geprueft.",
"impl":"Die Einhaltung wird durch interne Audits und Kontrollen regelmaessig geprueft."},
{"t":"S","req":"Ein Auditprogramm mit Umfang, Turnus und Verantwortlichkeiten ist etabliert; Feststellungen werden nachverfolgt.",
"impl":"Ein Auditprogramm ist etabliert; Feststellungen werden im ISMS-Tool nachverfolgt."},
]},
{"num":"1.5.2","title":"Unabhaengige Ueberpruefung","reqs":[
{"t":"M","req":"Das ISMS wird durch eine unabhaengige Stelle ueberprueft.",
"impl":"Das ISMS wird durch eine unabhaengige Stelle (interne Revision oder externe Auditierung) ueberprueft."},
{"t":"S","req":"Ergebnisse fliessen in die Managementbewertung und den Verbesserungsprozess ein.",
"impl":"Die Ergebnisse werden in der Managementbewertung behandelt und fliessen in Verbesserungsmassnahmen ein."},
]},
])
pol(id="R04", fn="R04_Incident-Notfall-und-Kontinuitaetsrichtlinie",
title="Incident-, Notfall- und Kontinuitaetsrichtlinie", owner="ROLE_ISB",
purpose="Diese Richtlinie regelt Meldung und Behandlung von Sicherheitsereignissen, das Krisenmanagement sowie die Notfall- und Kontinuitaetsplanung fuer IT-Dienste.",
related=["R03","R10"],
roles=[("{{ROLE_ISB}}","Koordination der Vorfallsbehandlung"),
("{{ROLE_IT_LEAD}}","IT-Notfall- und Wiederanlaufplanung"),
("{{ROLE_MANAGEMENT}}","Einberufung Krisenstab")],
controls=[
{"num":"1.6.1","title":"Meldung von Ereignissen","reqs":[
{"t":"M","req":"Sicherheitsrelevante Ereignisse und Beobachtungen koennen ueber einen definierten Meldeweg gemeldet werden.",
"impl":"Ein Meldeweg fuer Sicherheitsereignisse ist eingerichtet (z. B. im ISMS-Tool {{TOOL_NAME}}) und bekannt gemacht."},
{"t":"M","req":"Der Meldeweg ist bekannt gemacht und niedrigschwellig erreichbar.",
"impl":"Der Meldeweg ist allen Mitarbeitenden bekannt und niedrigschwellig erreichbar."},
{"t":"S","req":"Meldungen werden zentral erfasst und kategorisiert.",
"impl":"Meldungen werden zentral im ISMS-Tool erfasst und kategorisiert."},
]},
{"num":"1.6.2","title":"Behandlung von Sicherheitsereignissen","reqs":[
{"t":"M","req":"Gemeldete Sicherheitsereignisse werden bewertet, priorisiert, behandelt und dokumentiert.",
"impl":"Ereignisse werden nach einem definierten Verfahren bewertet, priorisiert, behandelt und im ISMS-Tool dokumentiert."},
{"t":"M","req":"Verantwortlichkeiten und Eskalationswege fuer die Vorfallsbehandlung sind definiert.",
"impl":"Verantwortlichkeiten und Eskalationswege sind definiert; {{ROLE_ISB}} koordiniert die Behandlung."},
{"t":"S","req":"Erkenntnisse aus Vorfaellen werden ausgewertet (Lessons Learned) und fuehren zu Verbesserungen.",
"impl":"Nach relevanten Vorfaellen erfolgt eine Auswertung (Lessons Learned) mit Ableitung von Verbesserungen."},
{"t":"S","req":"Meldepflichten (z. B. an Kunden/OEM, Behoerden) sind beruecksichtigt.",
"impl":"Bestehende Meldepflichten gegenueber Kunden/OEM und Behoerden werden im Behandlungsprozess beruecksichtigt."},
]},
{"num":"1.6.3","title":"Krisenmanagement","reqs":[
{"t":"M","req":"Die Organisation ist auf die Bewaeltigung von Krisensituationen vorbereitet (Rollen, Kommunikation, Entscheidungswege).",
"impl":"Ein Krisenmanagement mit Rollen, Kommunikations- und Entscheidungswegen ist definiert; der Krisenstab wird durch die {{ROLE_MANAGEMENT}} einberufen."},
{"t":"S","req":"Krisen-/Notfallplaene werden regelmaessig geuebt und aktualisiert.",
"impl":"Krisen- und Notfallplaene werden mindestens {{REVIEW_CYCLE}} geuebt und aktualisiert."},
]},
{"num":"5.2.8","title":"Kontinuitaetsplanung IT","reqs":[
{"t":"M","req":"Fuer kritische IT-Dienste besteht eine Kontinuitaetsplanung (Wiederanlaufziele, Verantwortliche, Massnahmen).",
"impl":"Fuer kritische IT-Dienste bestehen Wiederanlaufziele, Verantwortliche und Massnahmen; {{ROLE_IT_LEAD}} verantwortet die Planung."},
{"t":"S","req":"Wiederanlaufmassnahmen werden regelmaessig getestet; Ergebnisse werden dokumentiert.",
"impl":"Wiederanlaufmassnahmen werden mindestens {{REVIEW_CYCLE}} getestet; Ergebnisse werden dokumentiert."},
]},
])
pol(id="R05", fn="R05_Personalsicherheit-und-Awareness",
title="Personalsicherheit und Awareness", owner="ROLE_HR_LEAD",
purpose="Diese Richtlinie regelt Eignung und Qualifikation fuer sicherheitsrelevante Taetigkeiten, die vertragliche Verpflichtung des Personals sowie Schulung und Sensibilisierung.",
related=["R01","R06"],
roles=[("{{ROLE_HR_LEAD}}","Vertragliche Verpflichtung, Eignungspruefungen"),
("{{ROLE_ISB}}","Inhalte und Nachweis von Schulung und Awareness"),
("Fuehrungskraefte","Umsetzung im Verantwortungsbereich")],
controls=[
{"num":"2.1.1","title":"Qualifikation fuer sensible Taetigkeiten","reqs":[
{"t":"M","req":"Fuer sicherheitsrelevante/sensible Taetigkeiten ist die erforderliche Qualifikation und Zuverlaessigkeit der Beschaeftigten sichergestellt.",
"impl":"Fuer sensible Taetigkeiten werden Qualifikation und Zuverlaessigkeit im rechtlich zulaessigen Rahmen sichergestellt."},
{"t":"S","req":"Anforderungen an Positionen sind beschrieben; angemessene Ueberpruefungen erfolgen im rechtlich zulaessigen Rahmen.",
"impl":"Sicherheitsanforderungen an Positionen sind beschrieben; Ueberpruefungen erfolgen anlassbezogen."},
]},
{"num":"2.1.2","title":"Vertragliche Verpflichtung","reqs":[
{"t":"M","req":"Alle Beschaeftigten sind vertraglich zur Einhaltung der Informationssicherheit und zur Vertraulichkeit verpflichtet.",
"impl":"Alle Beschaeftigten werden bei Eintritt vertraglich zur Vertraulichkeit und Einhaltung der Informationssicherheit verpflichtet."},
{"t":"S","req":"Verpflichtungen gelten auch nach Beendigung des Arbeitsverhaeltnisses fort und umfassen Rueckgabepflichten.",
"impl":"Die Vertraulichkeitsverpflichtung gilt nachvertraglich fort; Rueckgabepflichten sind geregelt."},
]},
{"num":"2.1.3","title":"Sensibilisierung und Schulung","reqs":[
{"t":"M","req":"Beschaeftigte werden hinsichtlich Informationssicherheit sensibilisiert und geschult.",
"impl":"Beschaeftigte werden bei Eintritt und danach mindestens {{REVIEW_CYCLE}} geschult; Nachweise werden im ISMS-Tool ({{TOOL_NAME}}) gefuehrt."},
{"t":"S","req":"Schulungsinhalte sind rollenspezifisch; die Wirksamkeit wird ueberprueft (z. B. Phishing-Tests).",
"impl":"Schulungen sind rollenspezifisch; die Wirksamkeit wird z. B. durch Phishing-Simulationen ueberprueft."},
]},
])
pol(id="R06", fn="R06_Mobiles-Arbeiten-und-mobile-Geraete",
title="Mobiles Arbeiten und mobile Geraete", owner="ROLE_ISB",
purpose="Diese Richtlinie regelt mobiles Arbeiten (Homeoffice/Telearbeit) sowie den sicheren Umgang mit mobilen IT-Geraeten und Datentraegern.",
related=["R05","R07","R08"],
roles=[("{{ROLE_ISB}}","Festlegung der Sicherheitsanforderungen"),
("{{ROLE_IT_LEAD}}","Technische Umsetzung (VPN, MDM)"),
("Mitarbeitende","Einhaltung der Vorgaben")],
controls=[
{"num":"2.1.4","title":"Mobiles Arbeiten","flag":"FLAG_MOBILE_WORK","reqs":[
{"t":"M","req":"Mobiles Arbeiten ist geregelt (zulaessige Orte, Umgang mit Informationen, Absicherung der Verbindung).",
"impl":"Mobiles Arbeiten ist geregelt; der Zugriff erfolgt ueber gesicherte Verbindungen ({{TECH_VPN}}) und freigegebene Geraete."},
{"t":"M","req":"Der Zugriff auf Unternehmensinformationen erfolgt ausschliesslich ueber gesicherte Verbindungen und freigegebene Geraete.",
"impl":"Der Zugriff auf Unternehmensinformationen ist auf freigegebene, abgesicherte Geraete beschraenkt."},
{"t":"S","req":"Sichtschutz, Clean-Desk/Clean-Screen und Regeln fuer oeffentliche Umgebungen sind definiert.",
"impl":"Regeln zu Sichtschutz, Clean-Desk/Clean-Screen und zum Arbeiten in oeffentlichen Umgebungen sind definiert."},
]},
{"num":"3.1.4","title":"Mobile Geraete und Datentraeger","flag":"FLAG_MOBILE_DEVICES","reqs":[
{"t":"M","req":"Der Umgang mit mobilen IT-Geraeten und mobilen Datentraegern ist geregelt (Verschluesselung, Verlustmeldung, Freigabe).",
"impl":"Mobile Geraete sind verschluesselt und ueber {{TECH_MDM}} verwaltet; Verlustmeldung und Freigabe sind geregelt."},
{"t":"M","req":"Mobile Geraete sind verschluesselt und koennen bei Verlust gesperrt/geloescht werden.",
"impl":"Bei Verlust koennen Geraete ueber {{TECH_MDM}} gesperrt und geloescht werden."},
{"t":"S","req":"Der Einsatz privater Geraete (BYOD) ist geregelt oder untersagt; Wechseldatentraeger werden kontrolliert.",
"impl":"Der Einsatz privater Geraete ist geregelt; Wechseldatentraeger werden kontrolliert und nur verschluesselt zugelassen."},
]},
])
pol(id="R07", fn="R07_Physische-Sicherheit",
title="Physische Sicherheit", owner="ROLE_IT_LEAD",
purpose="Diese Richtlinie regelt den physischen Schutz von Informationen und informationsverarbeitenden Einrichtungen durch Sicherheitszonen, Zutrittsschutz und den Umgang mit unterstuetzenden Betriebsmitteln.",
related=["R02","R06"],
roles=[("{{ROLE_IT_LEAD}}","Zonenkonzept, Zutrittsschutz, Betriebsmittel"),
("{{ROLE_ISB}}","Vorgabe der Anforderungen")],
controls=[
{"num":"3.1.1","title":"Sicherheitszonen und Zutritt","reqs":[
{"t":"M","req":"Sicherheitszonen sind definiert und der Zutritt zu schuetzenswerten Bereichen ist reglementiert und nachvollziehbar.",
"impl":"Sicherheitszonen sind definiert; der Zutritt zu schuetzenswerten Bereichen ist reglementiert und wird protokolliert."},
{"t":"M","req":"Zutrittsrechte werden nach Bedarf vergeben, dokumentiert und bei Wegfall entzogen.",
"impl":"Zutrittsrechte werden bedarfsorientiert vergeben, dokumentiert und bei Wegfall entzogen."},
{"t":"S","req":"Zutritte werden protokolliert; Besucher werden begleitet; technische Schutzmassnahmen sind vorhanden.",
"impl":"Besucher werden registriert und begleitet; technische Schutzmassnahmen (z. B. Alarm/Video im rechtlichen Rahmen) sind vorhanden."},
]},
{"num":"3.1.3","title":"Umgang mit unterstuetzenden Betriebsmitteln","reqs":[
{"t":"M","req":"Der Umgang mit unterstuetzenden Assets (z. B. Verkabelung, Strom-/Klimaversorgung, Serverraeume) ist geregelt und schuetzt vor Ausfall und unbefugtem Zugriff.",
"impl":"Serverraeume und Versorgungseinrichtungen sind zutrittsgeschuetzt und gegen Ausfall abgesichert."},
{"t":"S","req":"Versorgungseinrichtungen werden gewartet und ueberwacht; Redundanzen bestehen fuer kritische Bereiche.",
"impl":"Versorgungseinrichtungen werden gewartet und ueberwacht; fuer kritische Bereiche bestehen Redundanzen (z. B. USV)."},
]},
])
pol(id="R08", fn="R08_Identitaets-und-Zugriffsmanagement",
title="Identitaets- und Zugriffsmanagement", owner="ROLE_IT_LEAD",
purpose="Diese Richtlinie regelt Identifikationsmittel, die sichere Anmeldung, die Verwaltung von Benutzerkonten und Anmeldeinformationen sowie die Vergabe und Kontrolle von Zugriffsrechten.",
related=["R02","R05","R10"],
roles=[("{{ROLE_IT_LEAD}}","Technische Umsetzung IAM"),
("Fachbereiche","Fachliche Freigabe von Berechtigungen"),
("{{ROLE_ISB}}","Ueberwachung der Einhaltung")],
controls=[
{"num":"4.1.1","title":"Identifikationsmittel","reqs":[
{"t":"M","req":"Der Einsatz von Identifikationsmitteln (Benutzerkennungen, Token, Zertifikate) ist geregelt und eindeutig personenbezogen.",
"impl":"Identifikationsmittel werden eindeutig personenbezogen vergeben; Sammelkonten werden vermieden."},
{"t":"S","req":"Ausgabe, Ruecknahme und Sperrung von Identifikationsmitteln sind dokumentiert.",
"impl":"Ausgabe, Ruecknahme und Sperrung werden dokumentiert."},
]},
{"num":"4.1.2","title":"Sichere Anmeldung","reqs":[
{"t":"M","req":"Der Zugang zu IT-Diensten und IT-Systemen ist durch sichere Authentifizierungsverfahren geschuetzt.",
"impl":"Der Zugang ist durch sichere Authentifizierung geschuetzt; Passwortanforderungen sind zentral vorgegeben."},
{"t":"M","req":"Fuer erhoehten Schutzbedarf und Fernzugriffe wird Mehr-Faktor-Authentifizierung (MFA) eingesetzt.",
"impl":"Fuer Fernzugriffe und erhoehten Schutzbedarf wird MFA ueber {{TECH_MFA}} durchgesetzt."},
{"t":"S","req":"Passwortanforderungen, Sperrmechanismen und Sitzungsverwaltung sind definiert.",
"impl":"Passwortrichtlinie, Sperrmechanismen und Sitzungs-Timeouts sind zentral konfiguriert."},
]},
{"num":"4.1.3","title":"Konten und Anmeldeinformationen","reqs":[
{"t":"M","req":"Benutzerkonten und Anmeldeinformationen werden sicher verwaltet (Erstellung, Aenderung, Sperrung, Loeschung).",
"impl":"Konten werden ueber einen definierten Lebenszyklus (Joiner/Mover/Leaver) verwaltet."},
{"t":"S","req":"Privilegierte und technische Konten werden gesondert verwaltet und ueberwacht.",
"impl":"Privilegierte und technische Konten werden gesondert verwaltet und ihre Nutzung ueberwacht."},
]},
{"num":"4.2.1","title":"Zugriffsrechte","reqs":[
{"t":"M","req":"Zugriffsrechte werden nach dem Minimalprinzip (need-to-know / least privilege) vergeben; Verfahren fuer Antrag, Pruefung und Genehmigung bestehen.",
"impl":"Zugriffsrechte werden nach dem Minimalprinzip vergeben; Antrag, Pruefung und Genehmigung erfolgen ueber ein definiertes Verfahren."},
{"t":"M","req":"Zugriffsrechte werden bei Wegfall des Bedarfs entzogen und regelmaessig ueberprueft (Rezertifizierung){{IF_CUSTOMER}}.",
"impl":"Berechtigungen werden bei Wegfall entzogen und mindestens {{REVIEW_CYCLE}} rezertifiziert{{IF_CUSTOMER_IMPL}}."},
{"t":"S","req":"Berechtigungen werden ueber Rollen vergeben; normale Konten erhalten keine privilegierten Rechte.",
"impl":"Berechtigungen werden rollenbasiert vergeben; Standardkonten erhalten keine privilegierten Rechte."},
]},
])
pol(id="R09", fn="R09_Kryptografie-und-Uebertragungsrichtlinie",
title="Kryptografie- und Uebertragungsrichtlinie", owner="ROLE_IT_LEAD",
purpose="Diese Richtlinie regelt den Einsatz kryptografischer Verfahren, die Schluesselverwaltung sowie den Schutz von Informationen bei der Uebertragung.",
related=["R08","R10","R12"],
roles=[("{{ROLE_IT_LEAD}}","Verfahren und Schluesselverwaltung"),
("{{ROLE_ISB}}","Vorgabe zulaessiger Algorithmen/Staerken")],
controls=[
{"num":"5.1.1","title":"Einsatz kryptografischer Verfahren","reqs":[
{"t":"M","req":"Der Einsatz von Kryptografie ist geregelt; zulaessige Verfahren und Schluessellaengen entsprechen dem Stand der Technik.",
"impl":"Zulaessige Verfahren und Schluessellaengen entsprechen dem Stand der Technik ({{TECH_CRYPTO}}) und sind vorgegeben."},
{"t":"M","req":"Schluessel werden ueber ihren gesamten Lebenszyklus sicher verwaltet.",
"impl":"Schluessel werden ueber ihren Lebenszyklus (Erzeugung, Verteilung, Speicherung, Sperrung, Vernichtung) sicher verwaltet."},
{"t":"S","req":"Ein Kryptokonzept ist dokumentiert{{IF_PKI}}.",
"impl":"Ein Kryptokonzept ist dokumentiert{{IF_PKI_IMPL}}."},
]},
{"num":"5.1.2","title":"Schutz bei Uebertragung","reqs":[
{"t":"M","req":"Informationen werden abhaengig vom Schutzbedarf bei der Uebertragung geschuetzt (z. B. Transportverschluesselung, gesicherte Kanaele).",
"impl":"Informationen werden schutzbedarfsgerecht per Transportverschluesselung (z. B. TLS) und gesicherte Kanaele geschuetzt."},
{"t":"S","req":"Regeln fuer sichere Uebertragungswege (E-Mail-Verschluesselung, sichere Dateiuebertragung) sind definiert.",
"impl":"Regeln fuer E-Mail-Verschluesselung und sichere Dateiuebertragung sind definiert."},
]},
])
pol(id="R10", fn="R10_Betriebssicherheit",
title="Betriebssicherheit", owner="ROLE_IT_LEAD",
purpose="Diese Richtlinie regelt den sicheren IT-Betrieb: Change-Management, Trennung von Umgebungen, Malware-Schutz, Protokollierung, Schwachstellen- und Patch-Management, technische Pruefungen, Netzwerksicherheit sowie Datensicherung und Wiederherstellung.",
related=["R04","R08","R11"],
roles=[("{{ROLE_IT_LEAD}}","Sicherer IT-Betrieb"),
("{{ROLE_ISB}}","Ueberwachung der Einhaltung")],
controls=[
{"num":"5.2.1","title":"Change-Management","reqs":[
{"t":"M","req":"Aenderungen an IT-Systemen werden geregelt beantragt, bewertet, getestet, genehmigt und dokumentiert.",
"impl":"Aenderungen durchlaufen ein Change-Verfahren mit Bewertung, Test, Genehmigung und Dokumentation."}]},
{"num":"5.2.2","title":"Trennung der Umgebungen","reqs":[
{"t":"M","req":"Entwicklungs-, Test- und Produktionsumgebungen sind getrennt.",
"impl":"Entwicklung, Test und Produktion sind getrennt betrieben."},
{"t":"S","req":"Produktivdaten werden nicht ungeschuetzt in Test-/Entwicklungsumgebungen verwendet.",
"impl":"Produktivdaten werden in Test-/Entwicklungsumgebungen nur anonymisiert/pseudonymisiert genutzt."}]},
{"num":"5.2.3","title":"Schutz vor Malware","reqs":[
{"t":"M","req":"Anforderungen zum Schutz vor Schadsoftware sind bestimmt; technische und organisatorische Massnahmen sind umgesetzt.",
"impl":"Malware-Schutz ist ueber {{TECH_MALWARE}} auf allen relevanten Systemen umgesetzt."},
{"t":"S","req":"Schutzsoftware wird automatisch aktualisiert; unnoetige Netzwerkdienste sind deaktiviert.",
"impl":"Schutzsoftware aktualisiert sich automatisch; unnoetige Netzwerkdienste sind deaktiviert."}]},
{"num":"5.2.4","title":"Protokollierung und Auswertung","reqs":[
{"t":"M","req":"Sicherheitsrelevante Ereignisse werden protokolliert und ausgewertet.",
"impl":"Sicherheitsrelevante Ereignisse werden protokolliert und ueber {{TECH_SIEM}} ausgewertet."},
{"t":"S","req":"Protokolle sind vor Manipulation geschuetzt; Aufbewahrungsfristen sind definiert.",
"impl":"Protokolle sind manipulationsgeschuetzt; Aufbewahrungsfristen sind definiert."}]},
{"num":"5.2.5","title":"Schwachstellen- und Patch-Management","reqs":[
{"t":"M","req":"Schwachstellen werden identifiziert und risikoorientiert behoben (Patch-Management).",
"impl":"Schwachstellen werden erfasst und risikoorientiert gepatcht; kritische Patches werden priorisiert."},
{"t":"S","req":"Es besteht ein regelmaessiges Schwachstellen-Scanning; kritische Patches werden priorisiert.",
"impl":"Ein regelmaessiges Schwachstellen-Scanning ist etabliert."}]},
{"num":"5.2.6","title":"Technische Ueberpruefung","reqs":[
{"t":"M","req":"IT-Systeme und Dienste werden technisch ueberprueft (z. B. Systemhaertung, Penetrationstests).",
"impl":"Systeme werden gehaertet und risikoorientiert technisch geprueft (z. B. Penetrationstests)."}]},
{"num":"5.2.7","title":"Netzwerksicherheit","reqs":[
{"t":"M","req":"Das Netzwerk wird gesteuert und abgesichert (Segmentierung, Zugangskontrolle, Absicherung nach aussen).",
"impl":"Das Netzwerk ist segmentiert, zugangskontrolliert und nach aussen abgesichert (Firewall)."},
{"t":"M","req":"{{IF_OT}}Produktions-/OT-Netze sind von Office-Netzen getrennt und besonders abgesichert.",
"impl":"{{IF_OT}}Produktions-/OT-Netze sind von Office-Netzen getrennt und besonders abgesichert.","cond":"FLAG_OT_USED"},
{"t":"S","req":"Ein aktueller Netzplan und ein Segmentierungskonzept liegen vor.",
"impl":"Ein aktueller Netzplan und ein Segmentierungskonzept werden gepflegt."}]},
{"num":"5.2.9","title":"Backup und Wiederherstellung","reqs":[
{"t":"M","req":"Daten und IT-Dienste werden gesichert; Wiederherstellung ist geregelt.",
"impl":"Daten und Dienste werden ueber {{TECH_BACKUP}} gesichert; die Wiederherstellung ist geregelt."},
{"t":"M","req":"Wiederherstellungstests werden regelmaessig durchgefuehrt.",
"impl":"Wiederherstellungstests werden mindestens {{REVIEW_CYCLE}} durchgefuehrt und dokumentiert."},
{"t":"S","req":"Backups werden geschuetzt/ausgelagert aufbewahrt (z. B. offline/immutable).",
"impl":"Backups werden geschuetzt und ausgelagert (offline/immutable) aufbewahrt."}]},
])
pol(id="R11", fn="R11_Sichere-Systembeschaffung-und-Entwicklung",
title="Sichere Systembeschaffung und Entwicklung", owner="ROLE_IT_LEAD",
purpose="Diese Richtlinie regelt die Beruecksichtigung der Informationssicherheit bei Beschaffung und Weiterentwicklung von IT-Systemen, Anforderungen an Netzdienste sowie Rueckgabe und sichere Loeschung von Informationen.",
related=["R02","R10","R12"],
roles=[("{{ROLE_IT_LEAD}}","Beschaffung/Entwicklung"),
("{{ROLE_ISB}}","Definition Sicherheitsanforderungen")],
controls=[
{"num":"5.3.1","title":"Sicherheit bei Beschaffung/Entwicklung","reqs":[
{"t":"M","req":"Bei Beschaffung oder Weiterentwicklung von IT-Systemen werden Informationssicherheitsanforderungen ermittelt und beruecksichtigt.",
"impl":"Sicherheitsanforderungen sind fester Bestandteil von Beschaffungs- und Aenderungsprozessen (Security by Design)."},
{"t":"M","req":"{{IF_DEV}}Fuer die Eigenentwicklung gelten Vorgaben fuer sichere Entwicklung (Secure Coding, Tests, Freigaben).",
"impl":"{{IF_DEV}}Fuer die Eigenentwicklung gelten Secure-Coding-Vorgaben mit Tests und Freigaben.","cond":"FLAG_DEV_INHOUSE"},
{"t":"S","req":"Sicherheitsanforderungen sind Bestandteil des Beschaffungs-/Entwicklungsprozesses (Security by Design).",
"impl":"Sicherheitsanforderungen werden dokumentiert und ihre Umsetzung vor Freigabe geprueft."}]},
{"num":"5.3.2","title":"Anforderungen an Netzdienste","reqs":[
{"t":"M","req":"Sicherheitsanforderungen an Netzdienste (intern und extern) sind definiert.",
"impl":"Fuer genutzte Netzdienste sind Sicherheitsanforderungen definiert und vereinbart."}]},
{"num":"5.3.3","title":"Rueckgabe und sichere Loeschung","reqs":[
{"t":"M","req":"Rueckgabe und sichere Entfernung/Loeschung von Informationen und Assets sind geregelt.",
"impl":"Rueckgabe und sichere Loeschung (bei Vertragsende, Geraeteausmusterung) sind geregelt und werden nachgewiesen."},
{"t":"S","req":"Loeschverfahren entsprechen dem Schutzbedarf; Loeschungen werden nachgewiesen.",
"impl":"Loeschverfahren richten sich nach dem Schutzbedarf; Loeschungen werden dokumentiert."}]},
])
pol(id="R12", fn="R12_Cloud-KI-und-externe-IT-Dienste",
title="Cloud-, KI- und externe IT-Dienste", owner="ROLE_ISB",
purpose="Diese Richtlinie regelt den Schutz von Informationen bei der Nutzung ausgelagerter oder geteilter externer IT-Dienste (Cloud) sowie beim Einsatz von KI-/GenAI-Diensten, einschliesslich Auswahl, Freigabe, zulaessiger Nutzung und Datenpreisgabe.",
related=["R09","R11","R13"],
roles=[("{{ROLE_ISB}}","Freigabe Cloud-/KI-Dienste, Pflege der Freigabeliste"),
("{{ROLE_IT_LEAD}}","Technische Absicherung"),
("Fachbereiche","Nutzung nur freigegebener Dienste")],
controls=[
{"num":"5.3.4","title":"Externe/geteilte IT-Dienste und Cloud","reqs":[
{"t":"M","req":"Bei geteilten externen IT-Diensten ist durch wirksame Mandantentrennung sichergestellt, dass Unbefugte anderer Organisationen nicht auf eigene Informationen zugreifen koennen.",
"impl":"Bei geteilten Diensten wird auf eine wirksame Mandantentrennung geachtet und diese vertraglich zugesichert."},
{"t":"M","req":"{{IF_CLOUD}}Cloud-Dienste werden vor Nutzung bewertet und freigegeben; nur freigegebene Dienste werden fuer Unternehmensinformationen genutzt.",
"impl":"{{IF_CLOUD}}Cloud-Dienste werden vor Nutzung bewertet (Schutzbedarf, Datenlokation, Exit) und freigegeben; die Freigabeliste wird im ISMS-Tool ({{TOOL_NAME}}) gepflegt.","cond":"FLAG_CLOUD_USED"},
{"t":"S","req":"Das Segregationskonzept des Anbieters ist dokumentiert und wird bei Aenderungen angepasst.",
"impl":"Das Segregationskonzept des Anbieters wird dokumentiert und bei Aenderungen aktualisiert."}]},
{"num":"5.3.4-KI","title":"Nutzung von KI-/GenAI-Diensten","flag":"FLAG_AI_USED","reqs":[
{"t":"M","req":"Der Einsatz von KI-/GenAI-Diensten ist geregelt; es werden nur freigegebene Dienste genutzt.",
"impl":"Der Einsatz von KI-/GenAI-Diensten ist geregelt; nur freigegebene Dienste (Freigabeliste im ISMS-Tool) duerfen genutzt werden."},
{"t":"M","req":"Die Eingabe vertraulicher oder personenbezogener Informationen in nicht freigegebene KI-Dienste ist untersagt; zulaessige Datenklassen je Dienst sind definiert.",
"impl":"Zulaessige Datenklassen je KI-Dienst sind definiert; die Eingabe vertraulicher/personenbezogener Daten in nicht freigegebene Dienste ist untersagt."},
{"t":"M","req":"Bei freigegebenen KI-Diensten ist geklaert, ob Eingaben zum Training genutzt werden; eine Trainings-/Weitergabe von Unternehmensdaten wird ausgeschlossen oder vertraglich untersagt.",
"impl":"Bei Freigabe wird geprueft und vertraglich sichergestellt, dass Eingaben nicht zum Training genutzt oder weitergegeben werden."},
{"t":"S","req":"Ergebnisse werden vor geschaeftskritischer Verwendung geprueft (Human-in-the-Loop); der KI-Einsatz wird dokumentiert; regulatorische Anforderungen (z. B. EU AI Act) werden beruecksichtigt.",
"impl":"KI-Ergebnisse werden vor kritischer Verwendung durch Menschen geprueft; der KI-Einsatz wird dokumentiert und regulatorische Anforderungen (EU AI Act) beruecksichtigt."}]},
])
pol(id="R13", fn="R13_Lieferanten-und-Dienstleistersteuerung",
title="Lieferanten- und Dienstleistersteuerung", owner="ROLE_ISB",
purpose="Diese Richtlinie regelt die Sicherstellung der Informationssicherheit bei Auftragnehmern und Lieferanten, Vertraulichkeitsvereinbarungen sowie die Abgrenzung von Verantwortlichkeiten mit externen IT-Dienstleistern.",
related=["R01","R12"],
roles=[("{{ROLE_ISB}}","Steuerung der Lieferantensicherheit, Pflege Lieferantenverzeichnis"),
("Einkauf","Vertragliche Einbindung der Anforderungen")],
controls=[
{"num":"6.1.1","title":"Informationssicherheit bei Lieferanten","reqs":[
{"t":"M","req":"Informationssicherheitsanforderungen an Auftragnehmer/Lieferanten sind ermittelt und werden vertraglich vereinbart und ueberwacht.",
"impl":"Sicherheitsanforderungen an Lieferanten werden ermittelt, vertraglich vereinbart und ueberwacht; das Lieferantenverzeichnis wird im ISMS-Tool ({{TOOL_NAME}}) gepflegt."},
{"t":"M","req":"Lieferanten werden risikoorientiert bewertet.",
"impl":"Lieferanten werden risikoorientiert (nach Schutzbedarf und Zugriff) bewertet."},
{"t":"S","req":"Die Einhaltung der Anforderungen wird regelmaessig ueberprueft (z. B. Nachweise, Audits, TISAX-Label).",
"impl":"Die Einhaltung wird regelmaessig ueberprueft (Nachweise, Audits, TISAX-Label)."}]},
{"num":"6.1.2","title":"Vertraulichkeit","reqs":[
{"t":"M","req":"Der Austausch von Informationen mit Externen ist durch Vertraulichkeitsvereinbarungen (NDA) abgesichert.",
"impl":"Vor dem Austausch schutzbeduerftiger Informationen werden NDAs abgeschlossen."},
{"t":"S","req":"NDA-Vorlagen sind standardisiert; Geltungsdauer und Rueckgabe-/Loeschpflichten sind geregelt.",
"impl":"Standardisierte NDA-Vorlagen mit Geltungsdauer und Rueckgabe-/Loeschpflichten werden verwendet."}]},
{"num":"6.1.3","title":"Abgrenzung der Verantwortlichkeiten","reqs":[
{"t":"M","req":"{{IF_EXTIT}}Verantwortlichkeiten zwischen der Organisation und externen IT-Dienstleistern sind klar abgegrenzt und dokumentiert.",
"impl":"{{IF_EXTIT}}Die Verantwortlichkeiten mit externen IT-Dienstleistern (Betriebs-, Sicherheits-, Meldepflichten) sind abgegrenzt und dokumentiert.","cond":"FLAG_EXTERNAL_IT"},
{"t":"S","req":"Schnittstellen, Eskalations- und Meldewege mit Dienstleistern sind vereinbart.",
"impl":"Schnittstellen sowie Eskalations- und Meldewege sind vertraglich vereinbart."}]},
])
pol(id="R14", fn="R14_Compliance-und-Datenschutz",
title="Compliance und Datenschutz", owner="ROLE_ISB",
purpose="Diese Richtlinie regelt die Einhaltung regulatorischer und vertraglicher Vorgaben sowie den Schutz personenbezogener Daten.",
related=["L00","R03"],
roles=[("{{ROLE_ISB}}","Compliance-Register"),
("{{ROLE_DPO}}","Datenschutz")],
controls=[
{"num":"7.1.1","title":"Regulatorische und vertragliche Compliance","reqs":[
{"t":"M","req":"Relevante gesetzliche, regulatorische und vertragliche Anforderungen an die Informationssicherheit sind identifiziert, dokumentiert und werden eingehalten.",
"impl":"Relevante Anforderungen werden in einem Compliance-/Rechtsregister im ISMS-Tool ({{TOOL_NAME}}) erfasst und ihre Einhaltung nachverfolgt."},
{"t":"S","req":"Ein Compliance-/Rechtsregister wird gepflegt und regelmaessig aktualisiert; Verantwortliche sind benannt.",
"impl":"Das Register wird mindestens {{REVIEW_CYCLE}} aktualisiert; Verantwortliche sind benannt."}]},
{"num":"7.1.2","title":"Schutz personenbezogener Daten","flag":"FLAG_PERSONAL_DATA","reqs":[
{"t":"M","req":"Beim Umgang mit personenbezogenen Daten werden die datenschutzrechtlichen Anforderungen (z. B. DSGVO) beruecksichtigt.",
"impl":"Datenschutzrechtliche Anforderungen (DSGVO) werden beruecksichtigt; {{ROLE_DPO}} ist eingebunden."},
{"t":"M","req":"Ein Verzeichnis der Verarbeitungstaetigkeiten wird gefuehrt.",
"impl":"Das Verzeichnis der Verarbeitungstaetigkeiten wird im ISMS-Tool ({{TOOL_NAME}}) gefuehrt."},
{"t":"S","req":"Technische und organisatorische Massnahmen (TOM), Loeschkonzepte und Betroffenenrechte sind geregelt.",
"impl":"TOM, Loeschkonzepte und Prozesse fuer Betroffenenrechte sind geregelt."}]},
])
# ---------------------------------------------------------------------------
# Inline-Bedingungsersetzungen (Feature-Flags in Req/Impl-Text)
# ---------------------------------------------------------------------------
INLINE = {
"{{IF_CUSTOMER}}":"{{#if FLAG_CUSTOMER_SYSTEMS}}, auch fuer Zugriffe in Kundensystemen{{/if}}",
"{{IF_CUSTOMER_IMPL}}":"{{#if FLAG_CUSTOMER_SYSTEMS}}, auch fuer Zugriffe in Kundensystemen{{/if}}",
"{{IF_PKI}}":"{{#if FLAG_CRYPTO_PKI}} und eine PKI/Zertifikatsverwaltung ist etabliert{{/if}}",
"{{IF_PKI_IMPL}}":"{{#if FLAG_CRYPTO_PKI}}; eine PKI/Zertifikatsverwaltung ist etabliert{{/if}}",
"{{IF_OT}}":"", "{{IF_DEV}}":"", "{{IF_CLOUD}}":"", "{{IF_EXTIT}}":"",
}
def inline(s):
for k,v in INLINE.items(): s=s.replace(k,v)
return s
# ---------------------------------------------------------------------------
# Rendering
# ---------------------------------------------------------------------------
META = """# Richtlinie {title}
| Dokumenteninformation | Wert |
|-----------------------|------|
| Dokumententyp | Richtlinie |
| Geltungsbereich | {{{{ISMS_SCOPE}}}} |
| Organisation | {{{{ORG_NAME}}}} |
| Verantwortlich | {{{{{owner}}}}} |
| Freigabe durch | {{{{ROLE_MANAGEMENT}}}} |
| Version | {{{{DOC_VERSION}}}} |
| Datum | {{{{DOC_DATE}}}} |
| Status | {{{{DOC_STATUS}}}} |
"""
mapping = {"meta":{"paket":"ISMS-Vorlagenpaket v2","standard":"VDA ISA 2027 (Information Security)"},"anforderungen":[]}
def suffix(reqs):
m=s=0; ids=[]
for r in reqs:
if r["t"]=="M": m+=1; ids.append("M%d"%m)
else: s+=1; ids.append("S%d"%s)
return ids
for p in POLICIES:
ids_by_control={}
body=[META.format(title=p["title"], owner=p["owner"])]
body.append("\n## 1. Zweck\n\n"+inline(p["purpose"])+" Sie konkretisiert die Informationssicherheitsleitlinie ({{LINK:L00}}) und dient der Erfuellung der Anforderungen des VDA ISA 2027.\n")
body.append("## 2. Geltungsbereich\n\nDiese Richtlinie gilt innerhalb des definierten ISMS-Geltungsbereichs ({{ISMS_SCOPE_DESCRIPTION}}).\n")
body.append("## 3. Anforderungen und Umsetzung\n\n> Aufbau je Abschnitt: **Anforderung** (normativ, aus VDA ISA; [MUSS]/[SOLL]) und **Umsetzung bei {{ORG_NAME}}** (tatsaechliche Ausgestaltung, anzupassen wo erforderlich).\n")
sec=0
for c in p["controls"]:
sec+=1
ids=suffix(c["reqs"])
head=f"### 3.{sec} {c['title']} (ISA {c['num']})\n"
wrap_flag=c.get("flag")
block=[head, "\n**Anforderung**\n"]
for r,rid in zip(c["reqs"], ids):
full_id=f"{c['num']}-{rid}"
tag="[MUSS]" if r["t"]=="M" else "[SOLL]"
line=f"<!-- REQ {full_id} -->\n- **{tag}** {inline(r['req'])}"
cond = r.get("cond")
if r["t"]=="S" and not cond: cond="FLAG_INCLUDE_SHOULD"
if cond: line=f"{{{{#if {cond}}}}}\n{line}\n{{{{/if}}}}"
block.append(line)
block.append("\n**Umsetzung bei {{ORG_NAME}}**\n")
for r,rid in zip(c["reqs"], ids):
full_id=f"{c['num']}-{rid}"
line=f"<!-- IMPL {full_id} -->\n{inline(r['impl'])}"
cond = r.get("cond")
if r["t"]=="S" and not cond: cond="FLAG_INCLUDE_SHOULD"
if cond: line=f"{{{{#if {cond}}}}}\n{line}\n{{{{/if}}}}"
block.append(line)
# mapping-Eintrag
mapping["anforderungen"].append({
"id":full_id,"policy":p["id"],"policy_file":p["fn"]+".md",
"control":c["num"],"type":"MUSS" if r["t"]=="M" else "SOLL",
"req_anchor":f"REQ {full_id}","impl_anchor":f"IMPL {full_id}",
"condition": r.get("cond") or (None if r["t"]=="M" else "FLAG_INCLUDE_SHOULD"),
"requirement": inline(r["req"]).replace("{{IF_OT}}","").replace("{{IF_DEV}}","").replace("{{IF_CLOUD}}","").replace("{{IF_EXTIT}}",""),
"implementation": inline(r["impl"]).replace("{{IF_OT}}","").replace("{{IF_DEV}}","").replace("{{IF_CLOUD}}","").replace("{{IF_EXTIT}}",""),
"link":f"{{{{LINK:{p['id']}#{c['num']}}}}}",
"nachweis_link":"{{LINK:NACHWEISREGISTER}}"
})
section_text="\n".join(block)
if wrap_flag:
section_text=f"{{{{#if {wrap_flag}}}}}\n{section_text}\n{{{{/if}}}}"
body.append(section_text+"\n")
# Verbindlichkeit / Rollen / Pruefung / Nachweise / Verwandte
body.append("## 4. Verbindlichkeit\n\nDiese Richtlinie ist fuer alle betroffenen Rollen im Geltungsbereich verbindlich. Die Einhaltung wird durch {{"+p["owner"]+"}} ueberwacht.\n")
roles="\n".join("| %s | %s |"%(r,v) for r,v in p["roles"])
body.append("## 5. Rollen und Verantwortlichkeiten\n\n| Rolle | Verantwortung in dieser Richtlinie |\n|-------|-------------------------------------|\n"+roles+"\n")
body.append("## 6. Ueberpruefung und Aktualisierung\n\nDiese Richtlinie wird mindestens {{REVIEW_CYCLE}} sowie anlassbezogen durch {{"+p["owner"]+"}} ueberprueft und durch {{ROLE_MANAGEMENT}} freigegeben.\n")
body.append("## 7. Nachweise\n\nDie Nachweise zur Umsetzung dieser Richtlinie werden nicht in diesem Dokument gefuehrt, sondern zentral im Nachweisregister ({{LINK:NACHWEISREGISTER}}) sowie in den zugehoerigen Eintraegen des ISMS-Tools ({{TOOL_NAME}}).\n")
rel=", ".join("{{LINK:%s}}"%x for x in p["related"])
body.append("## 8. Verwandte Dokumente\n\n- Informationssicherheitsleitlinie: {{LINK:L00}}\n- ISA-Mapping-Matrix: {{LINK:ISA_MAPPING}}\n- Nachweisregister: {{LINK:NACHWEISREGISTER}}\n- Weitere: "+rel+"\n\n<!-- Das Mapping der Anforderungen (REQ/IMPL) zu VDA-ISA-Controls ist in mapping.json hinterlegt und wird vom Tool ueber die Hidden-Anker aufgeloest. Im Lesemodus nicht sichtbar. -->\n")
txt="\n".join(body)
with open(os.path.join(RDIR,p["fn"]+".md"),"w",encoding="utf-8") as f:
f.write(txt)
json.dump(mapping, open(os.path.join(BASE,"mapping.json"),"w",encoding="utf-8"), ensure_ascii=False, indent=1)
print("Richtlinien:", len(POLICIES), "| Mapping-Eintraege:", len(mapping["anforderungen"]))