Uso de la CLI de 1Password para crear contenedores de NGINX Plus de forma segura

NGINX | 29 de agosto de 2023

Si utiliza habitualmente F5 NGINX Plus, es probable que cree contenedores para probar nuevas características o funcionalidades. Al crear contenedores de NGINX Plus, a menudo se acaba almacenando información confidencial, como el certificado y la clave del repositorio de NGINX, en el sistema de archivos local. Aunque es sencillo añadir archivos confidenciales a un archivo .gitignore del repositorio, este proceso no es idóneo ni seguro; de hecho, hay muchos ejemplos de ingenieros que envían accidentalmente información confidencial a un repositorio.

Un método mejor es utilizar una solución de gestión de secretos. Personalmente, soy desde hace mucho tiempo usuario de 1Password y hace poco descubrí su herramienta de CLI. Esta herramienta facilita a los desarrolladores y a los ingenieros de plataformas la interacción con secretos en su flujo de trabajo diario.

En esta entrada del blog, explicamos cómo usar la CLI de 1Password para crear de forma segura un contenedor de NGINX Plus. Este ejemplo presupone que dispone de una suscripción a NGINX Plus, una suscripción a 1Password con la herramienta CLI instalada, acceso a un entorno con un shell (Bash o Zsh) y Docker instalado.

Almacenar secretos en 1Password

El primer paso es almacenar tus secretos en 1Password, que admite varios tipos de secretos como credenciales de API, archivos, notas y contraseñas. En este caso de uso de NGINX Plus, utilizamos la función de archivos seguros de 1Password.

Puede obtener el certificado y la clave de su repositorio de NGINX en el portal MyF5. Siga la documentación de 1Password para crear un documento seguro tanto para el certificado como para la clave del repositorio de NGINX. Una vez que haya creado los dos documentos seguros, siga los pasos para obtener la referencia del secreto de 1Password.

Nota: En el momento de redactar este documento, 1Password no permite incluir varios archivos en un mismo registro.

Crear el contenedor de NGINX Plus

Ahora es el momento de crear el contenedor de NGINX Plus que utiliza sus archivos seguros y los identificadores uniformes de recursos (URI) que hacen referencia a sus secretos. En este paso se utiliza el Dockerfile de ejemplo de la Guía de administración de NGINX Plus.

Preparar el proceso de docker build Process

Después de guardar el Dockerfile en un directorio nuevo, prepara el proceso de docker build. Para pasar tus secretos de 1Password a docker build, guarda primero el URI de referencia de cada secreto en una variable de entorno. A continuación, abre un nuevo terminal de Bash en el directorio donde hayas guardado el Dockerfile.

Introduce estos comandos en el terminal de Bash:

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

Sustituir los URI de referencia de secretos

El comando op run permite que la CLI de 1Password sustituya los URI de referencia a secretos en las variables de entorno por el valor del secreto. Puede aprovechar esta función en el comando docker build para pasar el certificado y la clave del repositorio de NGINX al contenedor de compilación.

Para terminar de compilar el contenedor, ejecuta los siguientes comandos en el mismo terminal que utilizaste en el paso anterior:

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

En este comando, op run ejecuta el comando docker build y detecta dos referencias a variables de entorno (NGINX_CRT y NGINX_KEY) que contienen los URI de referencia a secretos de 1Password. El comando op sustituye el URI por el valor real del secreto.

Empieza hoy mismo

Siguiendo estos sencillos pasos y utilizando 1Password CLI, puede crear contenedores de NGINX Plus a partir del repositorio de NGINX Plus sin almacenar el certificado ni la clave en su sistema de archivos local, lo que permite crear un entorno más seguro.

Si aún no conoce NGINX Plus, puede comenzar hoy mismo su prueba gratuita de 30 días o ponerse en contacto con nosotros para hablar sobre sus casos de uso.


Compartir
Etiquetas: Security, F5 NGINX, Tech

Artículos relacionados del blog

Únete a F5 NGINX en AppWorld 2024
NGINX | 04/01/2024

Únete a F5 NGINX en AppWorld 2024

Descubre las numerosas razones para asistir al evento insignia de F5, que incluirá un emocionante anuncio sobre la cartera de productos NGINX.

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source
NGINX | 26/09/2023

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source

La función de diccionario compartido permite configurar NGINX sin necesidad de reiniciarlo al renovar los certificados SSL/TLS.

Exposición de APIs en Kubernetes
NGINX | 10/03/2022

Exposición de APIs en Kubernetes

La unidad 2 de Microservices March 2022 se centra en cómo exponer tus API en Kubernetes. Aquí tienes enlaces a los recursos que necesitas: la retransmisión en directo del 14 de marzo, artículos de blog y otros recursos de preparación, y el laboratorio práctico «Protege las API de Kubernetes mediante la limitación de solicitudes».

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto
NGINX | 23/08/2021

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto

Hoy, en NGINX Sprint 2.0, anunciamos cómo respaldaremos nuestra visión del futuro de las aplicaciones modernas con una mayor presencia en la comunidad de código abierto, incluida la participación en el proyecto comunitario Kubernetes, nuevos proyectos de software de código abierto y la arquitectura de referencia para aplicaciones modernas.

Presentamos NGINX Plus R22
NGINX | 09/06/2020

Presentamos NGINX Plus R22

NGINX Plus R22 incorpora nuevas funcionalidades, como la compatibilidad con OCSP para verificar la revocación de certificados en TLS mutuo, el uso de varios proveedores de identidad OIDC en una configuración, el seguimiento en tiempo real de la limitación de solicitudes y conexiones en el panel de NGINX Plus y mejoras en NGINX JavaScript.

Presentamos NGINX Plus R17
NGINX | 11/12/2018

Presentamos NGINX Plus R17

NGINX Plus R17 incorpora compatibilidad con la limitación de velocidad en dos fases y con TLS 1.3, la versión más reciente del protocolo Transport Layer Security. La configuración de OpenID Connect es más sencilla y NGINX ModSecurity WAF es el doble de rápido que antes. También se ha actualizado el módulo JavaScript de NGINX.