Chúng ta dùng lệnh chcon để thay đổi context của file trên hệ thống. Ví dụ:
# chcon -R -t httpd_user_content_t public_html/
Lệnh này sẽ cho phép apache hiển thị nội dung trong thư mục public_html (httpd_user_content_t được định nghĩa trước trong policy).
Chƣơng 3. GIẢI PHÁP QUẢN TRỊ HỆ THỐNG BẢO MẬT BẰNG SELINUX
Khóa luận này sẽ tiếp cận về một khía cạnh của vấn đề bảo mật, đó là trên hệ điều hành mã nguồn mở, đi sâu vào đơn giản hóa SELinux cho các máy chủ Internet sử dụng các hệ điều hành bảo mật với phương án làm giảm số lượng chính sách bảo mật cần phải viết cho một máy chủ Internet mà vẫn đảm bảo giữa được tính năng bảo mật nâng cao của SELinux so với hệ thống bảo mật Linux chuẩn.
Đầu tiên, đề cập đến việc sinh tự động các chính sách của SELinux bằng bộ công cụ Polgen và xây dựng một chương trình phân tích để người sử dụng hiểu rõ các chính sách đó mà không cần kiến thức chuyên sâu về SELinux. Nhờ đó phục vụ mục tiêu là giúp cho việc quản trị hệ thống SELinux được tốt hơn.
Tiếp theo luận văn dựa trên ý tưởng của một nhóm tác giả trường Đại học Keio (Nhật Bản) chia quá trình thực hiện điều khiển truy cập của máy chủ thành 2 giai đoạn gọi là 2 phase.
Initialization phase là giai đoạn trước khi máy chủ chấp nhận kết nối từ máy khách, giai đoạn này chỉ cần viết một chính sách cấp quyền cho tất cả các tiến trình được thực hiện vì kẻ tấn công chưa thể tấn công máy chủ từ xa.
Giai đoạn thứ 2 là Protocol processing phase. Đây là giai đoạn máy chủ đã chấp nhận kết nối, tức là kẻ tấn công từ xa (nếu có) đã có thể tấn công máy chủ. Vì vậy, trong giai đoạn này, cần viết một chính sách bảo mật chỉ cấp quyền tối thiểu cho các tiến trình để hoàn thành chức năng của mình và không được thêm bất kỳ một quyền nào khác (nếu có phải được định nghĩa và cho phép).
3.1. Polgen
Tháng 1 năm 2001, NSA (National Security Agency) công bố nguyên mẫu của SELinux. Hệ thống này thi hành cơ chế bảo mật MAC (Mandatory Access Control), hỗ trợ một cách linh hoạt các chính sách bảo mật. Các cơ chế TE (type enforcement) và RBAC (role-based access control) cũng được tích hợp vào SELinux.
polgen là một tập hợp các công cụ hỗ trợ việc tạo các reference policy cho các ứng dụng chạy trên hệ thống SELinux, dựa trên các mẫu được nhận diện trong quá trình hoạt động của ứng dụng. Ngoài ra, người viết chính sách còn có thể tương tác với polgen để tối ưu policy được sinh ra.
Trong luận văn này, chúng ta dùng polgen [12] để hỗ trợ người sử dụng sinh ra SELinux policy mà không yêu cầu kiến thức chuyên sâu về SELinux.