# -*- 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 - 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"\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"\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\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"]))