Der Seed erkannte seine sieben Vorlagen am Namen. Wer eine umbenannte, bekam beim naechsten Lauf eine zweite -- und der Schnellstart stand auf der Geraeteseite doppelt. Vorlage.seedSchluessel traegt die Kennung, eindeutig wo gesetzt (partieller Index, weil eigene Vorlagen keinen tragen). Das Austauschformat kennt das Feld als seedSchluessel; nicht als schluessel, wie das Issue plante, denn so heisst dort schon das Feld einer Variablen. Der Rueckfall auf den Namen bleibt, sonst bekaeme eine Installation von vor diesem Feld beim ersten Lauf danach genau die Dubletten, die es verhindern soll. Wird sie so gefunden, traegt der Seed den Schluessel nach -- an der Entwicklungsdatenbank gefahren: sieben nachgetragen, nichts neu angelegt. Der Import setzt den Schluessel nicht, auch nicht wenn das Dokument ihn mitbringt, und der Export schreibt ihn nicht: eine eingespielte Kopie soll nicht den Platz des Originals einnehmen. Gegenprobe gefahren: ohne die Suche am Schluessel werden vier Tests rot. Closes #32
193 lines
9.0 KiB
JSON
193 lines
9.0 KiB
JSON
{
|
|
"format": 1,
|
|
"name": "Firewall-Rollout OPNsense",
|
|
"seedSchluessel": "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
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|