Nach dem Setup-Skript braucht der VPN-Server einen Verantwortlichen
Ein Setup-Skript kann den Server bauen, aber es kann weder die Zugriffsrichtlinie noch den Update-Pfad oder das Zurückrollen übernehmen. Legen Sie die Übergabe fest, bevor Sie es ausführen.
Zwei verschiedene Aufgaben werden als eine verkauft: aus einer Maschine einen VPN-Server zu machen und einem Laptop einen VPN-Client hinzuzufügen, der sich dem Gateway von jemand anderem anschließen soll. Ein Setup-Skript beantwortet die erste und kann die zweite nicht beantworten, was auch immer sein README andeutet. Nehmen Sie das setup-ipsec-vpn-Projekt als konkretes Beispiel: Es baut auf einem unterstützten Linux-Host mit Libreswan und xl2tpd einen IPsec/L2TP-, Cisco-IPsec- oder IKEv2-Server. Das ist ein Bereitstellungsvertrag für einen Server, kein allgemeines Rezept für irgendeine Maschine. Entscheiden Sie vor dem Skript, welche Aufgabe Sie haben, denn alles Weitere betrifft den Server.
Seien Sie ehrlich über den Host
Eine Maschine, die auch etwas anderes terminiert oder deren Firewall von einer Cloud-Kontrollinstanz statt vom Betriebssystem verwaltet wird, ist eine andere Installation als eine saubere virtuelle Maschine. Schreiben Sie auf, welches Protokoll Sie aktivieren und welche Version Sie einsetzen, und prüfen Sie beides gegen die Unterstützungsliste des Projekts, nicht gegen einen Blogbeitrag vom Vorjahr.
Den Dienst zu aktivieren öffnet nicht den Weg zu ihm. Bei IPsec muss das Netz vor dem Host UDP 500 und 4500 zulassen und je nach Bereitstellung auch das ESP-Protokoll selbst. Ein Skript, das hinter einer Sicherheitsgruppe, die Protokoll 50 verwirft, erfolgreich endet, hat einen Server erzeugt, den niemand erreicht, und nichts in der Ausgabe des Installers wird das sagen.
Was der Installer tatsächlich übernimmt
Erwarten Sie eine IPsec-Konfiguration und Geheimnisdatei, eine L2TP-Daemon-Konfiguration, PPP-Optionen und systemd-Einheiten, die nun diese Ports besitzen. Das README des Projekts gibt an, dass bestehende Konfigurationsdateien vor Änderungen gesichert werden, was nützlich ist und nicht dasselbe wie eine Sicherung des Hosts. Entscheiden Sie, welche Komponenten über die Pakete der Distribution und welche durch erneutes Ausführen oder Umschreiben des Skripts aktualisiert werden, denn das sind zwei Wartungspfade mit unterschiedlichen Fehlerarten.
Fixieren Sie die Revision, die Sie freigegeben haben. Eine Download-URL, die den aktuellen Standardzweig ausliefert, kann nächsten Monat anderen Inhalt liefern, also notieren Sie den Commit oder die Version, die Sie ausgeführt haben, und behalten Sie eine Kopie. Diese eine Gewohnheit macht aus einem nicht zuordenbaren Zustand etwas, worüber eine zweite Person um zwei Uhr morgens nachdenken kann.
Was das Skript nicht liefern kann
Automatisierung erzeugt eine funktionierende Installation und hört dort auf. Sie entscheidet nicht, welche privaten Ressourcen der Tunnel erreichen soll, eine Frage der Zugriffsrichtlinie, zu der die Firewall des Hosts und das Netz darüber jeweils eine Meinung haben. Sie entscheidet nicht, wer Zugangsdaten erhält, wie sie übergeben werden oder wie der Zugang einer Person entfernt wird, wenn sie geht. Und sie entscheidet nicht wie die Maschine wiederhergestellt wird nach einem schlechten Update, also den Teil, der meist im ungünstigsten Moment entdeckt wird.
Clientprofile und angezeigte Geheimnisse sind Zugangsmaterial, keine Installationsprotokolle. Ein generiertes Profil, das in einen geteilten Kanal eingefügt wird, ist ein Konto, und derselbe Maßstab gilt für Screenshots der Setup-Zusammenfassung. Führen Sie ein geschütztes Verzeichnis des Identitätszustands, der zur Wiederherstellung des Dienstes nötig ist, und notieren Sie, welche dieser Zugangsdaten seither widerrufen wurden.
Der erste Client ist der Abnahmetest
Nehmen Sie die Bereitstellung von einem autorisierten Client ab, und zwar mit dem Protokoll, das Sie tatsächlich aktiviert haben. Prüfen Sie, dass der private Name aufgelöst wird, der Rückweg funktioniert, eine erneute Verbindung sich korrekt verhält und ein Ziel außerhalb der erlaubten Menge abgelehnt wird. Eine erfolgreiche Anmeldung von einer anderen Client-Anwendung ist kein Beleg für die ausgelieferte.
Wenn die gewünschte Kombination nicht mehr unterstützt wird, wählen Sie vor der Installation einen gepflegten Pfad. Eine alte Version wiederzubeleben, die Authentifizierung zu schwächen oder ein unerklärtes Skript erneut auszuführen sind Verschiebungen, keine Wartungspläne, und jede davon erschwert die Übergabe.
Schreiben Sie die Übergabeseite
Halten Sie sie kurz: der Server, die Revision, die ihn gebaut hat, die benötigten Ports, die Komponenten und ihre Update-Verantwortlichen, die erlaubten Ressourcen, der Weg der Zugangsdaten und das Wiederherstellungsverfahren. Ergänzen Sie den Konsolen- oder Out-of-Band-Weg, den Sie nutzen, wenn eine Änderung am Tunnel den Zugang kaputt gemacht hat. Dann erbt die nächste Person einen Dienst statt eines Befehls, den sie sich zweimal auszuführen nicht traut.
Überprüfen Sie diese Seite, wenn sich der Host ändert, und nicht nur, wenn etwas kaputtgeht. Ein Übergabedokument, das nie gelesen wird, ist ein Dokument, das still aufgehört hat, wahr zu sein.