TLS e ACME
Fluxheim può servire TLS con certificati statici o gestire certificati ACME per te.
Certificati gestiti
[[vhosts]]
name = "site"
hosts = ["example.com"]
[vhosts.tls]
acme = true
email = "admin@example.com"
storage = "/var/lib/fluxheim/acme"
Sicurezza e ciclo di vita ACME
Fluxheim 1.7.9 convalida le directory degli emittenti ACME e richiede l'accordo esplicito con i termini esatti pubblicati dall'emittente prima di creare un account. La configurazione dell'account, la pubblicazione, la disattivazione e la revoca del certificato utilizzano transazioni recuperabili.
[[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/"
Conferma l'URL corrente dell'emittente prima della distribuzione. Un accordo modificato o non corrispondente deve essere rifiutato.
controlla e gestisci 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
i controlli online vengono eseguiti da questo server e non sostituiscono il monitoraggio esterno. La revoca mette in quarantena la coppia di certificati gestiti e richiede un ricaricamento; installare un sostituto prima di continuare il normale servizio.
Scelte TLS
| Scelta | Usalo quando |
|---|---|
rustls | Vuoi il normale percorso TLS memory-safe. |
openssl | Hai bisogno di un boundary provider OpenSSL. |
modern | Devono connettersi solo client TLS moderni. |
intermediate | Vuoi il profilo compatibilità production predefinito. |
compat | Devi mantenere esplicita la compatibilità TLS 1.2. |
Esempio certificato statico
[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"
Revoca del certificato client
Quando il TLS reciproco deve rifiutare i certificati client revocati, fornire un bundle PEM CRL delimitato. Fluxheim convalida l'intera catena dell'emittente e rifiuta la policy CRL scaduta o incompleta.
[vhosts.tls.client_auth]
mode = "required"
ca_path = "/etc/fluxheim/tls/client-ca.pem"
crl_path = "/etc/fluxheim/tls/client-crls.pem"
L'autenticazione client richiesta in una modalità di conformità richiesta per FIPS o ISO richiede anche un bundle CRL. L'autenticazione client ordinaria mantiene la revoca come esplicito consenso esplicito.
Prima di abilitare ACME
- Assicurati che il DNS pubblico punti a questo server.
- Consenti il traffico challenge HTTP-01 o TLS-ALPN-01.
- Monta lo stato ACME come storage persistente scrivibile.
- Usa certificati emessi esternamente per boundary FIPS o ISO rigidi.