Zum Hauptinhalt springen

Wie ändert man ein selbstsigniertes Zertifikat gegen ein von einer CA signiertes Zertifikat auf OPNsense?

Veröffentlicht am:
.
12 Minuten Lesezeit
.
Für die Englische Version

Die Public Key Infrastructure, die X.509 (PKIX) Zertifikate verwendet, wird für verschiedene Zwecke implementiert, wobei die Authentifizierung von Domainnamen der prominenteste unter ihnen ist.Daher wird im Rahmen der Web-PKI die Verantwortung dafür, dass der Antragsteller für ein Zertifikat die im Zertifikat aufgeführten Domainnamen genau repräsentiert, den Zertifizierungsstellen (CAs) übertragen.

OPNsense generiert während der Installation ein selbstsigniertes Zertifikat für die Weboberfläche.Obwohl ein selbstsigniertes Zertifikat ausreichen mag, insbesondere in einem Heimnetzwerk mit eingeschränktem Zugriff auf die Weboberfläche, gibt es bessere Lösungen als diese.

OPNsense ermöglicht es Ihnen, Let's Encrypt-Zertifikate mit dem ACME-Client zu erstellen, einem im Repository enthaltenen Plugin.Let's Encrypt-Zertifikate sind vorteilhaft aufgrund ihrer kostenlosen Natur und der Leichtigkeit, mit der sie für Ihre Domains erstellt werden können.

Das Hauptziel von Let's Encrypt und dem ACME-Protokoll ist es, die Einrichtung eines HTTPS-Servers zu erleichtern, der ein vom Browser vertrautes Zertifikat autonom erwirbt, ohne dass menschliches Eingreifen erforderlich ist.Dies wird durch die Implementierung eines Zertifikatverwaltungsagenten auf dem Webserver erreicht.

In diesem Tutorial erklären wir, wie Sie ein selbstsigniertes Zertifikat durch ein Let's Encrypt-Zertifikat auf Ihrer OPNsense-Firewall ersetzen können.Sie können ein von Let's Encrypt CA signiertes Zertifikat auf der OPNsense Firewall aktivieren, indem Sie die nächsten 10 Hauptschritte befolgen:

  1. Aktualisieren Sie den Domainnamen
  2. Cloudflare-API-Schlüssel generieren
  3. Installieren Sie das ACME-Client-Plugin
  4. Konto registrieren
  5. Wählen Sie die Herausforderungsarten aus
  6. Automatisierung einrichten (optional)
  7. Zertifikat hinzufügen
  8. ACME-Client-Plugin aktivieren
  9. Testzertifikat durch Produktionszertifikat ersetzen
  10. Aktualisierung des Web-UI-Zertifikats

Darüber hinaus werden wir in diesem Tutorial die folgenden Themen skizzieren:

  • Was ist Let's Encrypt?
  • Was ist ein ACME-Client?
  • Was ist ein selbstsigniertes Zertifikat?
  • Was sind die Vorteile eines selbstsignierten Zertifikats?
  • Was sind die Risiken eines selbstsignierten Zertifikats?
hinweis

Um ein authentisches Zertifikat für Ihre OPNsense-Weboberfläche zu erstellen, müssen Sie einen echten Domainnamen verwenden, den Sie kontrollieren, oder einen Dynamic DNS Domainnamen.

Starten Sie noch heute kostenlos mit Zenarmor

1. Domainnamen aktualisieren

Der erste Schritt besteht darin, Ihre OPNsense-Domain zu aktualisieren, indem Sie das Standard-"local" durch Ihren "registrierten Domainnamen" ersetzen.Um Ihren Domainnamen zu ändern, können Sie die folgenden Schritte befolgen:

  1. Navigieren Sie zu SystemEinstellungenAllgemein im OPNsense-Web-UI.

  2. Geben Sie Hostname an, wie z.B. myrouter.

  3. Geben Sie Hostname an, wie zum Beispiel myhome.net.

    Abbildung 1. Aktualisieren des Domainnamens auf OPNsense

  4. Klicken Sie unten auf der Seite auf Speichern.

2. Cloudflare-API-Schlüssel generieren

Um Zertifikate zu generieren, müssen Sie zuerst ein API-Token erstellen.Mehrere DNS-Registrar, wie Cloudflare, bieten eine API zur Verwaltung von DNS-Einträgen an.Dies ist die effizienteste Methode zur Erstellung von Zertifikaten, da sie die Notwendigkeit manueller DNS-Record-Updates zur Validierung des Domainbesitzes in Abwesenheit einer API beseitigt.

Sie können die folgenden Schritte ausführen, um einen DNS-Eintrag hinzuzufügen und einen API-Schlüssel bei Cloudflare zu generieren:

  1. Fügen Sie einen A DNS-Eintrag für Ihre Domain hinzu, wie z.B. myrouter.myhome.net mit den folgenden Einstellungen: IP (Ihre öffentliche IP-Adresse), Proxy deaktiviert und TTL von 5 Minuten.

  2. Gehen Sie zurück zu Übersicht.

  3. Wählen Sie API-Token abrufen unten rechts auf der Seite.

    Abbildung 2. API-Token bei Cloudflare erhalten

  4. Klicken Sie auf die Schaltfläche Token erstellen.

    Abbildung 3. Anzeigen von API-Schlüsseln auf Cloudflare

  5. Wählen Sie Vorlage verwenden neben der Option Zone DNS bearbeiten.

    Abbildung 4. DNS-Zone auf Cloudflare bearbeiten

  6. Sie können entweder die richtige Zone für Ihre Domain in der Option Zonenressourcen auswählen, wie z.B. myhome.net, oder Alle Zonen.

    Abbildung 5. Erstellen eines API-Tokens auf Cloudflare

  7. Klicken Sie auf die Schaltfläche Weiter zur Zusammenfassung am unteren Rand der Seite.

  8. Klicken Sie auf Token erstellen, um den API-Schlüssel zu generieren.

  9. Kopieren Sie den API-Schlüssel in Ihre Zwischenablage.Fügen Sie es vorübergehend in eine Textdatei oder auf einen Haftnotizzettel ein.Aus Sicherheitsgründen wird das Token nicht erneut angezeigt.

    Abbildung 6. Kopieren des API-Schlüssels auf Cloudflare

  10. Greifen Sie über das Cloudflare-Dashboard auf die Seite "Übersicht" der Domain zu, um die Account-ID und die Zone-ID zu ermitteln, die mit dem angegebenen Domainnamen verknüpft sind.Da die Cloudflare-Konto-ID und die Zonen-ID der Domain, für die Zertifikate generiert werden, erforderlich sind.

    Abbildung 7. Cloudflare-Konto-ID und Zonen-ID

3. Installieren Sie das ACME-Client-Plugin

Die Installation des ACME Client-Plugins, os-acme-client, ist unkompliziert und schnell.Um das ACME Client-Plugin zu installieren, folgen Sie den untenstehenden Schritten:

  1. Melden Sie sich bei Ihrer OPNsense-Web-GUI mit einem Konto mit administrativem Zugriff wie root an.

  2. Navigieren Sie zu SystemFirmwarePlugins.

  3. Geben Sie os-acme-client in das Suchfeld ein, um das Plugin zu finden.

  4. Klicken Sie auf das +-Symbol neben os-acme-client, um das Plugin zu installieren.Dann werden Sie zum Update-Menü-Tab weitergeleitet.

    Abbildung 8. Installation des os-acme-client-Plugins auf OPNsense

  5. Klicken Sie auf die Registerkarte Plugins, um zu sehen, dass das Plugin os-acme-client installiert ist.

Jetzt sollten Sie das ACME Client-Menü unter Dienste im OPNsense-Web-UI sehen.

4. Konto registrieren

Kontoinformationen werden auch verwendet, um Zertifikate mit Ihrer Identität zu verknüpfen, zusätzlich dazu, dass sie verwendet werden, um Sie per E-Mail zu benachrichtigen, wenn Ihre Zertifikate kurz vor dem Ablauf stehen.Sollten Sie Let's Encrypt für zusätzliche Dienste in Ihrem Netzwerk oder auf Ihrer Website nutzen, kann es vorteilhaft sein, die gleichen Kontoinformationen beizubehalten.Sie können Ihr Konto für den ACME-Client registrieren, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu DiensteACME-ClientKonten im OPNsense-Web-UI.

  2. Klicken Sie auf den Tab Einstellungen.

  3. Klicken Sie auf die Hinzufügen-Schaltfläche mit dem +-Symbol rechts auf der Seite.

    Abbildung 9. Acme-Kundenkonten

  4. Sie können die Erweiterte Ansicht-Schaltfläche oben links im Bereich klicken.

  5. Stellen Sie sicher, dass das Kontrollkästchen Aktiviert angekreuzt ist.

  6. Geben Sie den Namen an, um das Konto zu identifizieren.

  7. Geben Sie einen beschreibenden Namen in das Feld Beschreibung ein.

  8. Optional können Sie die E-Mail-Adresse für dieses Konto eingeben.

  9. Wählen Sie die ACME CA aus.Da die Produktions-CA von Let's Encrypt eine Einschränkung von 5 fehlgeschlagenen Validierungen pro Konto, pro Hostnamen und pro Stunde hat, ist es ratsam, Ihre Konfiguration vorher auf der Let's Encrypt Test-CA zu überprüfen.Wir werden die Let's Encrypt Test CA nutzen, bis wir sicher sind, dass der ACME-Client korrekt konfiguriert ist.

    Abbildung 10. ACME CA Optionen

  10. Optional können Sie den von der CA bereitgestellten Wert für den Key Identifier eingeben, wenn Sie ACME External Account Binding (EAB) verwenden.

  11. Optional können Sie den HMAC-Schlüssel eingeben, der von der CA bereitgestellt wird, wenn Sie ACME External Account Binding (EAB) verwenden.

  12. Klicken Sie auf Speichern.Klicken Sie auf Speichern.

    Abbildung 11. ACME-Konto bearbeiten

5. Wählen Sie die Herausforderungsarten

Obwohl es verschiedene Herausforderungsarten gibt, könnten Sie die DNS-Herausforderung bevorzugen, da sie die Ausstellung von Wildcard-Zertifikaten ermöglicht und ohne erforderliche Portöffnungen in Ihrem Netzwerk funktioniert.Sie können einen Herausforderungs-Typ für den ACME-Client auswählen, indem Sie die nächsten Schritte befolgen:

  1. Navigieren Sie zu DiensteACME-ClientHerausforderungstypen im OPNsense-Web-UI.

  2. Klicken Sie auf die Registerkarte Challenge Types.

  3. Klicken Sie auf die Hinzufügen-Schaltfläche mit dem +-Symbol rechts auf der Seite.

    Abbildung 12. Herausforderungstypen

  4. Stellen Sie sicher, dass das Kontrollkästchen Aktiviert angekreuzt ist.

  5. Geben Sie den Namen an, um das Konto zu identifizieren.

  6. Geben Sie einen beschreibenden Namen in das Feld Beschreibung ein.

  7. Setzen Sie den ACME Challenge-Typ.Sie müssen die Konfiguration für den ausgewählten Herausforderungs-Typ unten hinzufügen.Da DNS-01 die zuverlässigste Herausforderungsart ist, werden wir sie verwenden.

    className="ideal-image" alt="Auswahl der Herausforderungsarten" />

    Abbildung 13. Auswahl der Herausforderungsarten

    Verfügbare Optionen sind wie folgt:

    • DNS-01: Diese Form der Herausforderung ist die zuverlässigste und wird daher dringend empfohlen, wenn Sie dieses Plugin verwenden.Es erfordert, dass Sie die Kontrolle über den DNS Ihrer Domain haben und dass sowohl acme.sh als auch dieses Plugin Ihren DNS-Anbieter unterstützen.
    • HTTP-01: Für diesen Herausforderungs-Typ ist normalerweise eine manuelle Konfiguration erforderlich.Daher wird es nicht empfohlen.Der DNS-Name des Zertifikats muss mit dem OPNsense-Host übereinstimmen, auf dem das ACME-Client-Modul ausgeführt wird.Obwohl der integrierte Webdienst versuchen wird, die richtigen Konfigurationseinstellungen zu übernehmen, funktioniert dies möglicherweise nicht immer sofort einwandfrei.Zusätzlich ist dieser Herausforderungs-Typ nicht mit Let's Encrypt zur Validierung von Wildcard-Zertifikaten kompatibel.

    Abbildung 14. HTTP-01 Challenge-Einstellungen

    • TLS-ALPN-01: Dieser Herausforderungs-Typ funktioniert und hat die gleichen Anforderungen wie HTTP-01.Es funktioniert sogar, wenn Port 80 geschlossen ist.Alternative Challenge-Formate sollten bevorzugt werden.Let's Encrypt unterstützt die Validierung von Wildcard-Zertifikaten mit diesem Herausforderungsformat nicht.

    className="ideal-image" alt="tls-01 Herausforderungs-Einstellungen" />

    Abbildung 15. TLS-01 Herausforderungs-Einstellungen

  8. Wählen Sie einen DNS-Dienst-Anbieter, wie zum Beispiel Cloudflare.com.Sie müssen Ihre Anmeldeinformationen eingeben.

  9. Sie können DNS Sleep Time auf den Standardwert belassen.Dies ist die Zeitspanne, in Sekunden, die vergehen muss, bevor alle TXT-Einträge, die der DNS-API hinzugefügt werden, wirksam werden.Wenn dieser Wert auf null Sekunden gesetzt ist, wird der Acme Client alle zehn Sekunden für maximal zwanzig Minuten nach öffentlichen DNS-Diensten suchen.Wenn auf einen Wert ungleich null eingestellt, wird eine feste DNS-Dormanzzeit implementiert und Abfragen werden an die lokalen DNS-Server weitergeleitet.Bestimmte DNS-APIs erfordern eine minimale Ruhezeit von 120 Sekunden.

  10. Wenn Sie Cloudflare verwenden, können Sie E-Mail und Key unter Global API Key eingeben, was Ihr Cloudflare-Konto mit vollen Rechten verwenden wird.Da dies weniger sicher ist, sollte stattdessen ein API-Token verwendet werden.

  11. Um den Restricted API Token zu verwenden, geben Sie CF Account ID, CF API Token und CF Zone ID ein.

  12. Klicken Sie auf Speichern.

    Abbildung 16. Herausforderungstypen für Cloudflare

6. Automatisierung einrichten (Optional)

Obwohl Automatisierungen völlig nach Ermessen sind, haben sie das Potenzial, Aufgaben erheblich zu vereinfachen, insbesondere bei der Handhabung temporärer Zertifikate.Im Allgemeinen sind die Anwendungsfälle für die Automatisierung mit acme-client im Folgenden aufgeführt:

  • Bereitstellung eines Zertifikats an einen externen Dienst, wie z.B. einen CDN-Anbieter.
  • Neustart eines Dienstes, dessen Zertifikat erneuert wurde, um die Nutzung des neuesten Zertifikats zu überprüfen.Diese Funktion erweist sich als besonders vorteilhaft, wenn ein ACME-Zertifikat in Verbindung mit den OPNsense WebGUI-, HAProxy- oder NGINX-Modulen verwendet wird.Ein Neustart ist für jeden OPNsense-Kernservice oder Plugin-Service möglich.
  • Eine Zertifikatkopie auf mehrere Hosts über das SFTP/SSH-Protokoll übertragen.Auf diese Weise kann OPNsense als zentrale Autorität für ACME-Zertifikate fungieren, während die Geheimnisse des DNS-Anbieters auf einem sicheren Gerät gespeichert werden können.

Sie können die Automatisierung für ACME-Clients konfigurieren, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu DiensteACME-ClientAutomatisierungen im OPNsense-Web-UI.

  2. Klicken Sie auf die Registerkarte Automationen.

  3. Klicken Sie auf die Hinzufügen-Schaltfläche mit dem +-Symbol rechts auf der Seite.

    Abbildung 17. Einrichtungsautomatisierung

  4. Stellen Sie sicher, dass das Kontrollkästchen Aktiviert angekreuzt ist.

  5. Geben Sie den Namen an, um das Konto zu identifizieren.

  6. Geben Sie einen beschreibenden Namen in das Feld Beschreibung ein.

  7. Wählen Sie eine der Optionen aus dem Dropdown-Menü Befehl ausführen, wie z.B. OPNsense Web UI neu starten.

    Abbildung 18. Automatisierungen bearbeiten

  8. Klicken Sie auf Speichern.

7. Zertifikat hinzufügen

Das ACME-Client-Plugin hat die Fähigkeit, eine unbegrenzte Anzahl von Zertifikaten zu verwalten.Die Zertifizierungsstelle kann jedoch die Anzahl der wöchentlich ausgestellten Zertifikate begrenzen oder andere Preisbeschränkungen auferlegen.Wiederholte Versuche einer fehlgeschlagenen Validierung können aufgrund der Ratenbegrenzung zu weiteren Fehlern führen.

Beim Umgang mit Zertifikaten mit diesem Plugin müssen die folgenden Regeln beachtet werden:

  • Zertifikate müssen vor ihrer Verwendung von der Zertifizierungsstelle (CA) validiert werden.Dieses Verfahren läuft im Hintergrund und kann mehrere Minuten in Anspruch nehmen.Die Fortschrittsüberwachung ist durch die Verwendung der Protokolldateien möglich.
  • Zertifikate werden im OPNsense-Zertifikatspeicher aufbewahrt.Sobald eine Zertifizierungsstelle die Validierung einer Zertifikatsanforderung abgeschlossen hat, wird das Zertifikat sofort in den OPNsense-Zertifikats speicher importiert.Beim Erneuern von Zertifikaten wird der OPNsense-Zertifikatsspeicher die vorhandenen Einträge automatisch aktualisieren.
  • Wenn ein Zertifikat aus dem Plugin entfernt wird, wird es nicht aus dem OPNsense-Zertifikatsspeicher gelöscht, um sicherzustellen, dass es weiterhin von einer Kernanwendung oder einem anderen Plugin verwendet werden kann.Veraltete Zertifikate müssen manuell aus dem OPNsense-Zertifikatsspeicher gelöscht werden.Das Erstellen eines neuen Zertifikats mit demselben Namen führt dazu, dass ein neues Zertifikat in den OPNsense-Zertifikatspeicher importiert wird, anstatt den aktuellen Datensatz zu aktualisieren.

Sie können ein Zertifikat für ACME-Kunden hinzufügen, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu DiensteACME-ClientZertifikate im OPNsense-Web-UI.

  2. Klicken Sie auf die Registerkarte Zertifikate.

  3. Klicken Sie auf die Hinzufügen-Schaltfläche mit dem +-Symbol rechts auf der Seite.

    Abbildung 19. Zertifikate

  4. Stellen Sie sicher, dass das Kontrollkästchen Aktiviert markiert ist.

  5. Geben Sie den Common Name an, der der Hostname und der Domainname Ihres OPNsense-Routers ist, wie z.B. router.myhome.net.Der Name muss dem Hostnamen oder Domainnamen des OPNsense-Systems entsprechen.

  6. Geben Sie einen beschreibenden Namen in das Feld Beschreibung ein.

  7. Sie können zusätzliche Namen konfigurieren, die Teil des Zertifikats sein sollen, z.B. www.example.com oder mail.example.com über das Feld Alt Names.

    className="ideal-image" alt="Zertifikatsoptionen" />

    Abbildung 20. Zertifikatsoptionen

  8. Wählen Sie ACME-Konto.

  9. Wählen Sie Herausforderungstyp.

  10. Aktivieren Sie die Option Auto Renewal, um eine Ablauffrist zu verhindern.Wenn deaktiviert, wird der Cron-Job dieses Zertifikat ignorieren.

  11. Setzen Sie das Erneuerungsintervall, um die Tage für die Erneuerung des Zertifikats festzulegen.

  12. Wählen Sie den Schlüssellängen-Wert, der standardmäßig 4096 Bit beträgt.

  13. Sie können die Automatisierung Restart OPNsense Web UI, die im vorherigen Schritt erstellt wurde, für die Automatisierungen-Option auswählen.Jedes Programm benötigt einen schnellen Neustart, um das neueste Zertifikat neu zu laden.Das Versäumnis, eine Automatisierung einzurichten, könnte dazu führen, dass das im Speicher befindliche Zertifikat abläuft, was zu Sicherheitswarnungen und anderen Komplikationen führen könnte.

    className="ideales-Bild" alt="ACME CA-Sicherheitseinstellungen" />

    Abbildung 21. ACME CA-Sicherheitseinstellungen

  14. Klicken Sie auf Speichern.Zu diesem Zeitpunkt wird das Zertifikat angezeigt.Sie können versuchen, das ursprüngliche Zertifikat manuell auszustellen, um zu testen, ob es genau erstellt werden kann.

    className="ideal-image" alt="neu hinzugefügtes Zertifikat" />

    Abbildung 22. Neu Hinzugefügtes ACME-Zertifikat

  15. Klicken Sie auf die Schaltfläche Alle Zertifikate ausstellen/erneuern, um das Zertifikat zu generieren.Alternativ, wenn Sie ein bestimmtes Zertifikat ausschließlich ausstellen/erneuern möchten, klicken Sie auf das dritte Symbol rechts neben dem Zertifikat.Sie werden das Ausstellungs-/Erneuerungsdatum und den Letzten ACME-Status als OK angezeigt bekommen, wenn alles richtig eingerichtet ist.Wenn nicht, überprüfen Sie die Protokolldateien unter DiensteACME-ClientProtokolldateien, um das Problem zu beheben.

    Abbildung 23. Validierte Zertifikatsliste

8. Aktivieren Sie das ACME-Client-Plugin

Nach der Installation des ACME-Clients muss er konfiguriert werden, um Zertifikate zu generieren und automatisch zu erneuern.Sie können das ACME-Client-Plugin ganz einfach aktivieren und seine allgemeinen Einstellungen konfigurieren, indem Sie die folgenden Schritte befolgen:

  1. Navigieren Sie zu DiensteACME-ClientEinstellungen im OPNsense-Web-UI.

  2. Klicken Sie auf die Registerkarte Einstellungen.

  3. Sie können die Erweiterte Ansicht-Schaltfläche oben links im Bereich klicken.

  4. Klicken Sie auf das Kontrollkästchen Plugin aktivieren.

  5. Stellen Sie sicher, dass die Option Auto Renewal aktiviert ist, um das Ablaufen des Zertifikats zu verhindern.Dadurch wird ein Cron-Job zum System hinzugefügt.Es kann notwendig sein, den Zeitplan des Cron-Jobs an Ihre Anforderungen anzupassen, da die Neuerstellung eines Zertifikats zu einer kurzen Inaktivitätsperiode führen könnte, abhängig von der Art der Herausforderung und dem Dienst, den Sie wählen.

  6. Sie können die HAProxy-Integration mit OPNsense aktivieren.Für diese Option ist die Installation des OPNsense HAProxy-Plugins obligatorisch.Dies wird automatisch das notwendige Backend, den Server, die Aktion und die ACL für Sie hinzufügen.Wählen Sie einfach Ihr HAProxy-Frontend während des Konfigurationsprozesses für das Zertifikat oder den Herausforderungs-Typ aus. Diese Option ist nur für die HTTP-01-Validierung und HAProxy-Frontends im HTTP-Modus anwendbar; sie unterstützt keine TCP-Frontends.Diese Option ist nur für die HTTP-01-Validierung und HAProxy-Frontends im HTTP-Modus anwendbar; sie unterstützt keine TCP-Frontends.

  7. Sie können das Log-Level für acme.sh festlegen.Der Standardwert ist "normal".Alle anderen Protokollebene enthalten Diagnosedaten.Mit steigendem Niveau werden die "debug 2" und "debug 3" Protokollnachrichten von acme.sh zunehmend detaillierter, einschließlich Nachrichten von den DNS-01 DNSAPI-Skripten.

  8. Sie können die Option Einführungsseiten anzeigen deaktivieren, wenn Sie möchten.

  9. Sie können den lokalen HTTP-Port ändern, der standardmäßig 43580 ist.Wenn HTTP-01 als Herausforderungsart verwendet wird, erhält die ACME CA Herausforderungsdaten von einem lokalen Webserver.Der lokale Webserver sollte PORT 80 oder einen anderen allgemein bekannten Port NICHT verwenden, da er von außen nicht direkt zugänglich ist.

  10. Sie können den Local TLS ALPN Port ändern, der standardmäßig 43581 ist.Dies ist der Dienstport, wenn TLS-ALPN-01 als Herausforderungsart verwendet wird. 11.Sie können Automatisierungs-Timeout auf dem Standardwert 600 belassen.Dies ist die obere Grenze in Sekunden für die Dauer der Fertigstellung einer Automatisierung.Der Befehl wird automatisch beendet, wenn das Zeitlimit abläuft.

  11. Klicken Sie auf die Schaltfläche Testkonfiguration, um zu überprüfen, ob Sie Konfigurationsprobleme haben.

  12. Klicken Sie auf Übernehmen, um die Einstellungen zu aktivieren.

    Abbildung 24. ACME-Klienteneinstellungen

9. Testzertifikat durch Produktionszertifikat ersetzen

Nachdem Sie überprüft haben, dass Ihre Testzertifikate ohne Probleme funktionieren, können Sie diese durch Ihr Produktionszertifikat ersetzen, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu DiensteACME-ClientKonten.

  2. Wählen Sie Konten

    Abbildung 25. ACME-Kontenliste

  3. Wählen Sie das Stiftsymbol unter Befehle, um das Konto zu bearbeiten.

  4. Ändern Sie die Let's Encrypt Test CA zu Let's Encrypt im ACME CA-Dropdown-Menü.

    Abbildung 26. Ändern des Prüfungszertifikats

  5. Wählen Sie Speichern.

10. Aktualisierung des Web-GUI-Zertifikats

Um das OPNsense-Web-GUI-Zertifikat zu ändern, können Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu SystemEinstellungenVerwaltung im OPNsense-Web-UI.

  2. Wählen Sie das neue ACME (Client)-Zertifikat aus der SSL-Zertifikat-Dropdown-Liste aus.

    Abbildung 27. Ändern des OPNsense-GUI-Zertifikats

  3. Klicken Sie unten auf der Seite auf Speichern.

  4. Starten Sie Ihre OPNsense-Anmeldeseite in einem neuen Browser neu.Sie sollten sehen, dass das "nicht gesichert" Symbol verschwunden ist.Sie haben jetzt ein Let's Encrypt Wildcard-Zertifikat.

    Abbildung 28. Unterzeichnetes Zertifikat

Was ist Let's Encrypt?

Let's Encrypt ist ein globaler Zertifizierungsstellen-Dienst (CA), der von der Internet Security Research Group (ISRG) bereitgestellt wird.Es ermöglicht Organisationen und Einzelpersonen aus der ganzen Welt, SSL/TLS-Zertifikate zu erstellen, zu erneuern und zu verwalten.Websites können Let's Encrypt-Zertifikate verwenden, um sichere HTTPS-Verbindungen herzustellen.

Let's Encrypt bietet benutzerfreundliche und kostenlose Dienste an, die es jeder Website ermöglichen, HTTPS zu implementieren.Es fallen keine Gebühren von Let's Encrypt für seine Zertifikate an.Die Mission der gemeinnützigen Organisation Let's Encrypt ist es, ein sichereres und datenschutzbewussteres Internet zu gewährleisten, indem sie sich für die umfassende Implementierung von HTTPS einsetzt.

Da Let's Encrypt-Zertifikate Domain-Validierungsstandards sind, sind sie auf alle Server anwendbar, die Domainnamen verwenden, einschließlich, aber nicht beschränkt auf Webserver, Mailserver und FTP-Server.

Die Gültigkeit von Let's Encrypt-Zertifikaten beträgt neunzig (90) Tage.

Was ist der ACME-Client?

ACME (Automatic Certificate Management Environment) Client ist jede Anwendung, die in der Lage ist, mit einer ACME-fähigen Zertifizierungsstelle wie Let's Encrypt und ZeroSSL zu kommunizieren.Bestimmte Anwendungen sind Endbenutzertools, die die Bestellung und Verwaltung von Zertifikaten erleichtern, während andere Integrationen in externe Dienste sind.

Die OPNsense-Firewall verfügt über ein ACME-Client-Plugin zur vollständigen Implementierung des ACME-Protokolls.Es ist wahrscheinlich "das einfachste, kleinste und intelligenteste Shell-Skript", das verfügbar ist, um automatisch kostenlose Zertifikate von Let's Encrypt zu generieren und zu erneuern, so die Autoren.

Das ACME-Client-Plugin erleichtert die Erstellung von SSL-Zertifikaten über die folgenden Zertifizierungsstellen (CAs):

  • Let's Encrypt: Let's Encrypt ist eine offene, automatisierte und kostenlose Zertifizierungsstelle, die zum Wohle der Öffentlichkeit arbeitet.Das Portal ist ein Dienst der Internet Security Research Group (ISRG).
  • ZeroSSL: ZeroSSL ist eine in Österreich ansässige kommerzielle europäische Zertifizierungsstelle.Eine Darstellung der von Let's Encrypt angebotenen Funktionen ist für Verbraucher auf ihrer Website verfügbar.
  • Google: Google ist eine Autorität für kommerzielle Zertifikate.
  • Buypass: Buypass ist eine in Norwegen ansässige kommerzielle europäische Zertifizierungsstelle.
  • SSL.com: SSL.com ist eine weltweit angesehene, kommerzielle Zertifizierungsstelle.Ein umfassendes Handbuch wird angeboten, um den Benutzern bei der Nutzung ihrer kostenpflichtigen Dienste in Verbindung mit dem ACME-Protokoll zu helfen.

Was ist ein selbstsigniertes Zertifikat?

Ein selbstsigniertes SSL/TLS-Zertifikat ist ein digitales Zertifikat, das nicht von einer öffentlich vertrauenswürdigen Zertifizierungsstelle (CA) ausgestellt wird.Selbstsignierte Zertifikate unterscheiden sich von traditionell von einer CA signierten Zertifikaten darin, dass sie von der Entität oder dem Entwickler, der für die Software oder die Website verantwortlich ist, die mit dem Zertifikat verknüpft ist, generiert, verteilt und mit einer Signatur versehen werden, anstatt von einer vertrauenswürdigen CA.Obwohl dieser Ansatz potenziell Kosteneinsparungen bei Zertifikaten für interne Websites bietet, wird die Implementierung auf öffentlichen Websites und Anwendungen strikt abgeraten.

Selbstsignierte Zertifikate, die zwar die kryptografische Architektur von privaten und öffentlichen Schlüsselpaaren verwenden, wie sie in X.509-Zertifikaten zu finden ist, fehlen der Verifizierungsprozess einer vertrauenswürdigen Drittanbieter-CA.Folglich sind selbstsignierte Zertifikate im Gegensatz zu von vertrauenswürdigen CAs ausgestellten Zertifikaten nicht an eine Root-CA oder ein Zwischenzertifikat gebunden.Dieses zusätzliche Risiko entsteht durch das Fehlen einer unabhängigen Validierung während des Ausstellungsprozesses.Allgemein werden selbstsignierte Zertifikate ausschließlich in internen Entwicklungs- und Testumgebungen verwendet und gelten als ungeeignet für öffentlich zugängliche Websites und Anwendungen.

Was sind die Vorteile eines selbstsignierten Zertifikats?

Die wichtigsten Vorteile von selbstsignierten Zertifikaten sind unten aufgeführt:

  • Kosten: Die Ausstellung selbstsignierter Zertifikate ist schnell, kostengünstig und unkompliziert.
  • Ideal für Tests und interne Nutzung: Selbstsignierte Zertifikate können auf Websites verwendet werden, die über ein internes Netzwerk zugänglich sind, und in Entwicklungs-/Testumgebungen, in denen Verschlüsselung Vorrang vor Vertrauensvalidierung hat.
  • Einfache Verwaltung: Das Anpassen oder Ändern von selbstsignierten Zertifikaten ist unkompliziert; zum Beispiel können sie größere Schlüssellängen oder zusätzliche Metadaten unterstützen.
  • Keine Abhängigkeit: Das Fehlen jeglicher Abhängigkeiten von externen Systemen führt zu Zeitersparnissen während der Testphase der Zertifikatsausstellung.
  • Unbegrenzte Generierung: Entwickler und Anwendungsmanager sind nicht in ihrer Fähigkeit eingeschränkt, Zertifikate zu generieren, und sind nicht auf andere Teams angewiesen, um dies zu tun. Es scheint, dass Sie keinen Text eingegeben haben. Bitte teilen Sie mir mit, was Sie übersetzen möchten!

Was sind die Risiken eines selbstsignierten Zertifikats?

Selbstsignierte Zertifikate bieten Vorteile in internen Netzwerken und Softwareentwicklungsphasen, können jedoch ohne angemessene Aufsicht und Verwaltung Gefahren darstellen.Die Hauptgefahren von selbstsignierten Zertifikaten sind wie folgt:

  • Fehlende Aufsicht und Autorität:Tausende von digitalen Zertifikaten, die sowohl von privaten als auch von öffentlichen Zertifizierungsstellen (CAs) ausgestellt werden, werden von Organisationen genutzt, und es ist schwierig, jedes dieser Zertifikate manuell nachzuvollziehen.Es ist entscheidend, die Anzahl der im Umlauf befindlichen Zertifikate, deren Besitzer, Standort und den Ort, an dem die privaten Schlüssel aufbewahrt werden, zu verstehen, um die Cyberverteidigung zu stärken.

    Häufig haben Organisationen, die eine Vielzahl von selbstsignierten Zertifikaten verwenden, keine klare Übersicht über die Zertifikatsinfrastruktur.Leider würde im Falle eines Sicherheitsvorfalls innerhalb des Netzwerks Ihrer Organisation die Anwesenheit eines kompromittierten selbstsignierten Zertifikats und privaten Schlüssels die Schwere der Situation verschleiern.

  • Anfälligkeit für Schwachstellen:Kompromittierte private Schlüssel können ein erhebliches Risiko für die Infrastruktur einer Organisation darstellen.Sie können die ausstellende Zertifizierungsstelle über kompromittierte Zertifikate informieren, und sie werden diese sofort widerrufen.Selbstsignierte Zertifikate werden jedoch über keinen anerkannten Widerrufsmechanismus verfügen.

    Darüber hinaus vernachlässigen Organisationen häufig die Überwachung ihrer selbstsignierten Zertifikate, was dazu führen kann, dass kompromittierte oder abgelaufene Zertifikate unbemerkt bleiben.Diese kompromittierten Zertifikate dienen als Einstiegspunkte für böswillige Akteure, um in das Netzwerk einzudringen und ausgeklügelte und fortschrittliche Angriffe zu starten, einschließlich Man-in-the-Middle (MITM), Phishing, Malware und Botnets.

    Abbildung 29. Zertifikat-Warnung

  • Fehlende technische Unterstützung und Garantie: Öffentliche Zertifizierungsstellen stellen ihre Zertifikate mit Unterstützung, Wissen und Verwaltungstools zur Verfügung.Es wird jedoch keine Unterstützung, Expertise oder Verwaltungstools für selbstsignierte Zertifikate angeboten, da diese Zertifikate intern erstellt werden.Finanzielle und personelle Ressourcen sind erforderlich, um die Kontrolle über sie aufrechtzuerhalten.

  • Versäumnis der Sicherheitsverpflichtungen: Digitale Zertifikate, die von renommierten Zertifizierungsstellen ausgestellt werden, halten strenge Standards ein, im Gegensatz zu selbstsignierten Zertifikaten, die intern erstellt werden und selten den neuesten Sicherheitsstandards entsprechen, aufgrund unzureichenden Bewusstseins und Vernachlässigung optimaler Methoden.

    Die Verwaltung und Überwachung jedes digitalen Schlüssels und Zertifikats, das in einem Unternehmensnetzwerk existiert, ist von größter Bedeutung.Selbstsignierte und von der Zertifizierungsstelle ausgestellte Zertifikate, die für den Betrieb sowohl interner als auch externer Websites verantwortlich sind, müssen gesichert, geschützt und kontinuierlich überwacht werden.

    Selbstsignierte Zertifikate können für interne LAN-Dienste verwendet werden; jedoch muss eine robuste Richtlinie implementiert werden, um sicherzustellen, dass der ausstellende CA-Server sicher vor Cyberkriminellen geschützt ist, sich in einem für alle Mitarbeiter der Organisation unzugänglichen Bereich befindet und von Überwachungstools sowie einem Team begleitet wird, das für die Verwaltung des Zertifikatbestands verantwortlich ist.

    VorteileRisiken
    KostenFehlende Aufsicht und Autorität
    Ideal für Tests und interne NutzungAnfälligkeit für Schwachstellen
    Einfache VerwaltungFehlende technische Unterstützung und Garantie
    Keine AbhängigkeitNichterfüllung von Sicherheitsverpflichtungen
    Unbegrenzte Erzeugung

    Tabelle 1. Vorteile und Risiken von Selbstsignierten Zertifikaten

Praktisches Video

Hier ist ein Video, das Sie durch die Schritte zum Ändern eines selbstsignierten Zertifikats in ein von einer CA signiertes Zertifikat auf OPNsense führt: