Tại sao lại tắt SELinux? Trong nhiều bài viết hướng dẫn cài đặt phần mềm thì một trong những lưu ý đầu tiên là “Disabled SELinux”. Vậy nó có chức năng gì mà lại cần phải tắt nó đi. Có phải đó là một phần dư thừa của hệ thống Linux cần phải loại bỏ. Có bao giờ bạn tự đặt ra câu hỏi về SELinux chưa?
1. SELinux là gì ? #
SELinux (Security-Enhanced Linux) là một tính năng bảo mật của nhân Linux, do vậy mà nó có ở mọi hệ thống phát triển dựa trên Linux từ mobile (Android), Desktop, Server. Nó được thiết kế để bảo vệ máy chủ chống lại các cấu hình sai hoặc daemon bị xâm nhập. Nó đặt giới hạn và hướng dẫn trình nền của máy chủ hoặc chương trình những tệp nào họ có thể truy cập và những hành động họ có thể thực hiện bằng cách xác định chính sách bảo mật.
Trong nhân Linux, SELinux dựa trên các điều khiển truy cập bắt buộc ( MAC ) để hạn chế người dùng theo các quy tắc và chính sách do quản trị viên hệ thống đặt ra. MAC là cấp độ kiểm soát truy cập cao hơn so với kiểm soát truy cập tùy ý tiêu chuẩn (DAC) và ngăn chặn các vi phạm bảo mật trong hệ thống bằng cách chỉ xử lý các tệp cần thiết mà quản trị viên phê duyệt trước.
Ban đầu, nó được phát hành dưới dạng hợp tác giữa Red Hat và Cơ quan An ninh Quốc gia. Nó nhận được các bản cập nhật và bổ sung định kỳ khi các bản phân phối Linux mới được phát hành. Hạt nhân SELinux phân tách chính sách và các quyết định bên trong hạt nhân để phân phối các cấp độ bảo vệ và ngăn chặn sự vi phạm an ninh tổng thể.
SELinux hoạt động theo mô hình kém đặc quyền.Nó chỉ cấp quyền truy cập nếu quản trị viên viết một chính sách cụ thể để làm như vậy.
2. Các chế độ của SELinux #
Có ba chế độ của SELinux: Enforcing, Permissive và Disabled.
Disabled SELinux bị tắt hoàn toàn, không bảo mật cho server
Permissive: là chế độ được sử dụng phổ biến nhất để khắc phục sự cố SELinux. Trong chế độ này, nó cho phép nhưng không thực thi các chính sách bảo mật. Ngoài ra, điều này có nghĩa là các hành động sẽ dẫn đến cảnh báo và đăng nhập cho quản trị viên hệ thống.
Enforcing: là chế độ mặc định khi cài đặt SELinux. Nó sẽ thực thi các chính sách trên hệ thống, từ chối các hành động truy cập và đăng nhập.
3. Thay đổi chế độ của SELinux #
Tắt tạm thời SELinux: Việc tắt SELinux tạm thời sẽ có tác dụng cho đến khi bạn restart lại hệ thống. Các bạn sử dụng command sau:
echo 0 > /selinux/enforce
Hoặc
setenforce 0
Để trả lại trạng thái bình thường, dùng lệnh sau:
echo 1 > /selinux/enforce
Hoặc
setenforce 1
Tắt vĩnh viễn SELinux #
Để tắt ta chỉnh sửa file sau:
vim /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
Sau đó lưu lại và restart server
4. Kiểm tra trạng thái SELinux #
Để kiểm tra trạng thái đang enable hay disabled thì dùng lệnh sau:
sestatus
SELinux đang được tắt:
[root@localhost ~]# sestatus SELinux status: disabled
5. Khi nào cần Disabled SELinux #
Khi cài đặt phần mềm vào server, hãy đọc rõ các yêu cầu ban đầu về cấu hình server, kết nối internet,… Bước đầu tiên thường được làm để bắt đầu việc cài đặt là cập nhật OS mới nhất cho server. Tiếp theo là setup các cấu hình ban đầu như “Disabled SELinux”, cài đặt các gói cần thiết, cài đặt repo,…
Nếu yêu cầu tắt vĩnh viễn hoặc tắt tạm thời thì tiến hành tắt SELinux, nếu không thì quá trình cài đặt chắc chắn sẽ có lỗi xảy ra. Ví dụ như không thể start dịch vụ mặc dù quá trình cài đặt không có bất kì lỗi nào được thông báo. Hoặc trong quá trình cài đặt sẽ có thông báo cần phải tắt nó để có thể tiếp tục cài đặt.
Lưu ý: nên cẩn trọng với những phần mềm được cài đặt vào, đảm bảo an toàn cho dữ liệu và server trước khi thực hiện.
Thông tin khóa học Linux: tại đây