TLS і ACME

Fluxheim може сервити TLS зі статичними сертифікатами або керувати ACME-сертифікатами для вас.

Керовані сертифікати

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

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

Безпека та життєвий цикл ACME

Fluxheim 1.7.9 перевіряє каталоги емітентів ACME і вимагає чіткої згоди з точними умовами, опублікованими емітентом перед створенням облікового запису. Налаштування облікового запису, публікація сертифіката, деактивація та відкликання використовують транзакції, які можна відновити.

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

Підтвердьте поточну URL-адресу від емітента перед розгортанням. Змінена або невідповідна угода повинна бути відхилена.

перевірка та підтримка 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

онлайн-перевірки запускаються з цього сервера та не замінюють зовнішній моніторинг. Відкликання поміщає пару керованих сертифікатів у карантин і запитує перезавантаження; встановіть заміну перед продовженням звичайного обслуговування.

Варіанти TLS

ВибірВикористовуйте, коли
rustlsПотрібен звичайний memory-safe TLS path.
opensslВам потрібна межа постачальника OpenSSL.
modernТільки сучасні клієнти TLS повинні підключатися.
intermediateПотрібен стандартний production-профіль сумісності.
compatВи повинні чітко вказувати сумісність TLS 1.2.

Приклад статичного сертифіката

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

Відкликання сертифіката клієнта

Якщо спільний TLS має відхилити відкликані клієнтські сертифікати, надайте обмежений пакет PEM CRL. Fluxheim перевіряє повний ланцюжок емітента та відхиляє прострочену або неповну політику CRL.

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

Обов’язкова автентифікація клієнта в режимі сумісності, необхідному для FIPS або ISO, також вимагає комплекту CRL. Звичайна автентифікація клієнта зберігає відкликання як явну згоду.

Перед увімкненням ACME

  • Переконайтеся, що public DNS вказує на цей сервер.
  • Дозвольте HTTP-01 або TLS-ALPN-01 challenge traffic.
  • Монтуйте ACME state як persistent writable storage.
  • Використовуйте зовнішні сертифікати для суворих меж, установлених FIPS або ISO.
Українська