AppArmor là Mô-đun bảo mật Linux bắt buộc (MAC) (LSM), được sử dụng bởi, trong số khác, Ubuntu và SUSE Linux. Quy tắc kiểm soát truy cập AppArmor được xác định trong cấu hình AppArmor trong . Các hồ sơ chỉ đơn giản là các tệp văn bản, chứa thông tin liên quan đến tài nguyên mà ứng dụng liên quan đến hồ sơ được phép truy cập./etc/apparmor.d/
Thông thường, khi thiết kế hồ sơ , người ta sẽ thực hiện ứng dụng với AppArmor được đặt thành complain
chế độ, trong đó cho phép vi phạm kiểm soát truy cập, nhưng được ghi lại. Sử dụng các bản ghi, người ta sẽ tinh chỉnh hồ sơ. Khi cấu hình được thực hiện, AppArmor có thể được chuyển sang enforce
chế độ, trong đó các quy tắc kiểm soát truy cập được xác định trong hồ sơ được thi hành và bất kỳ nỗ lực vi phạm nào được ghi lại.
Phác thảo của một hồ sơ AppArmor trông như thế này:
#include <tunables/global>
/path/to/application {
[...]
}
Các #include
chỉ thị 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, sau đó được đưa vào hồ sơ của từng ứng dụng liên quan.
Các <tunables/global>
tập tin, tương ứng với /etc/apparmor.d/tunables/global
lần lượt bao gồm các định nghĩa nên có sẵn cho mọi hồ sơ. Một trong những bổ sung này bao gồm /etc/apparmor/tunables/home
, cùng với một @{HOME}/** rw
(hoặc chỉ thị tương tự) cấp các ứng dụng truy cập vào thư mục nhà của người dùng.
Nếu đây là trường hợp, để từ chối quyền truy cập vào một số tệp trong thư mục nhà của người dùng, người ta sẽ cần phải thêm một quy tắc hồ sơ để từ chối rõ ràng quyền truy cập vào các tệp . Điều này có thể được thực hiện bằng cách sử dụng lệnh deny
, chẳng hạn như trong ví dụ sau:
#include <tunables/global>
/path/to/application {
[...]
# Allow directory listings (i.e. 'r' on directories).
@{HOME}/ r
# This is needed for saving files in the home directory.
@{HOME}/** rw
# Revoke access to specific file
deny /home/user/file rwa
}
Việc từ chối truy cập read ( r
), write ( w
) và append ( a
) vào /home/user/file
.
Một cách khác là thêm các đường dẫn bạn muốn bảo vệ /etc/apparmor.d/abstractions/private-files
hoặc /etc/apparmor.d/abstractions/private-files-strict
đảm bảo hồ sơ AppArmor cho mỗi ứng dụng bị ảnh hưởng bao gồm <abstractions/private-files>
hoặc <abstraction/private-files-strict>
. Các tệp này phải chứa các quy tắc cho các tệp phổ biến cần được bảo vệ cho mục đích riêng tư hoặc các cân nhắc bảo mật khác.
Để biết danh sách đầy đủ các chi tiết chế độ truy cập và biết thêm thông tin về hồ sơ bảo mật AppArmor, hãy tham khảo apparmor.d
trang hướng dẫn và Hướng dẫn quản trị Novell AppArmor (pdf) .