Linux, CentOS

SELinux là gì? Cách vô hiệu hóa SELinux trên CentOS

Written by ductri

Khi thực hiện cài đặt một số phần mềm trên Linux,  yêu cầu phải tắt hoặc vô hiệu hóa SELinux. Vậy SELinux là gì? Vì sao phải vô hiệu hóa SELinux, trong bài viết này chúng ta sẽ tìm hiểu thêm về khái niệm SELinux, các chế độ cũng như cách vô hiệu hóa SELinux trên hệ thống CentOS

SELinux là gì?

SELinux (Security-Enhanced Linux) là một mô đun bảo mật ở nhân của Linux, cung cấp cơ chế hỗ trợ các chính sách bảo mật kiểm soát truy cập (access control) , bao gồm các điều khiển truy nhập bắt buộc theo phong cách Bộ Quốc phòng Hoa Kỳ (MAC).

SELinux Modes

SELinux có 3 chế độ hoạt động cơ bản, trong đó Enforcing là chế độ mặc định khi cài đặt. Tuy nhiên, có một bộ định tính bổ sung của các mục tiêu hoặc các ml kiểm soát cách các quy tắc SELinux phổ biến được áp dụng, với mục tiêu là mức độ ít nghiêm ngặt hơn.

  • Enforcing: Chế độ mặc định sẽ cho phép và thực thi chính sách bảo mật SELinux trên hệ thống, từ chối các hành động truy cập và ghi nhật ký
  • Permissive: Trong chế độ Permissive, SELinux được kích hoạt nhưng sẽ không thực thi chính sách bảo mật, chỉ cảnh báo và ghi lại các hành động. Chế độ Permissive hữu ích cho việc khắc phục sự cố SELinux
  • Disabled: SELinux bị vô hiệu hóa hoặc bị tắt đi.

Cách vô hiệu hóa SELinux trên CentOS

Trường hợp nào cần vô hiệu hóa 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 mà phần mềm đó lại cần can thiệp sâu vào hệ thống Linux.

Vô hiệu hóa SELinux tạm thời

Việc vô hiệu hóa SELinux tạm thời sẽ có tác dụng cho đến khi bạn restart lại hệ thống. Để vô hiệu hóa tạm thời các bạn sử dụng lệnh sau:

$ echo 0 > /selinux/enforce
# Hoặc
$ setenforce 0

Để quay trở lại trạng thái chưa bị vô hiệu hóa, các bạn sử dụng lệnh sau:

$ echo 1 > /selinux/enforce
# Hoặc
$ setenforce 1

Vô hiệu hóa SELinux vĩnh viễn

Để vô hiệu hóa SELinux chúng ta cần sửa file sau

$ vi /etc/selinux/config

Thay đổi giá trị SELINUX=disabled

# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

Khởi động lại dịch vụ để cấu hình có hiệu lực.