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ór | Użyj, gdy |
|---|---|
rustls | Chcesz normalną memory-safe ścieżkę TLS. |
openssl | Potrzebujesz OpenSSL provider boundary. |
modern | Tylko nowoczesni TLS clients mają się łączyć. |
intermediate | Chcesz default production compatibility profile. |
compat | Musisz 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.