Disable SELinux trên CentOS

Disable SELinux trên CentOS

Bài viết này sẽ giúp các bạn cách disable SELinux trên CentOS đơn giản nhất.

SELinux là gì?

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

SELinux bổ sung thêm một lớp bảo mật 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 (policy rules).

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 nào cho phép truy cập vào một đối tượng, chẳng hạn như đối với quá trình mở tệp, quyền truy cập bị sẽ bị từ chối.

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

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

Theo mặc định, trong hệ điều hành CentOS, SELinux được bật và ở chế độ thực thi (Enforcing). Chúng tôi khuyên bạn nên giữ SELinux ở chế độ thực thi. Tuy nhiên, đôi khi nó có thể cản trở hoạt động của một số ứng dụng (cài đặt ứng dụng mới, đổi Port SSH…vv….) và bạn cần đặt nó ở chế độ cho phép hoặc tắt hoàn toàn.

Trong hướng dẫn này, Bảo sẽ hướng dẫn tắt disable SELinux trên CentOS.

Điều kiện tiên quyết để có thể Disable SELinux trên CentOS

Chỉ người dùng root hoặc người dùng có đặc quyền sudo mới có thể thay đổi chế độ SELinux.

Kiểm tra trạng thái SELinux

Chúng ta sẽ sử dụng lệnh sestatus để kiểm tra trạng thái và chế độ SELinux đang chạy:

sestatus

Nội dung đầu ra sẽ tương tự như sau:

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:      32

Với kết quả ở trên cho thấy SELinux đã được kích hoạt và được đặt ở chế độ thực thi (Enforcing).

Thông tin ngoài lề:

  • Một khi SELinux được kích hoạt và ở chế độ này thì bạn sẽ không thể thay đổi Port SSH.

Thay đổi chế độ SELinux thành Permissive (cho phép)

Chúng ta có thể thay đổi chế độ SELinux thành Permissive sang 1 trong 2 dạng là tạm thời và vĩnh viễn.

1. Thay đổi chế độ SELinux thành Permissive – Tạm thời

Khi được bật, SELinux có thể ở chế độ thực thi (Enforcing) hoặc chế độ cho phép (Permissive). Sau đó chúng ta sử dụng lệnh setenforce 0 để vô hiệu hóa tạm thời SELinux.

setenforce 0

Tuy nhiên, thay đổi này chỉ hợp lệ cho phiên thời gian chạy hiện tại và không tồn tại giữa các lần khởi động lại máy chủ.

2. Thay đổi chế độ SELinux thành Permissive – Vĩnh viễn

Để đặt vĩnh viễn chế độ SELinux thành cho phép, hãy làm theo các bước bên dưới:

Mở tệp /etc/selinux/config và đặt SELINUX mod thành permissive:

# This file controls the state of SELinux on the system.
# 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=permissive
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Hình ảnh:

Disable SELinux trên CentOS
Trước khi thay đổi trạng thái SELinux
Disable SELinux trên CentOS
Ssau khi thay đổi trạng thái SELinux

Lưu tệp và chạy lệnh setenforce 0 để thay đổi chế độ SELinux cho phiên hiện tại, đồn thời khởi động lại máy chủ Linux để nhận cấu hình SELinux mới:

sudo shutdown -r now

Disable SELinux trên CentOS vĩnh viễn

Thay vì tắt SELinux vĩnh viễn, thì bạn nên thay đổi chế độ thành cho phép (Permissive). Chỉ tắt SELinux khi cần thiết để ứng dụng của bạn hoạt động bình thường.

Thực hiện các bước bên dưới để disable SELinux trên CentOS của bạn:

1. Thay đổi chế độ SELinux thành Permissive – Tạm thời

Khi được bật, SELinux có thể ở chế độ thực thi (Enforcing) hoặc chế độ cho phép (Permissive). Sau đó chúng ta sử dụng lệnh setenforce 0 để vô hiệu hóa tạm thời SELinux.

setenforce 0

Tuy nhiên, thay đổi này chỉ hợp lệ cho phiên thời gian chạy hiện tại và không tồn tại giữa các lần khởi động lại máy chủ.

2. Thay đổi chế độ SELinux thành Permissive – Vĩnh viễn

Để đặt vĩnh viễn chế độ SELinux thành cho phép, hãy làm theo các bước bên dưới:

Mở tệp /etc/selinux/config và đặt SELINUX mod thành disabled:

# This file controls the state of SELinux on the system.
# 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
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Hình ảnh:

Disable SELinux trên CentOS
Disable SELinux trên CentOS

Lưu tệp và khởi động lại hệ thống:

sudo shutdown -r now

Khi hệ thống khởi động hoàn tất, chúng ta sẽ sử dụng lệnh sestatus để xác minh rằng SELinux đã bị vô hiệu hóa:

sestatus

Kết quả trả về:

SELinux status:                 disabled
Disable SELinux trên CentOS
Disable SELinux trên CentOS thành công.

Như vậy chúng ta đã disable SELinux trên CentOS thành công.

Tổng kết

Hy vọng qua bài viết này các bạn đã hiểu thêm về cách disable SELinux trên CentOS.

Việc vô hiệu hóa disable SELinux trên CentOS sẽ giúp các bạn xử lý được nhiều thao tác nhưng cũng tìm ẩn một số vấn đề về bảo mật. Nên các bạn chỉ nên tắt khi thật sự cần thiết và bật lại sau khi đã xử lý xong nhu cầu của mình nhé.

Xem thêm:

Nếu có góp ý hay bất cứ thắc mắc nào gì về bài viết này thì các bạn hãy để lại bình luận ở khung bình luận bên dưới nhé. Bảo sẽ cố gắng giải đáp hết tất cả các thắc mắc của các bạn.

Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *