Làm cho SELinux chơi tốt với OpenVPN (trong NetworkManager)


5

Tôi đã cố gắng sử dụng OpenVPN để kết nối với mạng công việc của mình. Sử dụng nó thông qua dòng lệnh hoạt động tốt:

openvpn user.conf

Mặc dù vậy, tôi không bận tâm đến việc thiết lập nó với DNS đúng cách và có vẻ hơi khó khăn. Tôi muốn sử dụng nó thông qua trình quản lý mạng như các VPN khác của tôi. Vấn đề là ở chỗ: Tôi lưu trữ của tôi user.crt, cùng với ca.crtuser.keytrong ~/.openvpn/(có vẻ như là một nơi hợp lý để giữ những thứ như vậy. Khi tôi cố gắng kết nối qua NetworkManager, nó chỉ cho tôi biết rằng kết nối đã thất bại. Kiểm tra /var/logs/messageslý do tiết lộ: đang thi hành một số chính sách ở một nơi nào đó mà openvpnkhông đọc được chứng chỉ của tôi. Tôi đã thử làm theo tất cả các hướng dẫn được đưa ra bởi trình gỡ rối SELinux, nhưng không có kết quả.

Sau đó, tôi thực sự đã xóa chính sách openvpn khỏi cấu hình SELinux của mình (sử dụng gui quản lý SELinux, có sẵn từ các repos của fedora). Tất cả các loại địa ngục đã vỡ ra (thậm chí nó sẽ không để nó ràng buộc một cổng được đặt tên nữa).

Vấn đề khá khẩn cấp, vì vậy cuối cùng tôi đã vô hiệu hóa Selinux cho phiên (mọi thứ đều ổn với cách đó). Nhưng tôi sẽ phải bật lại vào một lúc nào đó, vì vậy câu hỏi của tôi là:

Làm cách nào trước tiên tôi có thể khôi phục tệp chính sách ban đầu của mình cho openvpn trong SELinux, và sau đó cấp thứ hai quyền truy cập openvpn vào các chứng chỉ trong thư mục nhà của tôi?

Tôi cũng đã thử công cụ Trình tạo chính sách SE, nhưng không có kết quả rõ ràng (nó bị kẹt trong đoạn hội thoại nơi tôi đặt tên cho chính sách).

Câu trả lời:


3

Để khôi phục mô-đun chính sách OpenVPN, chỉ cần chạy lệnh sau trên thiết bị đầu cuối như root:

semodule -i /usr/share/selinux/targeted/openvpn.pp.bz2

Nếu vì lý do nào đó mà tệp bị thiếu (không chắc, nhưng tôi không chắc system-config-selinuxchính xác là gì ), hãy cài đặt lại gói chính sách SELinux và thử lại:

yum reinstall selinux-policy-targeted

Cuối cùng, để cho phép OpenVPN đọc các tệp từ thư mục chính của bạn, hãy chạy lệnh này:

setsebool -P openvpn_enable_homedirs 1

Bạn cũng có thể thiết lập openvpn_enable_homedirstrong danh sách các booleans SELinux trong công cụ quản trị đồ họa.


Khôi phục các chính sách trước đây hoạt động hoàn hảo ... setsebool ...tuy nhiên, tôi đã thử rồi. Sẽ đăng cập nhật vào ngày mai.
jelford

@jelford: Nếu boolean không hoạt động thì có vấn đề với chính sách SELinux của Fedora. Tôi đề nghị bạn nộp một lỗi chống lạiselinux-policy-targeted .
Bản vá lỗi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.