Trong Bài viết tăng cường của OpenVPN, nên trình nền máy chủ bỏ các đặc quyền của nó sau khi khởi động trên Linux:
OpenVPN đã được thiết kế rất cẩn thận để cho phép loại bỏ các đặc quyền gốc sau khi khởi chạy và tính năng này phải luôn được sử dụng trên Linux/BSD/Solaris. Không có quyền root, trình nền máy chủ OpenVPN đang chạy cung cấp một mục tiêu kém hấp dẫn hơn nhiều cho kẻ tấn công.
Họ khuyến nghị nên đặt các chỉ thị sau:
người dùng không ai
nhóm không ai
mà tôi cho rằng có nghĩa là daemon sẽ chạy như không ai
sau khi khởi động xong.
Tuy nhiên, có một số tệp mà OpenVPN truy cập trong thời gian chạy, đáng chú ý là tệp CRL:
Khi tùy chọn crl-verify được sử dụng trong OpenVPN, tệp CRL sẽ được đọc lại bất cứ khi nào một máy khách mới kết nối hoặc một máy khách hiện tại thương lượng lại kết nối SSL/TLS (theo mặc định một lần mỗi giờ). Điều này có nghĩa là bạn có thể cập nhật tệp CRL trong khi daemon máy chủ OpenVPN đang chạy và CRL mới có hiệu lực ngay lập tức đối với các máy khách mới kết nối.
Vì vậy, tự nhiên tôi lo lắng nếu hai tính năng đó không tương thích - nếu trình nền giảm các đặc quyền sau khi khởi động, làm thế nào nó có thể đọc được /etc/openvpn/server/crl.pem
(chủ nhân gốc: gốc
, cách thức 0600
; thực thi SELinux) trong thời gian chạy?
- Nếu trình nền thực sự không thể truy cập tệp CRL khi chạy, có cách nào tốt để khắc phục sự cố này không?
- Nếu trình nền có thể truy cập các tệp CRL trong thời gian chạy, tôi muốn biết làm thế nào điều này có thể thực hiện được.
Hệ điều hành là RHEL8.5 x86_64 trong trường hợp phù hợp.