Fluxheim/문서/TLS 및 ACME

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가 필요합니다.
opensslOpenSSL provider boundary가 필요합니다.
modernmodern TLS client만 연결해야 합니다.
intermediatedefault production compatibility profile이 필요합니다.
compatTLS 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 활성화 전

  • 공개 DNS가 이 서버를 가리키는지 확인하세요.
  • HTTP-01 또는 TLS-ALPN-01 challenge 트래픽을 허용하세요.
  • ACME 상태를 영구 쓰기 가능 저장소로 마운트하세요.
  • strict FIPS 또는 ISO-required boundary에는 externally issued certificate를 사용하세요.
한국어