Mit der 1Password CLI NGINX Plus-Container sicher erstellen

NGINX | 29. August 2023

Wenn Sie F5 NGINX Plus regelmäßig verwenden, erstellen Sie wahrscheinlich Container, um neue Features oder Funktionen auszuprobieren. Beim Erstellen von NGINX Plus-Containern werden häufig vertrauliche Informationen wie das Zertifikat und der Schlüssel für das NGINX-Repository im lokalen Dateisystem gespeichert. Zwar lassen sich vertrauliche Dateien problemlos zu einer .gitignore-Datei im Repository hinzufügen, doch dieses Vorgehen ist weder ideal noch sicher – tatsächlich gibt es viele Beispiele, bei denen Entwickler versehentlich vertrauliche Informationen in ein Repository committen.

Eine bessere Methode ist die Verwendung einer Lösung zur Verwaltung von Geheimnissen. Ich persönlich bin schon lange ein Fan von 1Password und habe kürzlich das CLI-Tool des Unternehmens entdeckt. Dieses Tool erleichtert Entwicklern und Plattformingenieuren den Umgang mit Geheimnissen in ihrem Arbeitsalltag.

In diesem Blogbeitrag erläutern wir, wie Sie mit der 1Password CLI sicher einen NGINX Plus-Container erstellen. Für dieses Beispiel benötigen Sie ein NGINX Plus-Abonnement, ein 1Password-Abonnement mit installiertem CLI-Tool, Zugriff auf eine Umgebung mit einer Shell (Bash oder Zsh) sowie eine installierte Docker-Version.

Geheimnisse in 1Password speichern

Im ersten Schritt speichern Sie Ihre Geheimnisse in 1Password, das mehrere Arten von Geheimnissen wie API-Anmeldedaten, Dateien, Notizen und Passwörter unterstützt. In diesem Anwendungsfall für NGINX Plus nutzen wir die Funktion von 1Password zur sicheren Speicherung von Dateien.

Sie können das Zertifikat und den Schlüssel für Ihr NGINX-Repository über das MyF5-Portal beziehen. Folgen Sie der 1Password-Dokumentation, um jeweils ein sicheres Dokument für das Zertifikat und den Schlüssel des NGINX-Repositorys zu erstellen. Nachdem Sie die beiden sicheren Dokumente erstellt haben, führen Sie die Schritte aus, um die 1Password-Geheimnisreferenz abzurufen.

Hinweis: Zum Zeitpunkt der Erstellung dieses Dokuments unterstützt 1Password nicht mehrere Dateien in einem einzigen Eintrag.

NGINX Plus-Container erstellen

Nun ist es an der Zeit, den NGINX Plus-Container zu erstellen, der Ihre sicheren Dateien und die zugehörigen geheimen Referenz-URIs (Uniform Resource Identifiers) nutzt. In diesem Schritt wird das Beispiel-Dockerfile aus dem NGINX Plus-Administratorhandbuch verwendet.

Den docker build-Prozess vorbereiten

Nachdem Sie das Dockerfile in einem neuen Verzeichnis gespeichert haben, bereiten Sie den Prozess docker build vor. Um Ihre 1Password-Geheimnisse an docker build zu übergeben, speichern Sie zunächst jeden URI eines Geheimnisverweises in einer Umgebungsvariable. Öffnen Sie anschließend ein neues Bash-Terminal in dem Verzeichnis, in dem Sie Ihr Dockerfile gespeichert haben.

Geben Sie diese Befehle im Bash-Terminal ein:

export NGINX_CRT="op://Work/nginx-repo-crt/nginx-repo.crt"export NGINX_KEY="op://Work/nginx-repo-key/nginx-repo.key"

URIs für Geheimnisreferenzen ersetzen

Mit dem Befehl „op run“ kann Ihre 1Password CLI geheime Referenz-URIs in Umgebungsvariablen durch den Wert des Geheimnisses ersetzen. Diese Funktion können Sie in Ihrem Befehl „docker build“ nutzen, um das Zertifikat und den Schlüssel des NGINX-Repositorys an den Build-Container zu übergeben.

Um die Erstellung Ihres Containers abzuschließen, führen Sie die folgenden Befehle in demselben Terminal aus, das Sie im vorherigen Schritt verwendet haben:

op run -- docker build --no-cache --secret id=nginx-key,env=NGINX_KEY --secret id=nginx-crt,env=NGINX_CRT -t nginxplus --load .

In diesem Befehl führt op run den Befehl docker build aus und erkennt zwei Umgebungsvariablenverweise (NGINX_CRT und NGINX_KEY) mit den 1Password-URIs für Geheimnisverweise. Der Befehl op ersetzt die URI durch den tatsächlichen Wert des Geheimnisses.

Legen Sie noch heute los

Wenn Sie die einfachen Schritte befolgen und die 1Password CLI verwenden, können Sie NGINX Plus-Container auf Grundlage des NGINX Plus-Repositorys erstellen, ohne das Zertifikat und den Schlüssel in Ihrem lokalen Dateisystem zu speichern. So schaffen Sie eine sicherere Umgebung.

Wenn NGINX Plus für Sie neu ist, können Sie noch heute Ihre kostenlose 30-Tage-Testversion starten oder uns kontaktieren, um Ihre Anwendungsfälle zu besprechen.


Teilen
Schlagwörter: Security, F5 NGINX, Tech

Ähnliche Blogbeiträge

Die Zukunft von NGINX: Zurück zu unseren Open-Source-Wurzeln
NGINX | 23.08.2022

Die Zukunft von NGINX: Zurück zu unseren Open-Source-Wurzeln

Beim NGINX Sprint 2022 besinnen wir uns auf unsere Open-Source-Wurzeln. Erfahren Sie mehr über die Initiativen, die wir im kommenden Jahr verfolgen, und teilen Sie uns mit, was Sie sich wünschen.

Ein Leitfaden zur Auswahl eines Ingress-Controllers, Teil 1: Ermitteln Sie Ihre Anforderungen
NGINX | 08.09.2021

Ein Leitfaden zur Auswahl eines Ingress-Controllers, Teil 1: Ermitteln Sie Ihre Anforderungen

Ein Ingress-Controller kann eines der leistungsstärksten Tools in Ihrem Kubernetes-Stack sein. Erfahren Sie, wie Sie Ihre Ingress-Anforderungen ermitteln, um die beste Option auszuwählen.

Bereitstellung des NGINX Ingress Controllers auf Amazon EKS: So haben wir getestet
NGINX | 16.08.2021

Bereitstellung des NGINX Ingress Controllers auf Amazon EKS: So haben wir getestet

Wir haben kürzlich den Lösungsleitfaden zum NGINX Ingress Controller um Empfehlungen zur Dimensionierung für Amazon Elastic Kubernetes Service (EKS) ergänzt. In diesem Blogbeitrag erläutern wir, wie wir diese Empfehlungen erarbeitet haben, und stellen Ihnen alle Informationen zur Verfügung, die Sie benötigen, um selbst ähnliche Tests durchzuführen.

Protokollierung des Datenverkehrs zwischen NGINX und Upstream-Servern bei CDN77
NGINX | 12.12.2018

Protokollierung des Datenverkehrs zwischen NGINX und Upstream-Servern bei CDN77

Bei der Fehlersuche bei Datenverkehrsproblemen zwischen NGINX und Upstream-Servern konnte CDN77 die benötigten Daten nur aus dem Fehlerprotokoll mit aktivierter Debug-Ausgabe beziehen, was die Leistung beeinträchtigt und riesige Dateien erzeugt. Daher entwickelte das Team ein neues benutzerdefiniertes Modul, das ausschließlich die benötigten Daten protokolliert.

Ankündigung von NGINX Plus R16
NGINX | 05.09.2018

Ankündigung von NGINX Plus R16

NGINX Plus R16 ist eine einheitliche, elastische Ingress- und Egress-Schicht für Anwendungen, die die Funktionen eines Load Balancers, API-Gateways und einer WAF vereint und neue Features wie clusterfähige Ratenbegrenzung, Schlüssel-Wert-Speicher, „Random with Two Choices“, verbessertes UDP-Load-Balancing und vieles mehr bietet.

5 Gründe für den Umstieg auf softwarebasiertes Load Balancing
NGINX | 13.10.2016

5 Gründe für den Umstieg auf softwarebasiertes Load Balancing

Entdecken Sie fünf Gründe für den Wechsel zu einem softwarebasierten Load Balancer wie NGINX Plus, darunter Kosteneinsparungen, die Einführung von DevOps und eine einheitliche Lösung für alle Umgebungen.