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 ที่เข้มงวด