Điểm:3

Máy chủ OpenVPN - việc giảm đặc quyền có ảnh hưởng đến việc truy cập tệp khi chạy không?

lá cờ ck

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.

Điểm:2
lá cờ et

Giống như nhiều ứng dụng bỏ đặc quyền, OpenVPN mở nhiều trình xử lý tệp khác nhau trong khi nó vẫn có quyền gốc, quyền này sau đó vẫn tồn tại. Khi nó đã loại bỏ quyền riêng tư, quy trình vẫn có thể truy cập các tay cầm đó ở chế độ mà chúng được mở, miễn là chúng vẫn mở.

Một sự thỏa hiệp của openvpn quá trình sẽ không làm cho tệp bị thay đổi trong trường hợp này, vì tệp (có thể, tôi chưa kiểm tra) được mở ở chế độ chỉ đọc. Cần có một trình xử lý tệp mới để mở nó ở chế độ ghi, điều này sẽ không thành công vì quá trình không thể tạo một tệp nữa.

cyqsimon avatar
lá cờ ck
Ah cảm ơn bạn. Điều này thật ý nghĩa.Có nguồn chính thức nào ghi lại hành vi này không? Hay hành vi này phổ biến đến mức về cơ bản nó đã trở thành thành ngữ và không đáng để ghi lại?
lá cờ et
Tôi đoán nguồn _official_ duy nhất là mã nguồn thực vì đó là hướng dẫn thực sự duy nhất của bạn về những gì đang thực sự xảy ra. Nếu bạn đang muốn _hiểu_ thêm, thì có lẽ hãy bắt đầu với các trang wiki/man trên [mô tả tệp](https://en.wikipedia.org/wiki/File_descriptor) và [lệnh gọi hệ thống open()](https: //man7.org/linux/man-pages/man2/open.2.html). Khi bạn mò mẫm rằng việc kiểm tra quyền được thực hiện _tại các cuộc gọi hệ thống đó_, điều này sẽ có ý nghĩa hơn :)
lá cờ my
Loại bỏ quyền riêng tư sau khi mở các cổng riêng tư chắc chắn là một phương pháp hay nhất phổ biến đối với các daemon *nix kiểu cũ như openvpn và bind. Tôi không chắc chắn về một tài liệu tham khảo có thẩm quyền cho thói quen này.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.