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ต้องการ TLS path มาตรฐานที่ปลอดภัยต่อหน่วยความจำ
opensslคุณต้องมีขอบเขตของผู้ให้บริการ OpenSSL
modernเฉพาะไคลเอ็นต์ TLS สมัยใหม่เท่านั้นที่ต้องเชื่อมต่อ
intermediateคุณต้องการโปรไฟล์ความเข้ากันได้ของการผลิตเริ่มต้น
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 ชี้มายังเซิร์ฟเวอร์นี้
  • อนุญาตทราฟฟิก challenge แบบ HTTP-01 หรือ TLS-ALPN-01
  • เมานต์ ACME state เป็น storage แบบเขียนได้และคงอยู่
  • ใช้ใบรับรองที่ออกภายนอกสำหรับขอบเขตที่กำหนด FIPS หรือ ISO ที่เข้มงวด
ไทย