Si vous utilisez régulièrement F5 NGINX Plus, il est probable que vous créiez des conteneurs pour tester de nouvelles fonctionnalités. Lorsque vous créez des conteneurs NGINX Plus, vous finissez souvent par stocker des informations sensibles, telles que le certificat et la clé du dépôt NGINX, sur votre système de fichiers local. Bien qu’il soit facile d’ajouter des fichiers sensibles à un fichier .gitignore du dépôt, cette méthode n’est ni idéale ni sécurisée. En effet, il existe de nombreux exemples d’ingénieurs ayant accidentellement validé des informations sensibles dans un dépôt.
Une meilleure méthode consiste à utiliser une solution de gestion des secrets. Personnellement, je suis depuis longtemps un adepte de 1Password et j’ai récemment découvert son outil CLI. Cet outil permet aux développeurs et aux ingénieurs plateforme de manipuler plus facilement les secrets dans le cadre de leurs tâches quotidiennes.
Dans cet article de blog, nous expliquons comment utiliser l’interface en ligne de commande de 1Password pour créer de manière sécurisée un conteneur NGINX Plus. Cet exemple suppose que vous disposez d’un abonnement NGINX Plus, d’un abonnement 1Password avec l’outil en ligne de commande installé, d’un accès à un environnement doté d’un shell (Bash ou Zsh), et que Docker est installé.
Stocker des secrets dans 1Password
La première étape consiste à stocker vos secrets dans 1Password, qui prend en charge plusieurs types de secrets tels que les identifiants d’API, les fichiers, les notes et les mots de passe. Dans ce cas d’utilisation de NGINX Plus, nous exploitons la fonctionnalité de fichiers sécurisés de 1Password.
Vous pouvez obtenir le certificat et la clé de votre dépôt NGINX depuis le portail MyF5. Suivez la documentation de 1Password pour créer un document sécurisé pour le certificat et la clé du dépôt NGINX. Une fois les deux documents sécurisés créés, suivez les étapes permettant de récupérer la référence du secret 1Password.
Remarque: à l’heure où nous écrivons ces lignes, 1Password ne permet pas d’ajouter plusieurs fichiers à un même enregistrement.
Créer le conteneur NGINX Plus
Il est maintenant temps de créer le conteneur NGINX Plus qui utilise vos fichiers sécurisés et les identificateurs uniformes de ressource (URI) référençant leurs secrets. Cette étape s’appuie sur l’exemple de Dockerfile du guide d’administration de NGINX Plus.
Préparer le processus docker build Process
Après avoir enregistré le Dockerfile dans un nouveau répertoire, préparez le processus docker build. Pour transmettre vos secrets 1Password à la commande docker build, commencez par stocker l’URI de référence de chaque secret dans une variable d’environnement. Ouvrez ensuite un nouveau terminal Bash dans le répertoire où vous avez enregistré votre Dockerfile.
Saisissez ces commandes dans le terminal Bash :
export NGINX_CRT="op://Work/nginx-repo-crt/nginx-repo.crt"export NGINX_KEY="op://Work/nginx-repo-key/nginx-repo.key"Remplacer les URI de référence des secrets
La commande « op run » permet à votre interface de ligne de commande 1Password de remplacer les URI de référence aux secrets dans les variables d’environnement par la valeur du secret. Vous pouvez utiliser cette fonctionnalité dans votre commande « docker build » afin de transmettre le certificat et la clé du dépôt NGINX au conteneur de build.
Pour terminer la création de votre conteneur, exécutez les commandes suivantes dans le même terminal que celui utilisé à l’étape précédente :
op run -- docker build --no-cache --secret id=nginx-key,env=NGINX_KEY --secret id=nginx-crt,env=NGINX_CRT -t nginxplus --load .Dans cette commande, « op run » exécute la commande « docker build » et détecte deux références à des variables d’environnement (« NGINX_CRT » et « NGINX_KEY ») contenant les URI de référence des secrets 1Password. La commande « op » remplace chaque URI par la valeur réelle du secret.
Commencez dès aujourd’hui
En suivant ces étapes simples et en utilisant 1Password CLI, vous pouvez créer des conteneurs NGINX Plus à partir du référentiel NGINX Plus sans stocker le certificat ni la clé sur votre système de fichiers local, créant ainsi un environnement plus sécurisé.
Si vous découvrez NGINX Plus, vous pouvez commencer votre essai gratuit de 30 jours dès aujourd’hui ou nous contacter pour discuter de vos cas d’utilisation.
À propos de l’auteur
Articles de blog associés

Tendances actuelles des technologies cloud natives, de l’ingénierie de plateforme et de l’IA
Découvrez les principaux enseignements tirés des réponses à l’enquête annuelle F5 NGINX sur les dernières tendances en matière de technologies cloud natives, de sécurité, d’ingénierie de plateforme et d’IA.
Quels contrôleurs Ingress NGINX sont affectés par les vulnérabilités CVE-2022-4886, CVE-2023-5043 et CVE-2023-5044 ?
Lorsque de nouvelles CVE sont signalées, il est facile de ne plus savoir si elles concernent un outil de contrôleur Ingress NGINX particulier, car il existe plusieurs projets. Cet article présente les CVE et explique comment distinguer les différents projets de contrôleurs Ingress afin de dissiper toute confusion.
Votre API est-elle en temps réel ? Testez sa latence avec l’outil rtapi de NGINX
Votre API répond-elle aux requêtes en moins de 30 ms ? Si ce n’est pas le cas, il ne s’agit pas d’une API en temps réel offrant la faible latence exigée par la grande majorité des organisations. Mesurez la latence de votre API avec l’outil rtapi de NGINX et découvrez comment NGINX peut l’aider à offrir une réactivité en temps réel.

Un testeur d’expressions régulières pour NGINX et NGINX Plus
Le testeur d’expressions régulières (regex) pour NGINX et NGINX Plus vous évite de tâtonner en vous indiquant si une expression régulière utilisée dans un bloc location ou map correspond aux valeurs comme prévu. Il génère la configuration appropriée et affiche les valeurs des groupes de capture.
Caches partagés avec les clusters de cache NGINX Plus, partie 1
Optimisez la capacité de votre cache web en le répartissant entre plusieurs serveurs de cache web NGINX ou NGINX Plus. Découvrez comment procéder dans cet article.
Introduction aux microservices
Les microservices suscitent actuellement beaucoup d’intérêt. Cet article de blog est le premier d’une série de sept consacrée à la conception, au développement et au déploiement de microservices.