feat(seed): sieben Vorlagen, Beispielbestand und Demo-Kunden
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:
co-authored by
Claude Opus 5
parent
ae290345b7
commit
5c81a62cfd
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user