Security Enhanced Linux hoặc SELinux là một cơ chế bảo mật được tích hợp trong nhân Linux được sử dụng bởi các bản phân phối dựa trên RHEL.

1. SELinux là gì ?

Security Enhanced Linux hoặc SELinux là một cơ chế bảo mật được tích hợp trong nhân Linux được sử dụng bởi các bản phân phối dựa trên RHEL.

SELinux thêm một lớp bảo mật bổ sung cho hệ thống bằng cách cho phép quản trị viên và người dùng kiểm soát quyền truy cập vào các đối tượng dựa trên các quy tắc chính sách.

Các quy tắc chính sách của Selinux chỉ định cách các quy trình và người dùng tương tác với nhau cũng như cách các quy trình và người dùng tương tác với các tệp. Khi không có quy tắc rõ ràng cho phép truy cập vào một đối tượng, chẳng hạn như đối với một quá trình mở tệp, quyền truy cập bị từ chối.

2. Chế độ hoạt động của SELinux

SELinux có ba chế độ hoạt động:

  • Enforcing (Thực thi): SELinux cho phép truy cập dựa trên các quy tắc chính sách của SELinux.
  • Permissive (Cho phép): SELinux chỉ ghi nhật ký các hành động đã bị từ chối nếu chạy trong chế độ Permissive. Chế độ này hữu ích để gỡ lỗi và tạo quy tắc chính sách mới.
  • Disabled (Vô hiệu hoá): Vô hiệu hoá SELinux.

Theo mặc định, trong CentOS 8, SELinux được bật và ở chế độ Enforcing.

3. Khi nào cần vô hiệu hoá SELinux

Việc bảo mật trên Linux là rất cần thiết, tuy nhiên có những trường hợp nó lại gây ra sự phiền phức khi bạn muốn cài một phần mềm và phần mềm đó cần can thiệp sâu vào hệ thống Linux.

4. Kiểm tra chế độ SELinux

Để kiểm tra chế độ hiện tại của SELinux sử dụng lệnh

sestatus

Kết quả ở trên cho thấy SELinux được bật và được đặt thành chế độ Enforcing.

5. Thay đổi chế độ SELinux thành Permissive

Khi được bật, SELinux có thể ở chế độ Enforcing hoặc Permissive. Bạn có thể tạm thời thay đổi chế độ từ Enforcing sang Permissive bằng lệnh sau:

setenforce 0

Tuy nhiên, thay đổi này chỉ hợp lệ cho phiên chạy hiện tại và khi bạn khởi động lại hệ thống chế độ sẽ được chuyển về Enforcing. Để đặt vĩnh viễn chế độ SELinux thành Permissive, hãy chạy lệnh sau:

sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

Khởi động lại hệ thống để thay đổi có hiệu lực:

shutdown -r now

6. Vô hiệu hoá SELinux trên CentOS 8

Thay vì vô hiệu hóa SELinux, chúng tôi khuyên bạn nên thay đổi chế độ thành Permissive. Chỉ tắt Selinux khi thực sự cần thiết. Chạy lệnh bên dưới để tắt vĩnh viễn SELinux trên hệ thống CentOS 8 của bạn

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/selinux/config

Khởi động lại hệ thống:

shutdown -r now

SELinux là một cơ chế để bảo mật hệ thống bằng cách thực hiện kiểm soát truy cập bắt buộc (MAC). SELinux được bật theo mặc định trên các hệ thống CentOS 8, nhưng nó có thể bị vô hiệu hóa bằng cách chỉnh sửa tệp cấu hình và khởi động lại hệ thống. Chúc bạn thành công.