TLS i ACME

Fluxheim może serwować TLS ze statycznymi certyfikatami albo zarządzać certyfikatami ACME za ciebie.

Zarządzane certyfikaty

[[vhosts]]
name = "site"
hosts = ["example.com"]

[vhosts.tls]
acme = true
email = "admin@example.com"
storage = "/var/lib/fluxheim/acme"

Bezpieczeństwo i cykl życia ACME

Fluxheim 1.7.9 sprawdza katalogi wydawców ACME i wymaga wyraźnej zgody na dokładne warunki opublikowane przez wydawcę przed utworzeniem konta. Konfiguracja konta, publikacja certyfikatu, dezaktywacja i unieważnienie korzystają z transakcji możliwych do odzyskania.

[[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/"

Przed wdrożeniem potwierdź bieżący adres URL od wystawcy. Zmienioną lub niedopasowaną umowę należy odrzucić.

Sprawdź i konserwuj 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

Kontrole online są uruchamiane na tym serwerze i nie zastępują zewnętrznego monitorowania. Unieważnienie poddaje kwarantannie parę zarządzanych certyfikatów i żąda ponownego załadowania; zainstaluj zamiennik przed kontynuowaniem normalnej pracy.

Wybory TLS

WybórUżyj, gdy
rustlsChcesz normalną memory-safe ścieżkę TLS.
opensslPotrzebujesz OpenSSL provider boundary.
modernTylko nowoczesni TLS clients mają się łączyć.
intermediateChcesz default production compatibility profile.
compatMusisz zachować compatibility TLS 1.2 jako explicit.

Przykład statycznego certyfikatu

[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"

Cofnięcie certyfikatu klienta

Gdy wzajemne TLS musi odrzucić unieważnione certyfikaty klienta, zapewnij ograniczony pakiet PEM CRL. Fluxheim sprawdza cały łańcuch wystawców i odrzuca wygasłą lub niekompletną polisę CRL.

[vhosts.tls.client_auth]
mode = "required"
ca_path = "/etc/fluxheim/tls/client-ca.pem"
crl_path = "/etc/fluxheim/tls/client-crls.pem"

Wymagane uwierzytelnianie klienta w trybie zgodności wymaganym przez FIPS lub ISO wymaga również pakietu CRL. Zwykłe uwierzytelnianie klienta zachowuje odwołanie jako wyraźną zgodę.

Przed włączeniem ACME

  • Upewnij się, że publiczny DNS wskazuje ten server.
  • Zezwól na traffic challenge HTTP-01 lub TLS-ALPN-01.
  • Zamontuj ACME state jako persistent writable storage.
  • Używaj externally issued certificates dla strict FIPS lub ISO-required boundaries.
Polski