ใน บทความเสริมความแข็งแกร่งของ OpenVPNขอแนะนำให้เซิร์ฟเวอร์ daemon ยกเลิกสิทธิ์หลังจากเริ่มต้นระบบบน Linux:
OpenVPN ได้รับการออกแบบมาอย่างพิถีพิถันเพื่อให้สิทธิ์การรูทลดลงหลังจากการเริ่มต้นใช้งาน และควรใช้คุณลักษณะนี้บน Linux/BSD/Solaris เสมอ หากไม่มีสิทธิ์รูท daemon เซิร์ฟเวอร์ OpenVPN ที่ทำงานอยู่จะให้เป้าหมายที่ล่อลวงแก่ผู้โจมตีน้อยกว่ามาก
พวกเขาแนะนำให้ตั้งค่าคำสั่งต่อไปนี้:
ผู้ใช้ไม่มีใคร
กลุ่มไม่มีใคร
ซึ่งฉันคิดว่าหมายความว่าภูตจะทำงานเป็น ไม่มีใคร
หลังจากเริ่มต้นเสร็จสิ้น
อย่างไรก็ตาม มีไฟล์หลายไฟล์ที่ OpenVPN เข้าถึงขณะรันไทม์ โดยเฉพาะไฟล์ CRL:
เมื่อใช้ตัวเลือกการยืนยัน crl ใน OpenVPN ไฟล์ CRL จะถูกอ่านซ้ำทุกครั้งที่ไคลเอ็นต์ใหม่เชื่อมต่อหรือไคลเอนต์ที่มีอยู่เจรจาการเชื่อมต่อ SSL/TLS ใหม่ (โดยค่าเริ่มต้นหนึ่งครั้งต่อชั่วโมง) ซึ่งหมายความว่าคุณสามารถอัปเดตไฟล์ CRL ได้ในขณะที่เซิร์ฟเวอร์ OpenVPN daemon กำลังทำงานอยู่ และให้ CRL ใหม่มีผลทันทีสำหรับไคลเอนต์ที่เพิ่งเชื่อมต่อ
ดังนั้นฉันจึงกังวลว่าคุณสมบัติทั้งสองนั้นเข้ากันไม่ได้ - หาก daemon ลดสิทธิ์ลงหลังจากเริ่มต้นระบบ มันจะอ่านได้อย่างไร /etc/openvpn/server/crl.pem
(เจ้าของ ราก:ราก
, โหมด 0600
; SELinux บังคับใช้) ที่รันไทม์?
- หาก daemon ไม่สามารถเข้าถึงไฟล์ CRL ได้ในขณะรันไทม์ มีวิธีที่ดีในการหลีกเลี่ยงปัญหานี้หรือไม่
- หาก daemon สามารถเข้าถึงไฟล์ CRL ขณะรันไทม์ได้ ฉันอยากทราบว่าเป็นไปได้อย่างไร
ระบบปฏิบัติการคือ RHEL8.5 x86_64 ในกรณีที่เกี่ยวข้อง