Trong các bản hệ điều hành CentOS mới đây (Version 7.x), SElinux mặc định là “on” nhằm nâng cao tính bảo mật của hệ điều hành Linux. Tuy nhiên với những người mới làm quen với Linux hoặc những người mới sử dụng VPS chạy Linux thì quả là phiền phức. Sau đây ITC TODAY xin chia sẻ vài thông tin liên quan tới SElinux là gì và cách vô hiệu hóa SELinux trên CentOS.
SELinux (Security-Enhanced Linux) được tạo bởi NSA. Những gì SELinux làm được là khóa điều khiển truy cập vào các ứng dụng. SELinux cũng có một vài điều gây khó chịu cho người sử dụng như việc gây chậm cho hệ thống hay khiến cho một vài ứng dụng trở nên khó cài đặt. Nhưng những tiện lợi về bảo mật khi sử dụng SELinux (hoặc Apparmor) vượt trội hơn so với những nhược điểm mà nó có. Bạn có thể kích hoạt SELinux trong quá trình cài đặt hệ điều hành Linux.
SElinux còn được nhúng vào hệ điều hành Android để các tài khoản thực hiện đúng chức năng và nhiệm vụ của mình, thay vì hacker có thể chiếm quyền kiểm soát của hệ thống từ một User. Đây là cách đơn giản nhất nhằm tăng tính bảo mật cho cả một hệ thống.
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.
# echo 0 > /selinux/enforce
Hoặc
# setenforce 0
# echo 1 > /selinux/enforce
Hoặc
# setenforce 1
# vi /etc/selinux/config
Thay đổi giá trị SELINUX=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=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted – Targeted processes are protected,
# minimum – Modification of targeted policy. Only selected processes are protected.
# mls – Multi Level Security protection.
SELINUXTYPE=targeted
Sau đó restart lại để hệ thống nhận config mới
Để xác nhận SELinux đã bị vô hiệu hóa ta thực hiện command sau: sestatus
Nếu trạng thái SELinux là disabled thì bạn đã vô hiệu hóa thành công SELinux rồi.
Cho phép Apache hoặc PHP gửi email từ hệ thống ra ngoài, các bạn cần phải cho phép chúng trong SElinux nhé:
setsebool -P httpd_can_sendmail 1