TLS и ACME

Fluxheim может обслуживать TLS со статическими certificates или управлять ACME certificates за вас.

Управляемые сертификаты

[[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 provider boundary.
modernПодключаться должны только modern TLS clients.
intermediateНужен default production compatibility profile.
compatНужно явно сохранить TLS 1.2 compatibility.

Пример static certificate

[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 указывает на этот server.
  • Разрешите HTTP-01 или TLS-ALPN-01 challenge traffic.
  • Смонтируйте ACME state как persistent writable storage.
  • Используйте externally issued certificates для строгих FIPS или ISO-required boundaries.
Русский