- O NGINX lançou uma versão preview com suporte nativo ao protocolo ACME, que automatiza a emissão e a renovação de certificados SSL/TLS
- Por meio do novo módulo baseado em Rust
ngx_http_acme_module, agora é possível solicitar, instalar e renovar certificados apenas com a configuração do NGINX, sem ferramentas externas
- Com isso, reduz-se a dependência de ferramentas externas como o Certbot, aumentando a segurança e a independência de plataforma
- A versão inicial oferece suporte ao desafio HTTP-01, e o suporte a TLS-ALPN e DNS-01 está planejado para o futuro
- Espera-se que o suporte a ACME desempenhe um papel importante na automação de segurança não apenas na web, mas também em ambientes de IoT e edge computing
Visão geral e principais mudanças
- O NGINX lançou uma versão preview do suporte ao protocolo ACME
- Com o novo módulo
ngx_http_acme_module, ele foi projetado para permitir que solicitações, instalação e renovação de certificados sejam tratadas diretamente na configuração do NGINX
- Esse suporte a ACME utiliza internamente o NGINX-Rust SDK e é fornecido na forma de um módulo dinâmico baseado em Rust
- Tanto usuários de código aberto quanto clientes corporativos do NGINX Plus podem usar esse recurso
- Ao reduzir a dependência de ferramentas externas como o Certbot, aumenta-se a segurança e a eficiência do gerenciamento de certificados
Introdução ao protocolo ACME
- O protocolo ACME (Automated Certificate Management Environment) é um protocolo de comunicação que automatiza a emissão, validação, renovação e revogação de certificados SSL/TLS
- O cliente pode gerenciar diretamente o ciclo de vida do certificado por meio de comunicação automatizada com a CA (Certificate Authority), sem intervenção manual de intermediários
- Foi desenvolvido e lançado em 2015 pelo Internet Security Research Group (ISRG) no projeto Let’s Encrypt
- Antes do surgimento do ACME, o processo de emissão de certificados era manual e tinha custos mais altos e maior probabilidade de erros
- O ACMEv2 mais recente adicionou vários recursos, como métodos de autenticação e suporte a wildcard, aumentando a flexibilidade e a segurança
Fluxo de automação de certificados baseado em ACME no NGINX
- No NGINX, a automação do ciclo de vida de certificados com o protocolo ACME ocorre nas 4 etapas abaixo
-
1. Configuração do servidor ACME
- Para ativar o recurso ACME, é obrigatório especificar a URL de diretório do servidor ACME com
acme_issuer
- Em caso de emissão de certificado, também é possível definir opcionalmente informações de contato do cliente, caminho para armazenamento de dados de estado e outros itens
-
2. Alocação de memória compartilhada (zone)
- Com
acme_shared_zone, é possível configurar adicionalmente uma zone de memória compartilhada para armazenar certificados, chaves privadas e dados de desafio
- O tamanho padrão é 256K, podendo ser ampliado conforme a necessidade
-
3. Configuração do desafio (Challenge)
- A versão preview atual oferece suporte apenas ao desafio HTTP-01, usado para verificar a propriedade do domínio
- Para isso, é necessário definir na configuração do NGINX um listener na porta 80 e uma configuração padrão de resposta 404
- Futuramente, haverá suporte aos desafios TLS-ALPN e DNS-01
-
4. Emissão e renovação de certificados
- Ao adicionar a diretiva
acme_certificate ao bloco de servidor, é possível automatizar a emissão/renovação de certificados TLS para o domínio correspondente
- Normalmente, o domínio alvo da emissão do certificado é especificado com
server_name
- Expressões regulares e wildcards em
server_name não são suportados na versão preview
- As variáveis do módulo
$acme_certificate e $acme_certificate_key vinculam automaticamente o certificado e a chave
Principais vantagens
- O protocolo ACME está no centro do rápido crescimento do uso de HTTPS no mundo
- Com o gerenciamento automatizado de certificados, os custos de gestão do ciclo de vida dos certificados e os erros causados por trabalho manual são reduzidos de forma significativa
- A remoção de ferramentas externas reduz a superfície de ataque e garante portabilidade
- Promove a padronização da segurança em diversos ambientes
Planos futuros
- Está previsto adicionar suporte aos desafios TLS-ALPN e DNS-01
- Expansão de recursos com base no feedback dos usuários
- Com a ampliação da adoção de IoT, APIs e edge computing, espera-se que o ACME passe a desempenhar um papel central em uma gama ainda maior de infraestruturas automatizadas de segurança no futuro
- O suporte nativo a ACME no NGINX deve servir de base para transformar segurança web, automação e escalabilidade em um padrão do futuro
Primeiros passos
- Usuários de código aberto podem usar o módulo pré-compilado em NGINX Linux packages
- Clientes corporativos do NGINX Plus recebem o recurso na forma de módulo dinâmico com suporte da F5
- Consulte a documentação do módulo em NGINX Docs
Ainda não há comentários.