Se você usa regularmente o F5 NGINX Plus, é provável que esteja criando contêineres para testar novos recursos ou funcionalidades. Ao criar contêineres do NGINX Plus, muitas vezes você acaba armazenando informações confidenciais, como o certificado e a chave do repositório do NGINX, no sistema de arquivos local. Embora seja fácil adicionar arquivos confidenciais a um arquivo .gitignore do repositório, esse processo não é ideal nem seguro — na verdade, há muitos exemplos de engenheiros que enviaram acidentalmente informações confidenciais para um repositório.
Uma opção melhor é usar uma solução de gerenciamento de segredos. Pessoalmente, sou fã de longa data do 1Password e descobri recentemente sua ferramenta de CLI. Essa ferramenta facilita a interação de desenvolvedores e engenheiros de plataforma com segredos em seu fluxo de trabalho diário.
Nesta publicação do blog, mostramos como usar a CLI do 1Password para criar com segurança um contêiner do NGINX Plus. Este exemplo pressupõe que você tenha uma assinatura do NGINX Plus, uma assinatura do 1Password com a ferramenta de CLI instalada, acesso a um ambiente com um shell (Bash ou Zsh) e o Docker instalado.
Armazene segredos no 1Password
A primeira etapa é armazenar seus segredos no 1Password, que oferece suporte a vários tipos de segredos como credenciais de API, arquivos, notas e senhas. Neste caso de uso do NGINX Plus, utilizamos o recurso de arquivos seguros do 1Password.
Você pode obter o certificado e a chave do repositório do NGINX no portal MyF5. Siga a documentação do 1Password para criar um documento seguro para o certificado e outro para a chave do repositório do NGINX. Depois de criar os dois documentos seguros, siga as etapas para obter a referência do segredo do 1Password.
Observação: No momento da redação deste documento, o 1Password não oferece suporte a vários arquivos no mesmo registro.
Crie o contêiner do NGINX Plus
Agora é hora de criar o contêiner do NGINX Plus que utiliza seus arquivos seguros e os respectivos Identificadores Uniformes de Recursos (URIs) de referência dos segredos. Esta etapa usa o exemplo de Dockerfile do Guia de Administração do NGINX Plus.
Prepare o processo de docker build Process
Depois de salvar o Dockerfile em um novo diretório, prepare o processo de docker build. Para passar seus segredos do 1Password para o docker build, primeiro armazene o URI de referência de cada segredo em uma variável de ambiente. Em seguida, abra um novo terminal Bash no diretório em que você salvou o Dockerfile.
Digite estes comandos no terminal Bash:
export NGINX_CRT="op://Work/nginx-repo-crt/nginx-repo.crt"export NGINX_KEY="op://Work/nginx-repo-key/nginx-repo.key"Substituir URIs de referência de segredos
O comando op run permite que a CLI do 1Password substitua os URIs de referência de segredos nas variáveis de ambiente pelo valor do segredo. Você pode usar esse recurso no comando docker build para passar o certificado e a chave do repositório NGINX para o contêiner de compilação.
Para concluir a compilação do contêiner, execute os comandos a seguir no mesmo terminal usado na etapa anterior:
op run -- docker build --no-cache --secret id=nginx-key,env=NGINX_KEY --secret id=nginx-crt,env=NGINX_CRT -t nginxplus --load .Neste comando, op run executa o comando docker build e detecta duas referências a variáveis de ambiente (NGINX_CRT e NGINX_KEY) que contêm os URIs de referência aos segredos do 1Password. O comando op substitui o URI pelo valor real do segredo.
Comece hoje mesmo
Seguindo estas etapas simples e usando a CLI do 1Password, você pode criar contêineres do NGINX Plus usando o repositório do NGINX Plus sem armazenar o certificado e a chave no sistema de arquivos local, criando um ambiente mais seguro.
Se você ainda não conhece o NGINX Plus, pode iniciar sua avaliação gratuita de 30 dias hoje mesmo ou entrar em contato conosco para conversar sobre seus casos de uso.
Sobre o autor
Publicações relacionadas no blog

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade
Descubra como o F5 NGINX One aprimora o gerenciamento e a observabilidade de ambientes híbridos e multicloud ao oferecer um console web centralizado baseado em SaaS, com insights em tempo real, conformidade automatizada e gerenciamento simplificado de configurações.

Do OpenAPI ao NGINX como gateway de API usando uma API declarativa
Descubra como transformar uma definição de esquema OpenAPI em uma configuração NGINX totalmente funcional, operando como um API Gateway com a segurança de um Web Application Firewall e um Portal do Desenvolvedor, usando uma abordagem declarativa de API.

Como gerenciar picos repentinos de tráfego e sobrecarga do servidor
Picos de tráfego e sobrecarga de servidores são preocupações sérias para varejistas online em qualquer época, mas especialmente durante a “Cyber Season” de compras de fim de ano. Detalhamos como você pode aproveitar as soluções de entrega de aplicações de nível de produção da NGINX para se preparar para aumentos repentinos de tráfego.

Distribuição segura de chaves privadas SSL com o NGINX
Descrevemos três maneiras progressivamente mais seguras de proteger chaves privadas SSL ao configurar o NGINX para processar tráfego HTTPS: permitir acesso de leitura apenas ao usuário root, criptografar as chaves com senhas armazenadas separadamente e distribuir as senhas a partir de um repositório central.
Agrupando solicitações de API em lotes com NGINX Plus e o módulo JavaScript do NGINX
O módulo JavaScript do NGINX lançado com o NGINX Plus R15 oferece suporte a subsolicitações, possibilitando uma classe totalmente nova de casos de uso para o NGINX Plus. Este exemplo completo também usa a API do NGINX Plus e os módulos de chave-valor para converter solicitações de API dos clientes em solicitações separadas para as APIs dos microsserviços que compõem um aplicativo.
Como superar o esgotamento de portas efêmeras no NGINX e no NGINX Plus
Confira dicas para evitar o esgotamento de portas efêmeras com ajustes no kernel do Linux, conexões keepalive e conexões vinculadas dinamicamente a endereços IP locais.