Vô hiệu hóa SELinux trên CentOS / RHEL

Security-Enhanced Linux (SELinux) là một cơ chế bảo mật được tích hợp sẵn trong Linux kernel, được sử dụng bởi những distributions dựa trên RHEL. Thường thì người ta luôn tìm cách tăng cường bảo mật nhưng bài viết này sẽ hướng dẫn các bạn vô hiệu hóa SELinux trên CentOS.

Security-Enhanced Linux​



Cơ chế bảo mật của SELinux dưa trên những quy tắc chính sách, cho phép người sử dụng kiểm soát quyền truy cập vào những ứng dụng, tệp tin. SELinux có 3 chế độ:
  • Enforcing: ở chế độ này thì SELinux đang hoạt động và cấp quyền truy cập dựa trên những chính sách.
  • Permissive: ở chế độ này thì SELinux chỉ ghi lại những hành động sẽ bị từ chối nếu chạy trong chế độ enforcing chứ không giới hạn quyền truy cập.
  • Disabled: SELinux bị vô hiệu hóa hoàn toàn.
Mặc định trên CentOS, SELinux được bật và ở chế độ enforcing. Tuy nhiên, đôi khi nó có thể ảnh hưởng đến chức năng của một số ứng dụng và bạn cần phải tùy chỉnh lại chính sách hoặc vô hiệu hóa hoàn toàn.

Kiểm tra SELinux​



Sử dụng sestatus để kiểm tra trạng thái và chế độ mà SELinux đang hoạt động:
Code:
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      31
Phản hồi trên cho thấy SELinux đang hoạt động và ở chế độ enforcing.

Chuyển SELinux sang chế độ permissive, disabled​



Chỉ với lệnh setenforce 0, bạn đã có thể tạm thời chuyển SELinux sang permissive cho đến khi reboot. Để thay đổi vĩnh viễn trạng thái của SELinux, các bạn chạy:
Bash:
yum -y install nano
nano /etc/selinux/config
Đến đây thì các bạn tìm dòng SELINUX và thay đổi nó thành permissive hoặc disabled.
Code:
SELINUX=disabled
Sử dụng tổ hợp phím Ctrl + OCtrl + X để lưu và thoát khỏi trình soạn thảo. Giờ thì reboot để áp dụng thay đổi này và kiếm tra lại bằng sestatus:
Code:
SELinux status:                 disabled

Tổng kết​



Nhìn chung, SELinux là một lớp bảo mật rất tốt cho những distributions của RHEL. Tuy nhiên, trong nhiều trường hợp thì lớp bảo mật này lại hạn chế hoạt động của những phần mềm khác nên chúng ta cần tắt đi. Bản thân RHEL và các distributrions của nó đã có cơ chế bảo mật rất tốt nên việc vô hiệu hóa SELinux đi cũng gần như không mất sự bảo mật đi quá nhiều. Các bạn cũng nên kiểm tra kĩ phần mềm mà các bạn sử dụng có yêu cầu vô hiệu hóa SELinux hay không, nếu không thì không có lí do gì để vô hiệu hóa nó cả.
 
Top