feat(seed): sieben Vorlagen, Beispielbestand und Demo-Kunden
Prüfung / pruefung (push) Canceled after 0s
Prüfung / pruefung (pull_request) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
Prüfung / e2e (pull_request) Canceled after 0s

Die sieben Ablaeufe des Hauses liegen nach dem Seed als veroeffentlichte
Version 1 bereit: 36 Abschnitte, 155 Schritte, 28 Variablen, jeder
Schritt mit Hilfetext. Sie stehen als JSON im Austauschformat unter
prisma/seed-daten/vorlagen/ und werden beim Einrichten gegen dasselbe
Schema geprueft wie ein Import.

Der Seed richtet ein, er raeumt nicht auf: jede Zeile hat einen
sprechenden Schluessel, und was es schon gibt, bleibt unberuehrt. Erst
Entwurf, dann veroeffentlichen - die Trigger aus #010 lassen keinen
anderen Weg zu. Im Modus DIENSTLEISTUNG haengt der Beispielbestand an
der Musterfirma, LZ-7K3F9Q fuehrt also auf MUS-PC-001.

Dazu zwei Zusagen eingeloest, die niemand deckte: {{ou_gesperrt}} kommt
jetzt wirklich aus den Einstellungen, und Titel und Hilfetext eines
Laufs bekommen dasselbe generierte Passwort wie der Befehl daneben -
vorher stand im Befehl A und im Hilfetext B.

Closes #17

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Florian Wilde
2026-09-26 05:26:04 +02:00
co-authored by Claude Opus 5
parent ae290345b7
commit 5c81a62cfd
33 changed files with 3400 additions and 119 deletions
@@ -0,0 +1,253 @@
{
"format": 1,
"name": "PC Neuinstallation",
"beschreibung": "Vollständige Neuinstallation eines Arbeitsplatzrechners: von der Datensicherung des alten Systems über Installation, Einbindung und Verschlüsselung bis zur Übergabe an den Benutzer.",
"kategorie": "Client",
"schlagworte": ["windows", "client", "neuinstallation", "bitlocker"],
"struktur": {
"variablen": [
{
"schluessel": "os_version",
"beschriftung": "Windows-Version",
"typ": "AUSWAHL",
"optionen": ["Windows 11 Pro", "Windows 11 Enterprise"],
"pflicht": true
},
{
"schluessel": "join_typ",
"beschriftung": "Art der Einbindung",
"typ": "AUSWAHL",
"optionen": ["Active Directory", "Entra ID", "Hybrid", "Workgroup"],
"pflicht": true
}
],
"abschnitte": [
{
"titel": "Vorbereitung",
"schritte": [
{
"titel": "Ticket und Endbenutzer im Lauf erfasst",
"hilfetext": "Ohne Ticketnummer und zugeordnete Person lässt sich später keine Rückfrage zuordnen. Beides gehört in die Kopfdaten des Laufs, nicht in einen Kommentar.",
"pflicht": true
},
{
"titel": "Datensicherung des alten Systems geprüft (Profil, Desktop, Dokumente, lokale PST, Browser-Favoriten)",
"hilfetext": "Auch nach lokal gespeicherten Daten außerhalb des Profils fragen, z. B. `C:\\Daten`.",
"pflicht": true
},
{
"titel": "Sondersoftware und Lizenzen des Benutzers notiert",
"hilfetext": "Vor dem Löschen erfassen, welche Programme und Lizenzschlüssel auf dem alten System liegen — hinterher ist die Information weg. Dongles und an die Hardware gebundene Aktivierungen mit aufführen.",
"typ": "TEXT",
"pflicht": true,
"konfig": { "mehrzeilig": true }
},
{
"titel": "BIOS/UEFI auf aktuellen Stand gebracht",
"hilfetext": "Firmware vor der Installation aktualisieren, nicht danach: ein Update setzt Secure-Boot- und TPM-Einstellungen gelegentlich zurück."
},
{
"titel": "Secure Boot und TPM 2.0 aktiv",
"hilfetext": "In der Firmware prüfen, nicht nur in Windows. Ohne TPM 2.0 lässt sich BitLocker später nur mit Startschlüssel auf einem USB-Stick betreiben.",
"pflicht": true
}
]
},
{
"titel": "Installation",
"schritte": [
{
"titel": "{{os_version}} installiert",
"hilfetext": "Edition und Sprache müssen zur Lizenz passen. Saubere Installation auf gelöschter Systempartition, keine Aktualisierung des alten Stands.",
"pflicht": true
},
{
"titel": "Hostname gesetzt",
"hilfetext": "Der Name muss dem Namensschema folgen; der Befehl startet den Rechner neu. Danach prüfen, ob der Name auch im DNS angekommen ist.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": {
"shell": "powershell",
"befehl": "Rename-Computer -NewName \"{{hostname}}\" -Restart"
}
},
{
"titel": "Treiber vollständig, keine unbekannten Geräte im Geräte-Manager",
"hilfetext": "Im Geräte-Manager auch „Ausgeblendete Geräte anzeigen“ einschalten. Kein gelbes Ausrufezeichen, kein unbekanntes Gerät — fehlt etwas, ist es meist der Chipsatz-Treiber.",
"pflicht": true
},
{
"titel": "Windows Updates vollständig eingespielt",
"hilfetext": "Mehrfach nach Updates suchen, bis nichts mehr kommt: Kumulativ- und Treiber-Updates erscheinen oft erst nach einem Neustart.",
"pflicht": true
},
{
"titel": "Installierte Version dokumentieren",
"hilfetext": "Die Ausgabe in den nächsten Schritt übertragen. Supportfälle beziehen sich auf die Build-Nummer, nicht auf „Windows 11“.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": {
"shell": "powershell",
"befehl": "Get-ComputerInfo | Select-Object OsName, OsVersion, OsBuildNumber"
}
},
{
"titel": "Build-Nummer",
"hilfetext": "Die Build aus der Ausgabe des vorigen Schritts, etwa 26100. Ohne sie ist später nicht nachvollziehbar, auf welchem Stand das Gerät ausgeliefert wurde.",
"typ": "TEXT",
"pflicht": true
}
]
},
{
"titel": "Einbindung",
"schritte": [
{
"titel": "Einbindung durchgeführt: {{join_typ}}",
"hilfetext": "Die Art der Einbindung entscheidet über Anmeldung und Richtlinien. Ein Gerät gehört in genau eine Domäne bzw. einen Tenant — nicht zusätzlich woanders anmelden.",
"pflicht": true
},
{
"titel": "Entra-Status prüfen",
"hilfetext": "Unter „Device State“ muss `AzureAdJoined` bzw. `DomainJoined` auf YES stehen; unter „SSO State“ zeigt sich, ob ein gültiges Token vorliegt.",
"typ": "BEFEHL",
"konfig": { "shell": "cmd", "befehl": "dsregcmd /status" }
},
{
"titel": "Gruppenrichtlinien prüfen",
"hilfetext": "Zeigt die angewendeten Richtlinien und die Gruppenzugehörigkeit des Rechners. Fehlt eine erwartete Richtlinie, stimmt meist die OU nicht.",
"typ": "BEFEHL",
"konfig": { "shell": "cmd", "befehl": "gpresult /r" }
},
{
"titel": "Gerät in richtiger OU bzw. Gerätegruppe",
"hilfetext": "Die OU bestimmt, welche Richtlinien greifen. Nach dem Verschieben `gpupdate /force` und einen Neustart, sonst gilt weiter der alte Stand.",
"pflicht": true
}
]
},
{
"titel": "Software",
"schritte": [
{
"titel": "RMM-Agent installiert und meldet sich",
"hilfetext": "Nicht nur installieren, sondern in der Konsole nachsehen, ob das Gerät online erscheint und der richtigen Gruppe zugeordnet ist.",
"pflicht": true
},
{
"titel": "Virenschutz/EDR installiert und aktiv",
"hilfetext": "Echtzeitschutz aktiv, Signaturen aktuell, Gerät im Portal sichtbar. Zwei Scanner parallel behindern sich gegenseitig — der ersetzte muss weg.",
"pflicht": true
},
{
"titel": "Office installiert und aktiviert",
"hilfetext": "Eine Anwendung öffnen und unter „Konto“ prüfen, dass die richtige Lizenz und das richtige Konto hinterlegt sind.",
"pflicht": true
},
{
"titel": "Standardsoftware laut Firmenstandard installiert",
"hilfetext": "Der Firmenstandard steht in der Dokumentation, nicht im Kopf. Abweichungen im nächsten Schritt festhalten.",
"pflicht": true
},
{
"titel": "Zusätzlich installierte Sondersoftware",
"hilfetext": "Alles, was über den Standard hinausgeht, mit Version und Lizenzherkunft notieren — beim nächsten Gerätetausch ist das die Vorlage.",
"typ": "TEXT",
"konfig": { "mehrzeilig": true }
}
]
},
{
"titel": "Sicherheit",
"schritte": [
{
"titel": "BitLocker auf allen festen Laufwerken aktiv",
"hilfetext": "Datenpartitionen mit verschlüsseln, nicht nur C:. Wechseldatenträger nur, wenn die Richtlinie es vorsieht.",
"pflicht": true
},
{
"titel": "BitLocker-Status prüfen",
"hilfetext": "Erwartet werden „Schutzstatus: Der Schutz ist aktiviert“ und „Verschlüsselt: 100 %“. Solange die Verschlüsselung noch läuft, ist das Laufwerk nicht geschützt.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": { "shell": "cmd", "befehl": "manage-bde -status C:" }
},
{
"titel": "Recovery-Key in AD/Entra bzw. Passwortmanager hinterlegt",
"hilfetext": "Den Schlüssel niemals in diese Checkliste schreiben.",
"pflicht": true
},
{
"titel": "Lokales Adminkonto nach Standard (LAPS aktiv oder Passwort im Passwortmanager)",
"hilfetext": "Kein gemeinsames Kennwort über mehrere Geräte. Mit LAPS prüfen, ob das Kennwort tatsächlich im Verzeichnis ankommt.",
"pflicht": true
},
{
"titel": "Windows-Firewall in allen Profilen aktiv",
"hilfetext": "Domäne, Privat und Öffentlich einzeln prüfen. Manche Installationspakete schalten ein einzelnes Profil ab und lassen es so.",
"pflicht": true
}
]
},
{
"titel": "Benutzer",
"schritte": [
{
"titel": "Daten zurückgespielt und vom Benutzer stichprobenartig geprüft",
"hilfetext": "Die Person öffnet selbst zwei oder drei Dateien und ihr Mailarchiv. Erst danach gilt die Sicherung als brauchbar — und erst danach darf das Altgerät gelöscht werden.",
"pflicht": true
},
{
"titel": "Drucker und Netzlaufwerke eingerichtet",
"hilfetext": "Einmal probedrucken und in jedem Laufwerk eine Datei speichern. Ein verbundenes Laufwerk heißt nicht, dass Schreibrechte bestehen.",
"pflicht": true
},
{
"titel": "Mailprofil eingerichtet, Senden/Empfangen getestet",
"hilfetext": "Testmail nach außen und zurück. Signatur, Freigabekalender und zusätzliche Postfächer nicht vergessen.",
"pflicht": true
},
{
"titel": "Funktionstest gemeinsam mit {{benutzer}} durchgeführt",
"hilfetext": "Die Programme durchgehen, die die Person täglich braucht. Was hier auffällt, kostet zehn Minuten; was später auffällt, einen zweiten Termin.",
"pflicht": true
}
]
},
{
"titel": "Abschluss",
"schritte": [
{
"titel": "Inventar und Dokumentation aktualisiert",
"hilfetext": "Seriennummer, Standort, Besitzer und Kaufdatum nachziehen, damit ein Garantiefall später zuzuordnen ist.",
"pflicht": true
},
{
"titel": "Gerät im Monitoring sichtbar",
"hilfetext": "Im Monitoring nachsehen, ob das Gerät Werte liefert und die Schwellwerte gesetzt sind. Ein installierter Agent allein sagt nichts.",
"pflicht": true
},
{
"titel": "Verbleib Altgerät bzw. alter Datenträger",
"hilfetext": "Erst eintragen, wenn die Daten nachweislich zurückgespielt und geprüft sind. „Sicher gelöscht“ heißt überschrieben, nicht formatiert.",
"typ": "AUSWAHL",
"pflicht": true,
"konfig": {
"optionen": ["Sicher gelöscht", "Datenträger vernichtet", "Eingelagert", "Kein Altgerät"]
}
},
{
"titel": "Gerät an {{benutzer}} übergeben",
"hilfetext": "Übergabe mit Datum festhalten. Bei Notebooks Netzteil, Tasche und Dockingstation mitzählen.",
"pflicht": true
},
{
"titel": "Ticket {{ticket}} geschlossen",
"hilfetext": "Im Ticket kurz festhalten, was getauscht wurde und wo die Dokumentation liegt. Der Laufzettel ersetzt den Abschlusskommentar nicht.",
"pflicht": true
}
]
}
]
}
}
@@ -0,0 +1,247 @@
{
"format": 1,
"name": "Mitarbeiter-Onboarding",
"beschreibung": "Neues Benutzerkonto im Active Directory oder in Entra ID anlegen, Hardware bereitstellen und den ersten Arbeitstag begleiten.",
"kategorie": "Benutzer",
"schlagworte": ["onboarding", "eintritt", "benutzerkonto", "active directory", "entra id"],
"struktur": {
"variablen": [
{
"schluessel": "konto_typ",
"beschriftung": "Kontotyp",
"typ": "AUSWAHL",
"optionen": ["Active Directory", "Entra ID"],
"pflicht": true
},
{
"schluessel": "vorname",
"beschriftung": "Vorname",
"typ": "TEXT",
"pflicht": true
},
{
"schluessel": "nachname",
"beschriftung": "Nachname",
"typ": "TEXT",
"pflicht": true
},
{
"schluessel": "upn",
"beschriftung": "UPN (User Principal Name)",
"typ": "TEXT",
"pflicht": true
},
{
"schluessel": "sam",
"beschriftung": "Anmeldename (sAMAccountName)",
"typ": "TEXT"
},
{
"schluessel": "mail",
"beschriftung": "Mail-Adresse",
"typ": "TEXT"
},
{
"schluessel": "abteilung",
"beschriftung": "Abteilung",
"typ": "TEXT",
"pflicht": true
},
{
"schluessel": "ou",
"beschriftung": "Ziel-OU (leer lassen: nimmt die Ziel-OU der Abteilung)",
"typ": "TEXT"
},
{
"schluessel": "gruppen",
"beschriftung": "Gruppen, kommagetrennt (leer lassen: nimmt die Standardgruppen der Abteilung)",
"typ": "TEXT"
},
{
"schluessel": "eintrittsdatum",
"beschriftung": "Eintrittsdatum",
"typ": "DATUM",
"pflicht": true
},
{
"schluessel": "vorgesetzter",
"beschriftung": "Vorgesetzter",
"typ": "TEXT"
}
],
"abschnitte": [
{
"titel": "Vorbereitung",
"schritte": [
{
"titel": "Anforderung vollständig: Abteilung, Vorgesetzter, Eintrittsdatum, benötigte Zugriffe, Hardware",
"hilfetext": "Eintritt am {{eintrittsdatum}} — bis dahin müssen Konto, Postfach und Gerät stehen. Fehlt eine dieser Angaben, steht der Lauf später fest. Einmal beim Vorgesetzten nachfragen ist billiger, als Konto, OU und Gruppen hinterher zu korrigieren.",
"pflicht": true
},
{
"titel": "Referenzbenutzer für Berechtigungen (falls genannt)",
"hilfetext": "Ein bestehendes Konto derselben Rolle als Vorbild für Gruppen und Ablagerechte. Nicht blind kopieren: gewachsene Sonderrechte wandern sonst mit. Ist keiner genannt, das hier vermerken.",
"typ": "TEXT",
"pflicht": true
},
{
"titel": "Namensschema geprüft: UPN {{upn}}, Anmeldename {{sam}}, Mail {{mail}}",
"hilfetext": "Vorschläge kommen aus den Namensregeln in den Einstellungen, OU und Gruppen aus der Abteilung. Vor dem Anlegen im Verzeichnis prüfen, ob der Name schon vergeben ist.",
"pflicht": true
}
]
},
{
"titel": "Konto anlegen (Active Directory)",
"schritte": [
{
"titel": "Konto anlegen",
"hilfetext": "Dieser Abschnitt gilt nur für den Kontotyp „Active Directory“ (gewählt: {{konto_typ}}). Trifft er nicht zu, wird er als Ganzes über „Abschnitt trifft nicht zu“ erledigt — nicht Schritt für Schritt abgehakt.\n\nDas Passwort im Befehl entsteht bei jeder Anzeige neu und wird nirgends gespeichert — weder im Schrittergebnis noch im Protokoll oder im Ausdruck. Deshalb: Befehl ausführen und das Passwort im selben Zug in den Passwortmanager übertragen.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": {
"shell": "powershell",
"befehl": "New-ADUser -Name \"{{vorname}} {{nachname}}\" -GivenName \"{{vorname}}\" -Surname \"{{nachname}}\" `\n -DisplayName \"{{vorname}} {{nachname}}\" -SamAccountName \"{{sam}}\" -UserPrincipalName \"{{upn}}\" `\n -EmailAddress \"{{mail}}\" -Department \"{{abteilung}}\" -Path \"{{ou}}\" `\n -AccountPassword (ConvertTo-SecureString \"{{generiertes_passwort}}\" -AsPlainText -Force) `\n -ChangePasswordAtLogon $true -Enabled $true"
}
},
{
"titel": "Initialpasswort im Passwortmanager hinterlegt und sicher an den Benutzer bzw. Vorgesetzten übermittelt",
"hilfetext": "Das Passwort aus dem Befehl oben wird nicht gespeichert.",
"pflicht": true
},
{
"titel": "Gruppen zuweisen",
"hilfetext": "Setzt die Standardgruppen der Abteilung aus {{gruppen}}. Leerzeichen um die Kommata sind unschädlich, `Trim()` entfernt sie; die Gruppen müssen im Verzeichnis aber genau so heißen.",
"typ": "BEFEHL",
"konfig": {
"shell": "powershell",
"befehl": "\"{{gruppen}}\".Split(\",\") | ForEach-Object { Add-ADGroupMember -Identity $_.Trim() -Members \"{{sam}}\" }"
}
},
{
"titel": "Vorgesetzten setzen",
"hilfetext": "`{{vorgesetzter_sam}}` ist ein eingebauter Platzhalter und kommt aus dem Mitarbeiter am Lauf. Solange die Verknüpfung fehlt, den Anmeldenamen von {{vorgesetzter}} von Hand einsetzen.",
"typ": "BEFEHL",
"konfig": {
"shell": "powershell",
"befehl": "Set-ADUser -Identity \"{{sam}}\" -Manager \"{{vorgesetzter_sam}}\""
}
},
{
"titel": "Kontrolle",
"hilfetext": "Zeigt Name, UPN, Abteilung, Vorgesetzten und Gruppen in einer Liste. Die Ausgabe wirklich lesen: eine fehlende Gruppe fällt sonst erst als fehlender Zugriff auf.",
"typ": "BEFEHL",
"konfig": {
"shell": "powershell",
"befehl": "Get-ADUser -Identity \"{{sam}}\" -Properties MemberOf, Department, Manager | Format-List Name, UserPrincipalName, Department, Manager, MemberOf"
}
}
]
},
{
"titel": "Konto anlegen (Entra ID)",
"schritte": [
{
"titel": "Konto anlegen",
"hilfetext": "Dieser Abschnitt gilt nur für den Kontotyp „Entra ID“ (gewählt: {{konto_typ}}). Trifft er nicht zu, wird er als Ganzes über „Abschnitt trifft nicht zu“ erledigt — nicht Schritt für Schritt abgehakt.\n\n`Connect-MgGraph` fragt einmal nach Anmeldung und Zustimmung. Das Passwort im Befehl entsteht bei jeder Anzeige neu und wird nirgends gespeichert, also sofort weiterverarbeiten.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": {
"shell": "powershell",
"befehl": "Connect-MgGraph -Scopes \"User.ReadWrite.All\",\"Group.ReadWrite.All\"\nNew-MgUser -DisplayName \"{{vorname}} {{nachname}}\" -GivenName \"{{vorname}}\" -Surname \"{{nachname}}\" `\n -UserPrincipalName \"{{upn}}\" -MailNickname \"{{sam}}\" -Department \"{{abteilung}}\" -UsageLocation \"DE\" `\n -AccountEnabled -PasswordProfile @{ Password = \"{{generiertes_passwort}}\"; ForceChangePasswordNextSignIn = $true }"
}
},
{
"titel": "Initialpasswort im Passwortmanager hinterlegt und sicher übermittelt",
"hilfetext": "Das Passwort aus dem Befehl oben wird nicht gespeichert und ist nach dem Verlassen der Ansicht nicht mehr abrufbar. Nie zusammen mit dem UPN im selben Kanal versenden.",
"pflicht": true
},
{
"titel": "Gruppen zuweisen",
"hilfetext": "Sucht jede Gruppe aus {{gruppen}} über ihren Anzeigenamen. Findet der Filter nichts, bleibt `$g` leer und der folgende Aufruf schlägt fehl — dann die Schreibweise prüfen.",
"typ": "BEFEHL",
"konfig": {
"shell": "powershell",
"befehl": "$u = Get-MgUser -UserId \"{{upn}}\"\n\"{{gruppen}}\".Split(\",\") | ForEach-Object { $g = Get-MgGroup -Filter \"displayName eq '$($_.Trim())'\"; New-MgGroupMember -GroupId $g.Id -DirectoryObjectId $u.Id }"
}
},
{
"titel": "Zugewiesene Lizenz",
"hilfetext": "Lizenz per Gruppe (gruppenbasierte Lizenzierung) oder `Set-MgUserLicense`.",
"typ": "TEXT",
"pflicht": true
}
]
},
{
"titel": "Konto, gemeinsam",
"schritte": [
{
"titel": "MFA-Registrierung vorbereitet bzw. durchgeführt",
"hilfetext": "Entweder ein befristeter Zugangspass für die Selbstregistrierung oder die gemeinsame Einrichtung am ersten Tag. Ohne MFA kommt der Benutzer bei bedingtem Zugriff nicht an sein Postfach.",
"pflicht": true
},
{
"titel": "Postfach erreichbar, Signatur eingerichtet",
"hilfetext": "Einmal anmelden und eine Testmail nach außen senden. Signatur nach der Vorgabe des Hauses, mit richtiger Schreibweise von Name und Funktion.",
"pflicht": true
},
{
"titel": "Zugänge zu Fachanwendungen angelegt",
"hilfetext": "Nur die Anwendungen, die die Rolle braucht — nicht alles, was der Referenzbenutzer im Laufe der Jahre angesammelt hat."
},
{
"titel": "Angelegte Fachanwendungs-Zugänge",
"hilfetext": "Je Zeile eine Anwendung mit Benutzername oder Rolle. Beim Offboarding wird genau diese Liste wieder abgearbeitet.",
"typ": "TEXT",
"konfig": {
"mehrzeilig": true
}
}
]
},
{
"titel": "Hardware",
"schritte": [
{
"titel": "Arbeitsplatzgerät bereitgestellt (eigener Lauf „PC Neuinstallation“ falls nötig)",
"hilfetext": "Gerät, Tag-Code und Inventarnummer gehören zusammen. Die Installation selbst läuft als eigener Lauf; hier wird nur festgehalten, dass das Gerät bereitsteht.",
"pflicht": true
},
{
"titel": "Telefon / Softphone eingerichtet",
"hilfetext": "Durchwahl vergeben, im Telefonbuch eingetragen und einmal in beide Richtungen getestet."
},
{
"titel": "Peripherie vorhanden (Monitor, Dockingstation, Headset)",
"hilfetext": "Am Arbeitsplatz aufgebaut und angeschlossen, nicht nur aus dem Lager geholt."
},
{
"titel": "Zutrittsmedium / Schlüssel beantragt",
"hilfetext": "Ausgabe und Rückgabe werden dokumentiert — beim Offboarding wird danach gefragt."
}
]
},
{
"titel": "Erster Tag",
"schritte": [
{
"titel": "Anmeldung gemeinsam mit dem Benutzer getestet",
"hilfetext": "Erstanmeldung mit Passwortwechsel und MFA am eigenen Gerät. Erst danach gilt das Konto als übergeben.",
"pflicht": true
},
{
"titel": "Kurzeinweisung: Passwortregeln, MFA, Datenablage, Ansprechpartner IT",
"hilfetext": "Kurz und mündlich, mit dem Hinweis, wo Daten hingehören und wie man die IT erreicht.",
"pflicht": true
},
{
"titel": "Dokumentation und Inventar aktualisiert",
"hilfetext": "Mitarbeiter, Gerät, Rufnummer und Zutrittsmedium eingetragen. Was hier fehlt, fehlt beim Offboarding auch.",
"pflicht": true
}
]
}
]
}
}
@@ -0,0 +1,182 @@
{
"format": 1,
"name": "Mitarbeiter-Offboarding",
"beschreibung": "Konto sperren, Postfach und Daten übergeben, Hardware und Zugänge einsammeln, wenn jemand das Haus verlässt.",
"kategorie": "Benutzer",
"schlagworte": ["offboarding", "austritt", "benutzerkonto", "sperrung"],
"struktur": {
"variablen": [
{
"schluessel": "austrittsdatum",
"beschriftung": "Austrittsdatum",
"typ": "DATUM",
"pflicht": true
},
{
"schluessel": "ou_gesperrt",
"beschriftung": "OU für deaktivierte Konten",
"typ": "TEXT"
},
{
"schluessel": "postfach_verbleib",
"beschriftung": "Verbleib des Postfachs",
"typ": "AUSWAHL",
"optionen": ["In Shared Mailbox umwandeln", "Weiterleitung", "Export und löschen"],
"pflicht": true
},
{
"schluessel": "vertreter",
"beschriftung": "Vertreter",
"typ": "TEXT"
}
],
"abschnitte": [
{
"titel": "Klärung",
"schritte": [
{
"titel": "Austrittsdatum und Zeitpunkt der Sperrung mit Vorgesetztem/HR abgestimmt",
"hilfetext": "{{austrittsdatum}} nennt nur den Tag. Die Sperrung gehört üblicherweise auf den letzten Arbeitstag nach Dienstschluss — die genaue Uhrzeit hier schriftlich festhalten.",
"pflicht": true
},
{
"titel": "Verbleib von Postfach und Daten geklärt: {{postfach_verbleib}}",
"hilfetext": "Wer bekommt Zugriff, wie lange, und was geschieht danach? Ohne diese Festlegung wird am Postfach nichts verändert.",
"pflicht": true
}
]
},
{
"titel": "Sperrung",
"schritte": [
{
"titel": "Konto sperren (AD)",
"hilfetext": "Deaktivieren, Passwort zurücksetzen und nach {{ou_gesperrt}} verschieben — in dieser Reihenfolge. Das neue Passwort wird nirgends gespeichert und soll auch von niemandem mehr benutzt werden; es verhindert eine erneute Anmeldung. Bestehende Sitzungen beendet es nicht — die Kerberos-Tickets laufen erst aus, siehe nächster Schritt.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": {
"shell": "powershell",
"befehl": "Disable-ADAccount -Identity \"{{sam}}\"\nSet-ADAccountPassword -Identity \"{{sam}}\" -Reset -NewPassword (ConvertTo-SecureString \"{{generiertes_passwort}}\" -AsPlainText -Force)\nMove-ADObject -Identity (Get-ADUser \"{{sam}}\").DistinguishedName -TargetPath \"{{ou_gesperrt}}\""
}
},
{
"titel": "Konto sperren (Entra ID)",
"hilfetext": "Deaktiviert das Konto und widerruft die Aktualisierungstoken. Bereits ausgegebene Zugriffstoken können noch bis zu einer Stunde gelten — bei Eile zusätzlich das Passwort ändern.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": {
"shell": "powershell",
"befehl": "Update-MgUser -UserId \"{{upn}}\" -AccountEnabled:$false\nRevoke-MgUserSignInSession -UserId \"{{upn}}\""
}
},
{
"titel": "Aktive Sitzungen und Token widerrufen (AD: Kerberos-Tickets laufen aus, bei Bedarf `Set-ADUser -Replace @{msDS-KeyVersionNumber=...}` nicht nötig; Hinweis auf Entra-Befehl oben)",
"hilfetext": "Im AD genügt das Zurücksetzen des Passworts, die Kerberos-Tickets laufen von selbst aus. In Entra ID erledigt das `Revoke-MgUserSignInSession` aus dem Schritt oben. Offene Sitzungen an Terminalservern trennt man zusätzlich von Hand.",
"pflicht": true
},
{
"titel": "MFA-Methoden und App-Passwörter entfernt",
"hilfetext": "Sonst bleibt eine zweite Tür offen: registrierte Authenticator-Apps und Telefonnummern liegen beim Benutzer, nicht bei der IT.",
"pflicht": true
},
{
"titel": "VPN-, WLAN- und Remotezugänge entfernt",
"hilfetext": "Auch Zertifikate, hinterlegte Profile und geteilte Zugangsdaten. Ein gesperrtes Konto hilft nicht, wenn ein VPN-Zertifikat weiter gültig ist.",
"pflicht": true
},
{
"titel": "Mobile Geräte aus MDM entfernt bzw. Firmendaten gelöscht",
"hilfetext": "Firmengeräte vollständig zurücksetzen, private Geräte nur um die Firmendaten bereinigen (selektives Löschen).",
"pflicht": true
}
]
},
{
"titel": "Daten",
"schritte": [
{
"titel": "Abwesenheitsnotiz mit Verweis auf {{vertreter}} gesetzt",
"hilfetext": "Intern und extern getrennt formulieren und den Austritt nur so weit erwähnen wie nötig. Die Notiz wirkt auch dann noch, wenn das Postfach eine Shared Mailbox geworden ist.",
"pflicht": true
},
{
"titel": "Postfach umwandeln",
"hilfetext": "Nur wenn {{postfach_verbleib}} die Umwandlung vorsieht. Eine Shared Mailbox braucht keine eigene Lizenz — deshalb steht dieser Schritt vor der Lizenzfreigabe.",
"typ": "BEFEHL",
"konfig": {
"shell": "powershell",
"befehl": "Set-Mailbox -Identity \"{{upn}}\" -Type Shared"
}
},
{
"titel": "Zugriff auf Postfach und OneDrive/Home-Laufwerk an {{vertreter}} übergeben oder Daten gesichert",
"hilfetext": "Zugriff befristet vergeben und die Frist notieren. Wird nichts übergeben, gehört eine Sicherung an einen Ort, der die Aufbewahrungsfrist übersteht.",
"pflicht": true
},
{
"titel": "Aus Gruppen und Verteilern entfernt",
"hilfetext": "Auch aus Verteilern, Teams und geteilten Ablagen. Was hier stehen bleibt, taucht Monate später als Mail an eine gesperrte Adresse wieder auf.",
"pflicht": true
},
{
"titel": "Lizenz freigegeben",
"hilfetext": "Erst nach der Umwandlung in eine Shared Mailbox, sonst gehen Daten verloren.",
"pflicht": true
},
{
"titel": "Zugänge zu Fachanwendungen und externen Portalen gesperrt",
"hilfetext": "Die im Onboarding festgehaltene Liste ist der Ausgangspunkt. Externe Portale werden gern vergessen, weil sie nicht am Verzeichnis hängen.",
"pflicht": true
},
{
"titel": "Gesperrte externe Zugänge",
"hilfetext": "Je Zeile ein Portal mit dem Datum der Sperrung. Das ist der Nachweis, wenn später jemand danach fragt.",
"typ": "TEXT",
"konfig": {
"mehrzeilig": true
}
}
]
},
{
"titel": "Hardware",
"schritte": [
{
"titel": "Geräte zurückerhalten (PC/Notebook, Telefon, Token, Zutrittsmedium)",
"hilfetext": "Gegen die Inventarliste prüfen und die Rückgabe quittieren lassen. Datenträger erst danach löschen.",
"pflicht": true
},
{
"titel": "Fehlende oder beschädigte Gegenstände",
"hilfetext": "Fehlendes hier festhalten und dem Vorgesetzten melden — mündlich ist es nach zwei Wochen nicht mehr belegbar.",
"typ": "TEXT",
"konfig": {
"mehrzeilig": true
}
},
{
"titel": "Inventar aktualisiert",
"hilfetext": "Geräte vom Mitarbeiter lösen und ihren neuen Zustand eintragen (Lager, Nachfolger oder Ausmusterung). Der Tag-Code bleibt am Gerät und wird nie neu vergeben.",
"pflicht": true
}
]
},
{
"titel": "Abschluss",
"schritte": [
{
"titel": "Termin für endgültige Kontolöschung",
"hilfetext": "Üblich sind drei bis sechs Monate nach dem Austritt, abgestimmt mit der Aufbewahrungsfrist. Bis dahin bleibt das Konto deaktiviert stehen.",
"typ": "DATUM",
"pflicht": true
},
{
"titel": "Dokumentation aktualisiert, Ticket geschlossen",
"hilfetext": "Im Ticket festhalten, was mit Postfach, Daten und Geräten geschehen ist. Der Lauf selbst bleibt als Nachweis im Archiv.",
"pflicht": true
}
]
}
]
}
}
@@ -0,0 +1,172 @@
{
"format": 1,
"name": "Server-Inbetriebnahme Windows-VM",
"beschreibung": "Inbetriebnahme einer neuen Windows-Server-VM: Planung und Adressvergabe, Installation, Domänenbeitritt, Absicherung sowie Aufnahme in Backup und Monitoring.",
"kategorie": "Server",
"schlagworte": ["windows", "server", "vm", "inbetriebnahme"],
"struktur": {
"variablen": [
{ "schluessel": "vmid", "beschriftung": "VM-Kennung im Hypervisor", "typ": "TEXT" },
{ "schluessel": "ip_adresse", "beschriftung": "IP-Adresse", "typ": "TEXT", "pflicht": true },
{ "schluessel": "vlan", "beschriftung": "VLAN", "typ": "TEXT" },
{
"schluessel": "rolle",
"beschriftung": "Rolle (z. B. Fileserver)",
"typ": "TEXT",
"pflicht": true
},
{
"schluessel": "os_version",
"beschriftung": "Windows-Server-Version",
"typ": "AUSWAHL",
"optionen": ["Windows Server 2022", "Windows Server 2025"]
}
],
"abschnitte": [
{
"titel": "Planung",
"schritte": [
{
"titel": "Ressourcen festgelegt (vCPU, RAM, Datenträger) und dokumentiert",
"hilfetext": "Knapp dimensionieren und später erweitern ist einfacher als der umgekehrte Weg: RAM und Datenträger lassen sich vergrößern, verkleinern praktisch nicht.",
"pflicht": true
},
{
"titel": "IP {{ip_adresse}} reserviert und in IP-Dokumentation eingetragen, VLAN {{vlan}}",
"hilfetext": "Die Adresse vor dem Anlegen der VM reservieren, sonst vergibt der DHCP-Bereich sie womöglich ein zweites Mal. VLAN und Verwendungszweck gleich mit eintragen.",
"pflicht": true
},
{
"titel": "DNS-Name nach Namensschema: {{hostname}}",
"hilfetext": "A-Record und PTR anlegen, nicht nur den A-Record. Ohne Rückwärtsauflösung melden sich Backup- und Monitoring-Agenten mit der IP statt mit dem Namen.",
"pflicht": true
}
]
},
{
"titel": "VM und Betriebssystem",
"schritte": [
{
"titel": "VM angelegt (VirtIO SCSI, VirtIO-Netzwerk, QEMU Guest Agent aktiviert, UEFI + TPM)",
"hilfetext": "Die VirtIO-Treiber-ISO schon beim Setup einbinden, sonst findet die Installation keinen Datenträger. UEFI und TPM lassen sich nachträglich nur mit Aufwand ergänzen.",
"pflicht": true
},
{
"titel": "{{os_version}} installiert, VirtIO-Treiber und Guest Agent installiert",
"hilfetext": "Der Guest Agent ist erst dann wirklich aktiv, wenn der Hypervisor die IP-Adresse der VM anzeigt. Dann funktionieren auch geordnetes Herunterfahren und konsistente Sicherungen.",
"pflicht": true
},
{
"titel": "Statische IP, DNS-Server und Gateway gesetzt",
"hilfetext": "Ein Server holt seine Adresse nicht per DHCP. Danach Namensauflösung in beide Richtungen prüfen und das Gateway anpingen.",
"pflicht": true
},
{
"titel": "Hostname gesetzt",
"hilfetext": "Vor dem Domänenbeitritt umbenennen, nicht danach — sonst steht das Computerkonto im Verzeichnis unter dem alten Namen.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": {
"shell": "powershell",
"befehl": "Rename-Computer -NewName \"{{hostname}}\" -Restart"
}
},
{
"titel": "Windows Updates vollständig",
"hilfetext": "Mehrfach durchlaufen lassen, bis nichts mehr kommt, und erst danach die Rolle installieren. Das künftige Wartungsfenster gleich festlegen.",
"pflicht": true
},
{
"titel": "Zeitzone korrekt, Zeitsynchronisation prüfen",
"hilfetext": "Mehr als fünf Minuten Zeitversatz lassen Kerberos-Anmeldungen scheitern. In der Ausgabe auf „Source“ achten: ein Domänenmitglied synchronisiert gegen den Domänencontroller, nicht gegen einen Internetserver.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": { "shell": "cmd", "befehl": "w32tm /query /status" }
}
]
},
{
"titel": "Einbindung",
"schritte": [
{
"titel": "Domänenbeitritt, richtige OU",
"hilfetext": "Das Computerkonto gehört in die vorgesehene Server-OU, nicht in den Standard-Container „Computers“ — dort greifen die Richtlinien nicht.",
"pflicht": true
},
{
"titel": "Vertrauensstellung prüfen",
"hilfetext": "Muss `True` liefern. Ein `False` deutet auf ein zurückgesetztes Computerkonto hin, etwa nach dem Zurückspielen eines älteren Snapshots.",
"typ": "BEFEHL",
"pflicht": true,
"konfig": { "shell": "powershell", "befehl": "Test-ComputerSecureChannel -Verbose" }
},
{
"titel": "Rolle eingerichtet: {{rolle}}",
"hilfetext": "Nur die Rolle installieren, die der Server tragen soll. Jede zusätzliche Rolle vergrößert Angriffsfläche und Abhängigkeiten bei Neustarts.",
"pflicht": true
},
{
"titel": "Lizenz aktiviert",
"hilfetext": "Den Aktivierungsstatus prüfen, nicht nur den Schlüssel eintragen. Bei KMS und AVMA kommt die Aktivierung erst nach dem Domänenbeitritt bzw. über den Host zustande.",
"pflicht": true
}
]
},
{
"titel": "Sicherheit",
"schritte": [
{
"titel": "Lokales Administratorpasswort im Passwortmanager bzw. LAPS aktiv",
"hilfetext": "Für jeden Server ein eigenes Kennwort. Ein gemeinsames lokales Adminkennwort ist der kürzeste Weg von einem übernommenen Server zu allen anderen.",
"pflicht": true
},
{
"titel": "RDP nur für berechtigte Gruppe, NLA aktiv",
"hilfetext": "RDP nicht für „Jeder“ öffnen und nie direkt aus dem Internet erreichbar machen. Mit aktiver NLA scheitert ein Anmeldeversuch, bevor überhaupt eine Sitzung aufgebaut wird.",
"pflicht": true
},
{
"titel": "Virenschutz/EDR aktiv, Ausnahmen laut Rolle gesetzt",
"hilfetext": "Ausnahmen nur für die Pfade und Prozesse der Rolle setzen und begründet dokumentieren. Eine pauschale Ausnahme für ein ganzes Laufwerk hebt den Schutz auf.",
"pflicht": true
},
{
"titel": "Firewall-Regeln auf das Nötige beschränkt",
"hilfetext": "Nur die Ports der Rolle, und nur aus den Netzen, die sie brauchen. Nach dem Einrichten von außen nachmessen, statt der Regelliste zu vertrauen.",
"pflicht": true
}
]
},
{
"titel": "Betrieb",
"schritte": [
{
"titel": "In Backup aufgenommen, erster Sicherungslauf erfolgreich",
"hilfetext": "Es zählt der erfolgreiche erste Lauf, nicht der angelegte Auftrag. Aufbewahrungsdauer und Sicherungsziel gleich mitprüfen.",
"pflicht": true
},
{
"titel": "Testwiederherstellung einer Datei durchgeführt",
"hilfetext": "Eine Sicherung, aus der noch nie etwas zurückgeholt wurde, ist keine. Eine einzelne Datei an einen anderen Ort wiederherstellen und den Inhalt ansehen.",
"pflicht": true
},
{
"titel": "Monitoring eingerichtet (Agent, Host, Trigger)",
"hilfetext": "Der Agent allein genügt nicht: Trigger für Datenträgerfüllstand, die Dienste der Rolle und Erreichbarkeit setzen und einen Alarm testweise auslösen.",
"pflicht": true
},
{
"titel": "RMM-Agent installiert",
"hilfetext": "Im Portal prüfen, ob der Server online erscheint und der richtigen Gruppe zugeordnet ist. Wartungsfenster hinterlegen, damit Patches nicht mitten am Tag laufen.",
"pflicht": true
},
{
"titel": "Dokumentation erstellt (Zweck, Rolle, IP, Abhängigkeiten, Verantwortlicher)",
"hilfetext": "Wichtig ist, was ein Kollege um drei Uhr nachts braucht: Zweck, Abhängigkeiten, Verantwortlicher und wo die Zugangsdaten liegen.",
"pflicht": true
}
]
}
]
}
}
@@ -0,0 +1,191 @@
{
"format": 1,
"name": "Firewall-Rollout OPNsense",
"beschreibung": "Austausch oder Neuaufbau einer OPNsense-Firewall: von den Providerdaten über Regelwerk und VPN bis zur Abnahme und zur außer Betrieb genommenen Altfirewall.",
"kategorie": "Netzwerk",
"schlagworte": ["firewall", "opnsense", "netzwerk", "vpn", "rollout"],
"struktur": {
"variablen": [
{
"schluessel": "wan_typ",
"beschriftung": "WAN-Typ",
"typ": "AUSWAHL",
"optionen": ["DHCP", "Statisch", "PPPoE"],
"pflicht": true
},
{ "schluessel": "lan_netz", "beschriftung": "LAN-Netz", "typ": "TEXT", "pflicht": true },
{
"schluessel": "vpn_typ",
"beschriftung": "VPN-Typ",
"typ": "AUSWAHL",
"optionen": ["WireGuard", "OpenVPN", "IPsec", "Keines"]
}
],
"abschnitte": [
{
"titel": "Vorbereitung",
"schritte": [
{
"titel": "Zugangsdaten des Providers vorhanden, WAN-Typ: {{wan_typ}}",
"hilfetext": "Bei PPPoE Benutzername und Passwort, bei einer statischen Leitung Adresse, Netzmaske und Gateway. Fehlt eine Angabe, steht der Umbau mitten im Wartungsfenster still.",
"pflicht": true
},
{
"titel": "Netzplan mit VLANs und Adressbereichen abgestimmt, LAN: {{lan_netz}}",
"hilfetext": "Jedes VLAN braucht ID, Adressbereich und Zweck. Überschneidungen mit den Netzen der Gegenstellen fallen sonst erst beim ersten VPN-Tunnel auf.",
"pflicht": true
},
{
"titel": "Wartungsfenster mit den betroffenen Abteilungen vereinbart",
"hilfetext": "Der Umbau trennt Internet und alle Dienste hinter der Firewall. Telefonie, Filialanbindung und externe Dienstleister ausdrücklich mitnennen.",
"pflicht": true
},
{
"titel": "Konfiguration der Altfirewall gesichert",
"hilfetext": "Vollständiger Konfigurationsexport, dazu Ausdruck oder Screenshots des Regelwerks. Das ist der einzige Rückweg, wenn später eine Regel fehlt.",
"pflicht": true
}
]
},
{
"titel": "Grundkonfiguration",
"schritte": [
{
"titel": "Aktuelle Firmware installiert",
"hilfetext": "Vor dem Einrichten aktualisieren, nicht danach: ein Update startet die Firewall neu und setzt Dienste neu auf.",
"pflicht": true
},
{
"titel": "Firmware-Version",
"hilfetext": "Genau so eintragen, wie das Dashboard sie anzeigt. Damit lässt sich ein späteres Fehlverhalten einer Version zuordnen.",
"typ": "TEXT",
"pflicht": true
},
{
"titel": "Hostname, Domain, Zeitzone, NTP gesetzt",
"hilfetext": "Eine falsche Uhr macht Zertifikate, VPN-Aushandlung und Logauswertung unbrauchbar. NTP-Quelle nicht nur eintragen, sondern die Synchronisation prüfen.",
"pflicht": true
},
{
"titel": "Admin-Zugang: eigenes Konto, Passwort im Passwortmanager, Root-Login per Passwort eingeschränkt",
"hilfetext": "Persönliches Konto je Techniker, damit das Log zeigt, wer etwas geändert hat. root bleibt für den Notfall, möglichst nur per Schlüssel.",
"pflicht": true
},
{
"titel": "WebGUI nur aus Management-Netz erreichbar, HTTPS",
"hilfetext": "Von außen gegenproben: die Oberfläche darf auf der WAN-Seite nicht antworten. Ein selbstsigniertes Zertifikat ist in Ordnung, unverschlüsseltes HTTP nicht.",
"pflicht": true
},
{
"titel": "WAN eingerichtet und Internetzugang getestet",
"hilfetext": "Nicht nur den Link prüfen, sondern Namensauflösung und einen echten Abruf. Bei PPPoE auf die MTU achten, sonst brechen einzelne Seiten ab.",
"pflicht": true
},
{
"titel": "LAN und VLANs mit DHCP eingerichtet",
"hilfetext": "Je Netz Bereich, Gateway, DNS und Leasedauer. Feste Reservierungen für Drucker und Server aus der Altkonfiguration übernehmen.",
"pflicht": true
},
{
"titel": "DNS-Resolver konfiguriert",
"hilfetext": "Interne Zonen an den Domänencontroller weiterleiten, alles andere nach außen auflösen. Sonst findet kein Client mehr seine Freigaben.",
"pflicht": true
}
]
},
{
"titel": "Regelwerk",
"schritte": [
{
"titel": "Regeln pro Netz nach Konzept, keine Any-Any-Regeln zwischen den VLANs",
"hilfetext": "Jede Regel mit Beschreibung anlegen. Die Trennung der Netze ist der ganze Sinn der Übung, und eine einzige Any-Any-Regel hebt sie wieder auf.",
"pflicht": true
},
{
"titel": "Gäste- und IoT-Netz vom internen Netz getrennt",
"hilfetext": "Aus dem Gastnetz gegenproben: Ping und Zugriff auf eine interne Freigabe müssen scheitern. Auch den Weg über DNS und Multicast mitprüfen.",
"pflicht": true
},
{
"titel": "Portweiterleitungen nur soweit nötig und dokumentiert",
"hilfetext": "Jede Weiterleitung ist ein Loch nach innen. Quelladressen einschränken, wo es geht, und RDP niemals offen ins Internet stellen.",
"pflicht": true
},
{
"titel": "Eingerichtete Portweiterleitungen",
"hilfetext": "Je Zeile externer Port, Ziel und Zweck. Wer das nicht notiert, sucht in einem Jahr, wozu Port 8443 einmal gehörte.",
"typ": "TEXT",
"konfig": { "mehrzeilig": true }
}
]
},
{
"titel": "VPN und Dienste",
"schritte": [
{
"titel": "VPN eingerichtet: {{vpn_typ}}",
"hilfetext": "Der Adressbereich des Tunnels darf sich mit keinem Netz auf beiden Seiten überschneiden. Zugriff auf das Nötige begrenzen, nicht auf alles."
},
{
"titel": "VPN-Zugriff von extern getestet",
"hilfetext": "Aus einem fremden Netz testen, etwa über das Mobilfunknetz. Ein Test aus dem eigenen LAN sagt über den Zugang von draußen nichts."
},
{
"titel": "Dynamisches DNS eingerichtet (falls keine feste IP)",
"hilfetext": "Nach dem Einrichten eine Aktualisierung erzwingen und den Namen auflösen. Ohne feste Adresse hängt der ganze VPN-Zugang daran."
}
]
},
{
"titel": "Betrieb",
"schritte": [
{
"titel": "Automatische Konfigurationssicherung eingerichtet",
"hilfetext": "Ziel außerhalb der Firewall wählen, sonst ist die Sicherung mit dem Gerät verloren. Einmal eine Sicherung herunterladen und hineinsehen.",
"pflicht": true
},
{
"titel": "Syslog an zentralen Logserver",
"hilfetext": "Lokal hält die Firewall nur wenige Tage vor. Erst ein externer Empfänger macht Regelfehler und Angriffe im Nachhinein nachvollziehbar.",
"pflicht": true
},
{
"titel": "Monitoring eingerichtet (SNMP/Agent, WAN-Verfügbarkeit)",
"hilfetext": "Neben der Erreichbarkeit auch Durchsatz, Auslastung und Zustand des WAN-Gateways erfassen. Einen Alarm einmal auslösen und die Benachrichtigung abwarten.",
"pflicht": true
},
{
"titel": "Benachrichtigungen bei Firmware-Updates geklärt",
"hilfetext": "Festlegen, wer von neuen Versionen erfährt und wer über den Einbau entscheidet. Sicherheitsupdates einer Firewall dulden keine Wochen.",
"pflicht": true
}
]
},
{
"titel": "Abnahme",
"schritte": [
{
"titel": "Funktionstest vor Ort: Internet, interne Dienste, Drucker, Telefonie, VPN",
"hilfetext": "Mit einem echten Arbeitsplatz durchgehen, nicht vom Technikerlaptop aus. Telefonie zuletzt prüfen, denn SIP scheitert am ehesten an NAT-Einstellungen.",
"pflicht": true
},
{
"titel": "Altfirewall außer Betrieb, zurückgesetzt bzw. sicher gelöscht",
"hilfetext": "Bis zur Abnahme nur vom Netz nehmen, erst danach zurücksetzen. Auf dem Gerät stehen Zugangsdaten, Zertifikate und VPN-Schlüssel.",
"pflicht": true
},
{
"titel": "Netzwerkdokumentation aktualisiert",
"hilfetext": "VLANs, Adressbereiche, Regelwerk, Weiterleitungen und Zugänge nachziehen. Die Dokumentation von gestern beschreibt noch die Altfirewall.",
"pflicht": true
},
{
"titel": "Abnahme durch den Verantwortlichen",
"hilfetext": "Mit Namen und Datum festhalten. Was danach kommt, ist eine Änderung und kein Teil des Rollouts mehr.",
"pflicht": true
}
]
}
]
}
}
@@ -0,0 +1,118 @@
{
"format": 1,
"name": "Monatlicher Patchday",
"beschreibung": "Der wiederkehrende Ablauf für Updates an Servern, Hypervisor, Netzgeräten und Clients: ankündigen, einspielen, kontrollieren und berichten.",
"kategorie": "Wartung",
"schlagworte": ["patchday", "updates", "wartung", "monatlich"],
"struktur": {
"variablen": [
{
"schluessel": "monat",
"beschriftung": "Monat (z. B. 2026-10)",
"typ": "TEXT",
"pflicht": true
}
],
"abschnitte": [
{
"titel": "Vorbereitung",
"schritte": [
{
"titel": "Wartungsfenster angekündigt",
"hilfetext": "Mindestens einen Werktag vorher, mit Zeitraum und betroffenen Diensten. Neustarts von Terminalservern und Domänencontrollern ausdrücklich nennen.",
"pflicht": true
},
{
"titel": "Bekannte Probleme der aktuellen Updates geprüft",
"hilfetext": "Herstellerhinweise und einschlägige Foren durchsehen. Ein zurückgezogenes Update erspart einen Abend Fehlersuche.",
"pflicht": true
},
{
"titel": "Letzte Sicherung aller betroffenen Systeme erfolgreich",
"hilfetext": "Nicht nur den Jobstatus ansehen, sondern das Datum des letzten fehlerfreien Wiederherstellungspunkts. Ohne Sicherung kein Patch.",
"pflicht": true
},
{
"titel": "VM-Snapshot vor kritischen Updates",
"hilfetext": "`<vmid>` durch die Nummer der VM ersetzen. Ein Snapshot ist kein Backup und kostet Speicher, also nach der Kontrolle wieder entfernen.",
"typ": "BEFEHL",
"konfig": { "shell": "bash", "befehl": "qm snapshot <vmid> prepatch" }
}
]
},
{
"titel": "Durchführung",
"schritte": [
{
"titel": "Server gepatcht und neu gestartet, Reihenfolge beachtet (Domänencontroller nicht gleichzeitig)",
"hilfetext": "Einen Domänencontroller nach dem anderen und die Replikation zwischendurch prüfen. Anwendungsserver erst, wenn ihre Datenbank wieder läuft.",
"pflicht": true
},
{
"titel": "Hypervisor-Updates geprüft bzw. eingespielt",
"hilfetext": "Gäste vorher verschieben oder sauber herunterfahren. Knoten eines Clusters auf gleichem Stand halten, Gasterweiterungen mitziehen.",
"pflicht": true
},
{
"titel": "Firewall-, Switch- und AP-Firmware geprüft",
"hilfetext": "Netzgeräte zuletzt und einzeln, damit der eigene Zugriff nicht abreißt. Vorher die Konfiguration sichern.",
"pflicht": true
},
{
"titel": "Clients: Update-Status im RMM geprüft",
"hilfetext": "Nach ausstehenden Neustarts und nach Geräten sehen, die seit Wochen nichts melden. Ein Client, der stumm bleibt, ist das eigentliche Problem.",
"pflicht": true
},
{
"titel": "Anzahl Clients mit ausstehenden Updates",
"hilfetext": "Der Wert aus dem RMM nach dem Durchlauf. Über Monate verglichen zeigt er, ob die Verteilung wirklich greift.",
"typ": "ZAHL",
"pflicht": true,
"konfig": { "min": 0 }
},
{
"titel": "Drittanbieter-Software aktualisiert (Browser, PDF, Java, Laufzeitumgebungen)",
"hilfetext": "Über diese Programme kommen Angriffe herein, seltener über das Betriebssystem. Altlasten, die niemand mehr braucht, besser deinstallieren.",
"pflicht": true
}
]
},
{
"titel": "Kontrolle",
"schritte": [
{
"titel": "Alle Dienste nach Neustart gestartet, Monitoring ohne neue Alarme",
"hilfetext": "Besonders auf Dienste achten, die verzögert starten oder an einem Dienstkonto hängen. Das Monitoring einige Minuten beobachten, nicht nur einmal ansehen.",
"pflicht": true
},
{
"titel": "Anmeldung und Kernanwendungen stichprobenartig getestet",
"hilfetext": "Mit einem normalen Benutzerkonto anmelden, nicht als Administrator. ERP, Mail und Drucken kurz antesten.",
"pflicht": true
},
{
"titel": "Sicherung nach dem Patchday erfolgreich gelaufen",
"hilfetext": "Der erste Lauf nach den Updates ist der wichtigste: geänderte Agenten und Treiber lassen Jobs gern scheitern.",
"pflicht": true
},
{
"titel": "Snapshots wieder entfernt",
"hilfetext": "Liegengebliebene Snapshots füllen den Speicher und bremsen die VM. Erst löschen, wenn die Kontrolle abgeschlossen ist.",
"pflicht": true
},
{
"titel": "Auffälligkeiten und zurückgestellte Updates",
"hilfetext": "Je Zeile System, Update und Grund der Zurückstellung. Das ist die Arbeitsliste für den nächsten Patchday.",
"typ": "TEXT",
"konfig": { "mehrzeilig": true }
},
{
"titel": "Wartungsbericht {{monat}} abgelegt und an die IT-Leitung gemeldet",
"hilfetext": "Kurz halten: was eingespielt wurde, was offen blieb, welcher Aufwand entstanden ist.",
"pflicht": true
}
]
}
]
}
}
@@ -0,0 +1,112 @@
{
"format": 1,
"name": "Backup-Restore-Test",
"beschreibung": "Der regelmäßige Nachweis, dass sich eine Sicherung wirklich zurückholen lässt: Wiederherstellungspunkt prüfen, in einer isolierten Umgebung zurückspielen, Funktion und Dauer festhalten.",
"kategorie": "Wartung",
"schlagworte": ["backup", "restore", "wiederherstellung", "test", "wartung"],
"struktur": {
"variablen": [
{ "schluessel": "system", "beschriftung": "System", "typ": "TEXT", "pflicht": true },
{
"schluessel": "restore_typ",
"beschriftung": "Art der Wiederherstellung",
"typ": "AUSWAHL",
"optionen": ["Einzeldatei", "Komplette VM", "Datenbank", "Postfach"],
"pflicht": true
}
],
"abschnitte": [
{
"titel": "Vorbereitung",
"schritte": [
{
"titel": "Testumfang festgelegt: {{restore_typ}} von {{system}}",
"hilfetext": "Vorher festlegen, was als Erfolg gilt: welche Datei, welcher Dienst, welche Anmeldung. Sonst wird aus dem Test ein Herumprobieren.",
"pflicht": true
},
{
"titel": "Isolierte Zielumgebung vorhanden (kein Konflikt mit dem Produktivsystem)",
"hilfetext": "Eigenes Netz oder getrennte Netzwerkkarte, geänderter Hostname. Ein wiederhergestellter Domänencontroller im Produktivnetz richtet echten Schaden an.",
"pflicht": true
}
]
},
{
"titel": "Prüfung der Sicherungen",
"schritte": [
{
"titel": "Sicherungsjobs der letzten 30 Tage ohne ungeklärte Fehler",
"hilfetext": "Auch Warnungen ansehen: übersprungene Dateien und abgebrochene Teiljobs sind die häufigste Ursache für eine unbrauchbare Wiederherstellung.",
"pflicht": true
},
{
"titel": "Datum des verwendeten Wiederherstellungspunkts",
"hilfetext": "Nicht ungeprüft den neuesten Punkt nehmen. Ein etwas älterer zeigt eher, ob die Aufbewahrungskette hält.",
"typ": "DATUM",
"pflicht": true
},
{
"titel": "Externe bzw. unveränderliche Kopie vorhanden und aktuell",
"hilfetext": "Die Kopie außer Haus oder mit Schreibschutz ist die, die einen Verschlüsselungsangriff übersteht. Ihr Alter prüfen, nicht nur ihre Existenz.",
"pflicht": true
},
{
"titel": "Integritätsprüfung (Verify) des Wiederherstellungspunkts erfolgreich",
"hilfetext": "Die Prüfung liest die Sicherung wirklich durch. Ein stiller Lesefehler auf dem Sicherungsmedium fällt anders nicht auf.",
"pflicht": true
}
]
},
{
"titel": "Wiederherstellung",
"schritte": [
{
"titel": "Wiederherstellung durchgeführt",
"hilfetext": "In die Testumgebung zurückspielen, nie über das Original. Auffälligkeiten während des Laufs gleich notieren.",
"pflicht": true
},
{
"titel": "Dauer der Wiederherstellung",
"hilfetext": "Von Start bis benutzbar messen, nicht nur die Kopierzeit. Die Zahl ist die Grundlage für die zugesagte Wiederanlaufzeit.",
"typ": "ZAHL",
"pflicht": true,
"konfig": { "min": 0, "einheit": "Minuten" }
},
{
"titel": "Wiederhergestellte Daten bzw. System auf Funktion geprüft (Dateien öffnen, Dienst startet, Anmeldung möglich)",
"hilfetext": "Eine Datei zählt erst, wenn sie sich öffnen lässt. Bei Datenbanken den Dienst starten und eine Abfrage ausführen.",
"pflicht": true
},
{
"titel": "Ergebnis",
"hilfetext": "Alles außer „Erfolgreich“ braucht eine Erklärung im Textfeld am Ende des Laufzettels.",
"typ": "AUSWAHL",
"pflicht": true,
"konfig": { "optionen": ["Erfolgreich", "Mit Einschränkungen", "Fehlgeschlagen"] }
}
]
},
{
"titel": "Abschluss",
"schritte": [
{
"titel": "Testumgebung wieder entfernt",
"hilfetext": "Wiederhergestellte Systeme und Daten löschen, nicht nur abschalten. Eine vergessene Kopie ist ein Datenschutzproblem.",
"pflicht": true
},
{
"titel": "Festgestellte Mängel und Maßnahmen",
"hilfetext": "Je Zeile Mangel, geplante Maßnahme und Verantwortlicher. Ein Test ohne Folgerung ändert nichts.",
"typ": "TEXT",
"konfig": { "mehrzeilig": true }
},
{
"titel": "Ergebnis dokumentiert und der IT-Leitung mitgeteilt",
"hilfetext": "Mit Datum, Wiederherstellungspunkt, Dauer und Ergebnis. Dieser Nachweis wird in Audits und von Versicherern verlangt.",
"pflicht": true
}
]
}
]
}
}