Câu trả lời:
Apparmor là một hệ thống Kiểm soát truy cập bắt buộc (hoặc MAC). Nó sử dụng các cải tiến hạt nhân LSM để hạn chế các chương trình đối với một số tài nguyên nhất định. AppArmor thực hiện điều này với các cấu hình được tải vào kernel khi hệ thống khởi động. Apparmor có hai loại chế độ hồ sơ, thực thi và khiếu nại. Hồ sơ trong chế độ thực thi thi hành các quy tắc của hồ sơ đó và báo cáo các nỗ lực vi phạm trong syslog
hoặc auditd
. Hồ sơ trong chế độ khiếu nại không thực thi bất kỳ quy tắc hồ sơ nào, chỉ ghi nhật ký các hành vi vi phạm.
Trong Ubuntu Apparmor được cài đặt theo mặc định. Nó giới hạn các ứng dụng cho các cấu hình để xác định các tệp và quyền mà chương trình cần truy cập. Một số ứng dụng sẽ đi kèm với các thuộc tính riêng của chúng và nhiều hơn nữa có thể được tìm thấy trong apparmor-profiles
gói.
Bạn có thể cài đặt apparmor-profiles
bằng cách chạy sudo apt-get install apparmor-profiles
.
Tôi tìm thấy một ví dụ tốt về Apparmor trên các diễn đàn Ubuntu mà tôi viết lại cho bài đăng này.
Apparmor là một khung bảo mật ngăn chặn các ứng dụng biến thành ác quỷ. Ví dụ: Nếu tôi chạy Firefox và truy cập một trang web xấu cố cài đặt phần mềm độc hại sẽ xóa
home
thư mục của tôi , Apparmor có giới hạn đối với Firefox mặc dù ngăn không cho nó làm bất cứ điều gì tôi không muốn (như truy cập nhạc, tài liệu của tôi, v.v.). Cách này ngay cả khi ứng dụng của bạn bị xâm phạm, không có tác hại nào có thể được thực hiện.
Các apparmor-utils
gói chứa các công cụ dòng lệnh để cấu hình AppArmor. Sử dụng nó, bạn có thể thay đổi chế độ thực thi của Apparmor, tìm trạng thái của một hồ sơ tạo hồ sơ mới, v.v.
Đây là những lệnh phổ biến nhất:
Lưu ý: Hồ sơ được lưu trữ trong/etc/apparmor.d/
sudo apparmor_status
. Bạn sẽ nhận được một danh sách tất cả các cấu hình * được tải, tất cả các cấu hình ở chế độ thực thi, tất cả các cấu hình ở chế độ khiếu nại, các quy trình được xác định trong thực thi / khiếu nại, v.v. sudo aa-complain /path/to/bin
, thư mục /path/to/bin
chương trình ở đâu bin
. Ví dụ: đang chạy: sudo aa-complain /usr/bin/firefox
sẽ đặt Firefox ở chế độ khiếu nại.sudo aa-enforce /path/to/bin
để thực thi một hồ sơ chương trình. sudo aa-complain /etc/apparmor.d/*
và sudo aa-enforce.d/*
tương ứng. Để tải một hồ sơ vào kernel, bạn sẽ sử dụng apparmor_parser
. Bạn có thể tải lại hồ sơ bằng cách sử dụng -r
tham số.
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
, trong đó in hiệu quả nội dung profile.name
vào trình phân tích cú pháp của Apparmor.-r
tham số, như vậy:cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
sudo service apparmor reload
Để vô hiệu hóa một hồ sơ, bạn liên kết nó với /etc/apparmor.d/disable/
việc sử dụng ln
như thế này: sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/
sau đó chạy : sudo apparmor_parser -R /etc/apparmor.d/profile.name
.
Lưu ý: Đừng nhầm lẫnapparmor_parser -r
vớiapparmor_parser -R
HỌ KHÔNG PHẢI LÀ CÙNG NHAU!
/etc/apparmor.d/disable/
sau đó tải nó bằng -a
tham số.sudo rm /etc/apparmor.d/disable/profile.name
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
sudo service apparmor stop
và xóa mô-đun hạt nhân bằng cách sử dụngsudo update-rc.d -f apparmor defaults
sudo service apparmor start
và tải các mô-đun hạt nhân vớisudo update-rc.d apparmor defaults
Hồ sơ được lưu trữ trong /etc/apparmor.d/
và được đặt tên theo đường dẫn đầy đủ đến hồ sơ thực thi mà chúng cấu hình, thay thế '/' bằng '.'. Ví dụ /etc/apparmor.d/bin.ping
là hồ sơ cá nhân cho ping
trong /bin
.
Có hai loại mục chính được sử dụng trong hồ sơ:
Mục nhập đường dẫn xác định những tập tin ứng dụng có thể truy cập.
Các mục khả năng xác định những đặc quyền mà một quá trình có thể sử dụng.
Hãy xem xét hồ sơ cho ping
, nằm trong etc/apparmor.d/bin.ping
, làm ví dụ.
#include <tunables/global>
/bin/ping flags=(complain) {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
network inet raw,
/bin/ping mixr,
/etc/modules.conf r,
}
#include <tunables/global>
Bao gồm tệp global
trong thư mục tunables
, điều này cho phép các câu lệnh liên quan đến nhiều ứng dụng được đặt trong một tệp chung.
/bin/ping flags=(complain)
đặt đường dẫn đến chương trình được định hình và đặt chế độ để khiếu nại.
capability net_raw
cho phép ứng dụng truy cập vào CAP_NET_RAW Posix.1e
khả năng.
/bin/ping mixr
cho phép ứng dụng đọc và thực thi quyền truy cập vào tập tin.
/etc/modules.conf r,
Cung r
cấp cho các ứng dụng đọc đặc quyền cho/etc/modules.conf
Lưu ý: Sau khi tạo / chỉnh sửa hồ sơ, bạn cần tải lại hồ sơ để các thay đổi có hiệu lực.
Dưới đây là danh sách các quyền bạn có thể sử dụng:
r
- đọc w
- viết ux
- Thực thi không giới hạn Ux
- Thực thi không giới hạn - chà môi trường px
- Hồ sơ thực hiện rời rạc Px
- Thực hiện hồ sơ rời rạc - chà môi trường ix
- Kế thừa thực hiện m
- cho phép PROT_EXEC
với mmap(2)
các cuộc gọi l
- liên kếtAppArmor là một hệ thống Kiểm soát truy cập bắt buộc (MAC), là một cải tiến hạt nhân (LSM) để giới hạn các chương trình trong một bộ tài nguyên giới hạn. Mô hình bảo mật của AppArmor là liên kết các thuộc tính kiểm soát truy cập với các chương trình hơn là với người dùng. Sự giam cầm AppArmor được cung cấp thông qua các cấu hình được tải vào kernel, thường là khi khởi động. Hồ sơ AppArmor có thể ở một trong hai chế độ: thực thi và khiếu nại. Hồ sơ được tải trong chế độ thực thi sẽ dẫn đến việc thực thi chính sách được xác định trong hồ sơ cũng như báo cáo các nỗ lực vi phạm chính sách (thông qua syslog hoặc audd). Hồ sơ trong chế độ khiếu nại sẽ không thực thi chính sách mà thay vào đó báo cáo các nỗ lực vi phạm chính sách.
AppArmor khác với một số hệ thống MAC khác trên Linux ở chỗ nó dựa trên đường dẫn, cho phép trộn các cấu hình chế độ thực thi và khiếu nại, sử dụng các tệp để dễ dàng phát triển và có rào cản thấp hơn nhiều so với các hệ thống MAC phổ biến khác.
AppArmor là một công nghệ đã được thiết lập lần đầu tiên nhìn thấy trong Immunix và sau đó được tích hợp vào Ubuntu, Novell / SUSE và Mandriva. Chức năng Core AppArmor nằm trong nhân Linux chính từ 2.6.36 trở đi; công việc đang diễn ra bởi AppArmor, Ubuntu và các nhà phát triển khác để hợp nhất chức năng AppArmor bổ sung vào nhân chính.
Tôi có một vài Liên kết hữu ích khác cho bạn: Wiki.Ubfox.com Ubuntuforums.org
Hướng dẫn Apparmor cho Ubuntu 12.04 & Ubuntu 12.10
Hy vọng rằng sẽ giúp bạn.
Đây là một trích dẫn từ wiki Apparmor :
AppArmor là một hệ thống bảo mật ứng dụng Linux hiệu quả và dễ sử dụng. AppArmor chủ động bảo vệ hệ điều hành và các ứng dụng khỏi các mối đe dọa bên ngoài hoặc bên trong, thậm chí là các cuộc tấn công không có ngày, bằng cách thực thi hành vi tốt và ngăn chặn các lỗ hổng ứng dụng chưa biết bị khai thác. Các chính sách bảo mật của AppArmor xác định hoàn toàn tài nguyên hệ thống mà các ứng dụng riêng lẻ có thể truy cập và với các đặc quyền nào. Một số chính sách mặc định được bao gồm trong AppArmor và sử dụng kết hợp các công cụ phân tích tĩnh và dựa trên học tập tiên tiến, các chính sách AppArmor cho các ứng dụng thậm chí rất phức tạp có thể được triển khai thành công trong vài giờ.