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

SceltaUsalo quando
rustlsVuoi il normale percorso TLS memory-safe.
opensslHai bisogno di un boundary provider OpenSSL.
modernDevono connettersi solo client TLS moderni.
intermediateVuoi il profilo compatibilità production predefinito.
compatDevi 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.
Italiano