Một cách để nâng cao bảo mật hệ thống Linux của bạn là thêm một lớp bảo mật bổ sung bằng cách sử dụng SELinux. Với Security-Enhanced Linux (SELinux), các ứng dụng trên hệ thống Linux của bạn được cô lập khỏi nhau, bảo vệ hệ thống chủ. Mặc định, Ubuntu sử dụng AppArmor, một hệ thống kiểm soát truy cập bắt buộc cải thiện bảo mật, nhưng bạn có thể sử dụng SELinux để đạt được kết quả tương tự.
SELinux có ích, và trong trường hợp xảy ra vi phạm bảo mật trên hệ thống của bạn, nó ngăn chặn việc lan truyền vi phạm để bảo vệ hệ thống của bạn. Hơn nữa, công cụ bảo vệ các máy chủ web tùy thuộc vào chế độ bạn thiết lập cho SELinux. Hướng dẫn này cung cấp một bài hướng dẫn thực hành về cách tắt AppArmor, cài đặt SELinux, kích hoạt các chế độ khác nhau và tắt SELinux.
Bắt đầu với SELinux
Lưu ý trước khi tiếp tục với SELinux, có một rủi ro khi sử dụng nó, đặc biệt là khi nó có thể làm cho hệ thống của bạn không sử dụng được. Vì vậy, chỉ sử dụng nó nếu bạn cần và trong trường hợp áp dụng phù hợp. Ngoài ra, luôn an toàn hơn khi tắt AppArmor trước khi cài đặt SELinux.
Để tắt AppArmor, chạy lệnh sau đây:
$ sudo systemctl stop apparmor
Sau khi AppArmor dừng, khởi động lại hệ thống của bạn.
Cách cài đặt SELinux trên Ubuntu Sau khi tắt hoặc gỡ bỏ AppArmor, mở terminal và chạy lệnh sau để cài đặt SELinux.
$ sudo apt update
$ sudo apt install policycoreutils selinux-utils selinux-basics
Sau khi cài đặt thành công, bạn cần kích hoạt công cụ. Bạn có thể làm điều đó bằng cách sử dụng lệnh sau:
$ sudo selinux-activate
Kích hoạt các chế độ SELinux trên Ubuntu
Có ba chế độ khác nhau mà bạn có thể sử dụng với SELinux. Chế độ đầu tiên là disable, tương tự như tên của nó. Nó vô hiệu hóa việc sử dụng dịch vụ SELinux. Khi SELinux được kích hoạt, bạn có thể đặt chế độ permissive hoặc Enforcing. Trong chế độ permissive, chỉ có việc giám sát tương tác được thực hiện. Tuy nhiên, nếu bạn muốn lọc và giám sát tương tác, hãy sử dụng chế độ enforcing.
Hãy bắt đầu bằng cách đặt chế độ enforcing. Sử dụng lệnh sau:
$ sudo selinux-config-enforcing
Ngoài ra, bạn có thể sử dụng lệnh setenforce để đặt chế độ enforcing. Lệnh cho điều này như sau:
$ setenforce 1
Sau khi đặt chế độ, bạn cần khởi động lại hệ thống để nó có hiệu lực.
$ reboot
Lưu ý rằng quá trình relabelling bắt đầu trong quá trình khởi động lại. Hệ thống khởi động lại bình thường sau khi quá trình này hoàn tất. Trong quá trình relabelling, bạn nên lưu ý đến thông báo cảnh báo như trong hình ảnh sau:
Sau khi khởi động lại thành công, bạn có thể chạy lệnh sau để kiểm tra trạng thái SELinux. Nó nên được đặt ở chế độ enforcing.
$ sestatus
Chế độ enforcing là chế độ mặc định được đặt bởi SELinux. Trong trạng thái này, hầu hết các yêu cầu nếu không phải là tất cả đều bị chặn. Giải pháp là chọn chế độ permissive, nơi mà tất cả các quy tắc vi phạm đều được đăng nhập. Bạn có thể kiểm tra tệp nhật ký để biết chi tiết.
Để đặt chế độ permissive, sử dụng lệnh sau:
$ setenforce 0
Tiếp tục kiểm tra chế độ bằng lệnh setstatus hoặc sử dụng lệnh getenforce:
$ setstatus
hoặc
$ getenforce
Với getenforce, bạn chỉ thấy tên chế độ hiện tại, nhưng setstatus hiển thị thêm thông tin về chế độ đang được đặt.
Lưu ý rằng bạn phải khởi động lại hệ thống để chuyển đổi giữa hai chế độ. Bên cạnh đó, bạn có thể xem các chế độ đã được thiết lập từ tệp /etc/sysconfig/selinux.
Như chúng ta đã biết, chế độ thụ động linh hoạt hơn và không nhất thiết phải chặn tất cả các yêu cầu. Thay vào đó, nó sẽ lưu trữ một tệp nhật ký khi các quy tắc bị vi phạm. Để truy cập vào tệp nhật ký, bạn có thể sử dụng lệnh sau:
$ grep selinux /var/log/audit/audit.log
Để thiết lập chế độ thụ động, sử dụng lệnh sau đây:
$ sudo setenforce 0
Cách tắt SELinux
Chúng ta đã biết cách kích hoạt và đặt các chế độ SELinux khác nhau. Nhưng làm thế nào để tắt nó? Tùy chọn tốt nhất là vô hiệu hóa nó từ các tệp cấu hình vĩnh viễn. Để làm điều này, mở tệp bằng một trình soạn thảo như nano. Sau đó, thay đổi chế độ từ enforcing thành disabled, như được hiển thị trong lệnh sau:
$ sudo nano /etc/selinux/config
Sau khi mở, tìm dòng SELINUX=enforcing và thay đổi thành SELINUX=disabled.
Kết Luận
Chúng ta đã biết cách kích hoạt và đặt các chế độ SELinux khác nhau. Nhưng làm thế nào để tắt nó? Tùy chọn tốt nhất là vô hiệu hóa nó từ các tệp cấu hình vĩnh viễn. Để làm điều này, mở tệp bằng một trình soạn thảo như nano. Sau đó, thay đổi chế độ từ enforcing thành disabled, như được hiển thị trong lệnh sau:
$ sudo nano /etc/selinux/config Sau khi mở, tìm dòng SELINUX=enforcing và thay đổi thành SELINUX=disabled.