Có phải Selinux làm cho Redhat an toàn hơn?


10

Có phải Selinux làm cho Redhat an toàn hơn?

Tôi không thể nhớ số lần tôi đã vô hiệu hóa SELinux vì điều đó khiến tôi không thể chạy được. Đã rất nhiều lần không có lý do rõ ràng tại sao mọi thứ không hoạt động và tôi đã phải Google để khám phá lý do tại sao.

Cho rằng hầu hết người dùng thông thường sẽ vô hiệu hóa hoặc làm suy yếu bảo mật khi nó xuất hiện, với việc loại trừ người dùng Redhat nghiêm túc, không cần thiết, liệu Selinux có thực sự hữu ích?

Tái bút Có một số công cụ giúp bạn đăng nhập, theo dõi và quản lý các vấn đề của Selinux trên tất cả các ứng dụng không?

Câu trả lời:


9

Có, Selinux làm cho hệ thống an toàn hơn. Nhưng bạn sẽ cần hủy bỏ các khái niệm về nó và có ít nhất kiến ​​thức cơ bản về selinux và các công cụ kiểm toán.

Selinux đang đăng nhập vào /var/log/audit/audit.log (nhưng đảm bảo Audd đang chạy) và có một số công cụ để giải quyết các vấn đề về selinux. Có lẽ cách đơn giản nhất là sử dụng là aud2allow


17

Có, SELinux làm cho Red Hat (và bất kỳ bản phân phối Linux nào thực sự sử dụng nó) an toàn hơn, giả sử nó thực sự được sử dụng.

SELinux thực hiện kiểm soát truy cập bắt buộc . Các quyền Unix, ACL thông thường, v.v., thực hiện kiểm soát truy cập tùy ý . Hai người bổ sung cho nhau.

Để hoạt động, SELinux yêu cầu một chính sách, xác định những hành động nào trên hệ thống có thể được cho phép. Mặc dù có thể tạo toàn bộ chính sách hệ thống từ đầu, hầu hết các bản phân phối Linux đều cung cấp chính sách dựa trên cái gọi là chính sách tham chiếu . Điều này có nghĩa, trong số những thứ khác, việc định cấu hình SELinux trên các bản phân phối sẽ rất giống nhau. (Hầu hết các bản phân phối Linux làm cho chính sách tham chiếu SELinux có sẵn trong kho gói của chúng, mặc dù nó có thể không được cài đặt theo mặc định.)

SELinux hoạt động bằng cách hạn chế người dùng và quy trình chỉ thực hiện các hành động được phép đối với họ trong chính sách. Theo mặc định, chính sách là từ chối, vì vậy nếu chính sách không cho phép một hành động rõ ràng thì điều đó sẽ không xảy ra. Đây là lý do tại sao bạn thường xuyên gặp rắc rối với SELinux không cho phép điều gì đó bạn đang cố gắng thực hiện.

Về mặt tươi sáng, điều này cũng ngăn chặn việc khai thác, thậm chí là khai thác 0 ngày, ra khỏi tầm tay. Chẳng hạn, nếu máy chủ web của bạn (Apache) bị khai thác, thiệt hại chỉ giới hạn ở những thứ mà Apache có thể truy cập. Nó sẽ không thể đọc /etc/shadowtệp của bạn , ví dụ, ngay cả với khai thác root từ xa. Trong khi các quyền Unix (DAC) cho phép root đọc tệp, thì SELinux (MAC) không cho phép quá trình bị xâm phạm bước ra khỏi giới hạn.

Vấn đề lớn là phải có một mô-đun chính sách SELinux được tải cho dịch vụ. Nếu bạn cài đặt một dịch vụ trên hộp của mình mà không bao gồm mô-đun chính sách SELinux, thì nó sẽ chạy không kiểm soát và có thể làm bất cứ điều gì nó muốn. SELinux sẽ không áp dụng cho nó.

Một điều khác bạn nên biết là tất cả về booleans . Các tham số có thể điều chỉnh này được cung cấp bởi các chính sách của SELinux để tùy chỉnh chúng cho các cài đặt cụ thể và cho phép hoặc từ chối truy cập dựa trên nhu cầu cấu hình cục bộ. Chẳng hạn, bạn có thể cấp cho Apache quyền truy cập vào các chia sẻ Samba, cho phép Samba chia sẻ các thư mục nhà của người dùng và nhiều thứ hữu ích khác có thể cần thiết cho một số thiết lập nhưng không phải cho các thiết lập khác.

Hướng dẫn tốt nhất về SELinux mà tôi đã thấy hiện tại là Hướng dẫn sử dụng Linux được tăng cường bảo mật của Red Hat . Nó sẽ giúp bạn đứng dậy và chạy nhanh cũng như điền vào các chi tiết nền của những gì đang diễn ra. Nó cũng bao gồm một hướng dẫn xử lý sự cố toàn diện giúp bạn vận hành quy trình của mình dưới chế độ SELinux.

Nó khá hữu ích?

SELinux bảo vệ chống lại các quy trình (và người dùng, nếu bạn đã giới hạn người dùng của mình) làm những việc không mong muốn. Nó hạn chế nghiêm trọng thiệt hại mà một khai thác từ xa có thể gây ra. Nếu bạn chưa bao giờ phải chịu một sự thỏa hiệp từ xa, bạn là (1) may mắn và (2) có lẽ là người mới. Nếu bạn đã thực hiện một thỏa hiệp từ xa, bạn chắc chắn không muốn nó xảy ra lần nữa.

Nó không hữu ích trong cài đặt tại nhà , trừ khi bạn đang chạy các dịch vụ truy cập Internet tại nhà (và một số người làm). Trong trường hợp đó, tất cả mọi thứ nói ở trên áp dụng.

SELinux có thể là điều cuối cùng đứng giữa dữ liệu của bạn và kẻ tấn công với khai thác 0 ngày, người thực sự muốn nó. Nếu bạn có thể sử dụng nó, tại sao bạn lại không?


3

Tôi nghĩ rằng SELinux chỉ mở rộng hệ thống quyền truyền thống bằng cách giới thiệu các cài đặt mở rộng qua quyền. Nó làm cho hệ thống của bạn an toàn hơn? Tôi nghĩ rằng nó phụ thuộc vào cách bạn sử dụng SELinux trong các ứng dụng của mình. Ngoài ra, tôi không giỏi về SELinux nhưng việc cấu hình nó cần nhiều kiến ​​thức hơn về những hạn chế mà nó có thể cung cấp cho bạn. Nhưng nó cũng giới thiệu nhiều vấn đề mà bạn cần phải tự điều tra để khắc phục


1
SELinux không chỉ mở rộng các quyền POSIX truyền thống. Ví dụ, Selinux có thể giới hạn quyền truy cập vào một số cổng mạng nhất định.
wzzrd

3

Có một gói giúp người dùng tìm thấy các vấn đề gây ra bởi SELinux có tên setroubledhoot. Cài đặt nó, thiết lập để chạy khi bắt đầu. Sau đó, khi bạn nhận được từ chối SELinux, nó sẽ được ghi chú vào /var/log/messages. Nếu bạn cũng đăng nhập vào GUI, bạn sẽ nhận được thông báo.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.