TLS e ACME
O Fluxheim pode servir TLS com certificados estáticos ou gerir certificados ACME por si.
Certificados geridos
[[vhosts]]
name = "site"
hosts = ["example.com"]
[vhosts.tls]
acme = true
email = "admin@example.com"
storage = "/var/lib/fluxheim/acme"
Segurança e ciclo de vida ACME
O Fluxheim 1.7.9 valida os diretórios de emissores ACME e exige acordo explícito com os termos exatos publicados pelo emissor antes de criar uma conta. Configuração de conta, publicação de certificado, desativação e revogação usam transações recuperáveis.
[[tls.acme.issuers]]
name = "letsencrypt"
directory_url = "https://acme-v02.api.letsencrypt.org/directory"
terms_of_service_agreed = true
terms_of_service_url = "https://letsencrypt.org/repository/"
Confirme o URL atual do emissor antes da implantação. Um acordo alterado ou incompatível deve ser rejeitado.
Verifique e mantenha ACME
fluxheim-acme --config /etc/fluxheim/fluxheim.toml doctor
fluxheim-acme --config /etc/fluxheim/fluxheim.toml doctor --online
fluxheim-acme --config /etc/fluxheim/fluxheim.toml renew
fluxheim-acme --config /etc/fluxheim/fluxheim.toml revoke --vhost example.com --confirm
As verificações online são executadas neste servidor e não substituem o monitoramento externo. A revogação coloca em quarentena o par de certificados gerenciados e solicita uma recarga; instale um substituto antes de continuar o serviço normal.
Escolhas TLS
| Escolha | Use quando |
|---|---|
rustls | Quer o caminho TLS normal seguro para memória. |
openssl | Precisa de uma fronteira de provider OpenSSL. |
modern | Apenas clientes TLS modernos devem ligar. |
intermediate | Quer o perfil default de compatibilidade de produção. |
compat | Deve manter a compatibilidade TLS 1.2 explícita. |
Exemplo de certificado estático
[server]
tls_listen = ["0.0.0.0:8443"]
[[vhosts]]
name = "site"
hosts = ["example.com"]
[vhosts.tls]
cert_path = "/etc/fluxheim/tls/fullchain.pem"
key_path = "/etc/fluxheim/tls/privkey.pem"
Revogação de certificado de cliente
Quando TLS mútuo deve rejeitar certificados de cliente revogados, forneça um pacote PEM CRL limitado. Fluxheim valida a cadeia completa do emissor e rejeita a política CRL expirada ou incompleta.
[vhosts.tls.client_auth]
mode = "required"
ca_path = "/etc/fluxheim/tls/client-ca.pem"
crl_path = "/etc/fluxheim/tls/client-crls.pem"
A autenticação de cliente necessária em um modo de conformidade exigido por FIPS ou ISO também requer um pacote CRL. A autenticação de cliente comum mantém a revogação como uma aceitação explícita.
Antes de ativar ACME
- Garanta que o DNS público aponta para este servidor.
- Permita tráfego de challenge HTTP-01 ou TLS-ALPN-01.
- Monte ACME-state como armazenamento persistente gravável.
- Use certificados emitidos externamente para fronteiras FIPS ou ISO estritas.