Bài viết này sẽ hướng dẫn bạn Cách Kích Hoạt Và Vô Hiệu Hóa SELinux. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về support@vinahost.vn hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.
1. SELinux là gì?
SELinux được viết tắt từ cụm từ tiếng anh Security Enhanced Linux là một kiến trúc bảo mật nâng cao cho Linux Kernel của hệ điều hành Linux nhằm gia tăng khả năng bảo mật cho hệ thống. SELinux cho phép quản trị viên có quyền thực thi, kiểm soát các chính sách tài nguyên, xác định mức độ truy cập của người dùng, chương trình và dịch vụ trên hệ thống của hệ điều hành.
2. Các trạng thái của SELinux
SELinux chạy ở 3 chế độ khác nhau bao gồm: Enforcing, Permissive và Disabled.
- Enforcing: Đây là chế độ mặc định sẽ cho phép và thực thi các chính sách bảo mật của SELinux trên hệ thống, từ chối các hành động truy cập và ghi nhật ký. Trong chế độ Enforcing này, hệ thống sẽ thi hành các chính sách bảo mật một cách khắc khe, bắt buộc các ứng dụng và người dùng phải tuân thủ theo chính sách đó.
- Permissive: Ở chế độ này SELinux được kích hoạt nhưng sẽ không thực thi chính sách bảo mật, chỉ gửi các cảnh báo đến người dùng
- Disabled: SELinux sẽ bị vô hiệu hóa các chính sách bảo mật, đây là chế độ không được khuyến khích nếu bạn không biết cách bảo mật hệ thống Linux của mình.
3. Cơ chế bảo mật của SELinux
SELinux là một thực thi của cơ chế bảo mật MAC- Mandatory Access Controls tạm dịch là điều khiển truy cập bắt buộc. Nó được xây dựng trong Linux kernel và được kích hoạt mặc định trên Fedora, CentOS, RHEL và một vài bản phân phối Linux khác. Đây là cơ chế bảo mật nhiều mức (multiple level). Được dùng để bảo vệ một khối lượng dữ liệu lớn cần được bảo mật cao trong một môi trường mà các dữ liệu và người dùng đều có thể được phân loại rõ ràng.
SELinux đặt các hạn chế đối với từng đối tượng theo từng chính sách cụ thể. Ví dụ Một công ty có 3 phòng ban là: Phòng kinh doanh, Phòng kế Toán và Phòng CSKH. Như vậy thì các người dùng và dữ liệu của mỗi phòng ban trong công ty này có thể được phân quyền riêng cho từng phòng ban. Chỉ nhân viên trong cùng một phòng ban mới có thể xem dữ liệu của nhau.
Khác với cơ chế bảo mật tùy quyền DAC-Discretionary Access Control. Là một cơ chế bảo mật Unix/Linux truyền thống. Người dùng có thể bảo vệ những gì thuộc về mình; Chủ của dữ liệu sẽ có toàn quyền trên dữ liệu đó; Chủ của dữ liệu có quyền định nghĩa các loại truy cập đọc/ghi/thực thi (read/write/execute/…) và gán những quyền đó cho những người dùng khác. Ví dụ: Một nhân viên trong Phòng Kế Toán được cấp quyền đọc, ghi và thực thi cho file “bao_cao_luong”, thì nhân viên đó sẽ có quyền cấp quyền quyền đọc, ghi và thực thi cho một người khác. Điều này rất đáng e ngại trong vấn đề bảo mật.
4. Ưu nhược điểm của SELinux
Ưu điểm
- Là cơ chế điều khiển truy xuất có tính bảo mật cao trong việc ngăn chặn truy cập dữ liệu hoặc các chương trình trái phép.
- Bảo vệ máy chủ chống lại việc khai thác. Tránh tình trạng leo thang đặc quyền.
Nhược điểm
Tuy nhiên có những trường hợp SELinux 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. Do đó bạn cần phải vô hiệu hóa tính năng của SELinux. Tiếp theo sẽ là cách kích hoạt và vô hiệu hóa SELinux.
5. Cách kích hoạt và vô hiệu hóa SELinux
Để kiểm tra trạng thái của SELinux, thông thường, ta sẽ sử dụng lệnh “sestatus” trong command line để kiểm tra đầy đủ thông tin.
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: default Current mode: Enforcing Mode from config file: Enforcing
Nếu kết quả cho ra là Enforcing thì SELinux đã được kích hoạt.
Hoặc có thể sử dụng lệnh “getenforce” để hiển thị nhanh trạng thái của SELinux. Tuy nhiên, lệnh “getenforce” chỉ hiển thị duy nhất thông tin trạng thái của SELinux là “Enforcing”, “Permissive” hoặc “Disabled”.
5.1. Cách vô hiệu hóa tạm thời
Để tạm thời vô hiệu hóa SELinux, bạn sử dụng 1 trong 2 lệnh sau:
$ echo 0 > /selinux/enforce
Hoặc $ setenforce 0
Đối với cách này, toàn bộ chính sách bảo mật của SELinux sẽ tạm thời vô hiệu hoá cho đến khi bạn khởi động lại hệ thống. Trong trường hợp bạn đã cài đặt xong phần mềm, bạn thực hiện lệnh sau để mở lại SELinux:
$ echo 1 > /selinux/enforce
Hoặc $ setenforce 1
5.2. Cách vô hiệu hóa vĩnh viễn
Để vô hiệu hoá SELinux vô thời hạn, chúng ta sẽ sửa file config trong SELinux.
Bước 1: truy cập vào file config bằng lệnh: # vi /etc/selinux/config
Bước 2: thay đổi dòng SELINUX=enforcing thành SELINUX=disabled và lưu lại.
# 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
Bước 3: sau khi lưu lại, bạn khởi động lại toàn bộ hệ thống để áp dụng cài đặt mới.
Tương tự, khi bạn đã vô hiệu hóa SELinux tạm thời, bạn có thể mở lại SELinux bằng cách đổi SELINUX=disabled thành SELINUX=enforcing trong file config.
Chúc bạn thực hiện thành công!
THAM KHẢO CÁC DỊCH VỤ TẠI VINAHOST
>> SERVER – COLOCATION – CDN
>> HOSTING
>> WEBSITE
>> TÊN MIỀN