Hiểu về AppArmor trong Ubuntu [Linux]
Bạn có thể đã nghe nói về AppArmor trong khi bạn đang cài đặt Ubuntu, nhưng vì nó không phải là một ứng dụng hiển thị trong Menu ứng dụng và nó không xuất hiện ở bất kỳ dạng đồ họa nào, hầu hết bạn có thể không biết nó làm gì và tại sao nó là điều cần thiết cho hệ thống của bạn. Tóm lại, AppArmor là một mô-đun bảo mật giới hạn các chương trình riêng lẻ cho một tập hợp các tệp được liệt kê và các khả năng để chúng không tàn phá trên hệ thống của bạn.
AppArmor là gì?
AppArmor là một hệ thống kiểm soát truy cập bắt buộc (MAC) giới hạn các chương trình cho một tập hợp các nguồn tài nguyên hạn chế. Nó hạn chế các chương trình thành một tập hợp các tập tin, thuộc tính và khả năng để nó không thể đi sâu vào hệ thống và tàn phá (trừ khi nó được cho phép). Thay vì mô hình UAC của Windows cung cấp quyền kiểm soát cho người dùng, AppArmor ràng buộc các thuộc tính kiểm soát truy cập vào chính chương trình đó.
Cách hoạt động của AppArmor
AppArmor làm việc ở cấp hạt nhân và nó tải trong quá trình khởi động. Cách AppArmor xử lý sự cho phép là thông qua Profiles. Hồ sơ là một bộ quy tắc xác định những gì chương trình có thể và không thể làm. Có hai chế độ mà Hồ sơ có thể chạy: Thi hành và Khiếu nại . Chế độ Thực thi là việc thực thi nghiêm ngặt chính sách được xác định trong hồ sơ cũng như các lần vi phạm chính sách báo cáo. Chế độ khiếu nại sẽ chỉ báo cáo các nỗ lực vi phạm chính sách, nhưng không thực thi chính sách. Hầu hết các cấu hình được nạp trong chế độ Thực thi, mặc dù có thể có một số lượng tốt các cấu hình của bên thứ ba được nạp trong chế độ Khiếu nại.
Kiểm tra trạng thái AppArmor của bạn
Nếu bạn đang sử dụng Ubuntu 7.04 trở lên, AppArmor được cài đặt theo mặc định và tải khi bạn khởi động máy tính. Để kiểm tra trạng thái AppArmor, gõ lệnh sau vào terminal:
sudo apparmor_status
Đây là những gì bạn sẽ thấy:
Trong hệ thống của tôi, bạn có thể thấy rằng có 17 cấu hình được nạp trong chế độ Enforcement và 4 tiến trình đang chạy được thực thi bởi AppArmor.
Tìm hồ sơ AppArmor bị tắt
Ngoài các cấu hình chạy trên khởi động, có một số cấu hình có sẵn nhưng bị tắt theo mặc định. Bạn có thể kiểm tra chúng tại thư mục “/etc/apparmor.d/disable”. Từ đây, bạn có thể thấy rằng Firefox và các cấu hình Rsyslogd không được kích hoạt.
Hồ sơ Firefox có lẽ đã bị vô hiệu hóa vì nó dẫn đến một sự sụt giảm hiệu suất trong Firefox, nhưng nếu bạn muốn bật Hồ sơ để bạn có thể lướt web an toàn hơn, dưới đây là cách bạn có thể làm như vậy.
Mở một terminal và gõ:
sudo aa-enforce /etc/apparmor.d/usr.bin.firefox
Để tắt nó lần nữa:
sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
Cấu hình AppArmor trông như thế nào?
Mặc dù Profiles có vẻ giống như một mô-đun phần mềm phức tạp, nhưng nó thực sự là một tệp văn bản đơn giản với các đường dẫn tệp được liệt kê cho biết thư mục và thư mục nào ứng dụng có thể truy cập. Đây là cách profile của eVince trông như thế nào (bạn có thể dễ dàng bấm vào bất kỳ profile nào trong thư mục “/etc/apparmor.d” để mở nó trong trình soạn thảo văn bản của bạn).
Tạo hồ sơ của riêng bạn để khóa ứng dụng
Ubuntu đã thực hiện một công việc khá tốt để bảo vệ bạn, nhưng nếu bạn muốn hạn chế một ứng dụng tùy chỉnh không được bảo vệ bởi Ubuntu, bạn có thể tạo hồ sơ của riêng bạn để khóa ứng dụng. Điều này đặc biệt hữu ích trong điều kiện máy chủ, nơi nhiều ứng dụng đang chạy trong nền mà bạn không thể nhìn thấy nó.
Lưu ý : Trước khi bạn tạo hồ sơ của riêng mình, tốt nhất là trước tiên hãy xem thư viện hồ sơ AppArmor hiện có để kiểm tra xem hồ sơ cho ứng dụng của bạn có sẵn hay không. Bạn cũng có thể cài đặt “ apparmor-profiles
” để có thêm một danh sách các profile.
Để tạo hồ sơ AppArmor của riêng bạn, trước tiên bạn phải cài đặt “apparmor-utils”.
sudo apt-get cài đặt apparmor-utils
Sau khi cài đặt, hãy chạy lệnh sau để bắt đầu lược tả:
sudo aa-genprof / đường dẫn / đến / ứng dụng
trong đó "/ path / to / application" là đường dẫn tệp đến ứng dụng mà bạn muốn cấu hình. Thư mục ứng dụng mặc định là "/ usr / bin", nhưng nó có thể khác nhau tùy thuộc vào ứng dụng.
Tiếp theo, (rời khỏi thiết bị đầu cuối đang chạy) khởi động ứng dụng mà bạn đang đi đến hồ sơ. Trong ví dụ này, tôi đang sử dụng Krita. Sử dụng ứng dụng như bạn thường làm vào bất kỳ ngày nào khác.
Đối với mỗi hành động bạn thực hiện trên ứng dụng, quay lại thiết bị đầu cuối và nhấn “Shift + s” để làm cho nó quét tìm các thay đổi.
Từ đây, bạn có thể thấy đường dẫn mà ứng dụng đang truy cập và mức độ nghiêm trọng của hành động. Sau đó, bạn có thể “Cho phép (A)” hoặc “Từ chối (D)” hành động.
Tiếp tục làm điều này cho phần còn lại của các hành động được thực hiện trên ứng dụng. Để có được kết quả tốt nhất, tốt nhất là bạn nên lên kế hoạch cho danh sách các hành động trước khi bắt đầu lược tả.
Cuối cùng, khi bạn hoàn thành, nhấn “Shift + F” để Hoàn thành hồ sơ và “Shift + s” để lưu Hồ sơ.
Khi được tạo, hồ sơ sẽ được lưu trong thư mục “/etc/apparmor.d” và sẽ được tải trong chế độ Thực thi.
Chỉnh sửa tiểu sử
Để chỉnh sửa hồ sơ mới được tạo của bạn, hãy sử dụng lệnh sau:
sudo aa-logprof / đường dẫn / đến / ứng dụng
AppArmor sau đó sẽ quét các mục nhập nhật ký và cho phép bạn thực hiện thay đổi đối với cấu hình.
Dừng và khởi động lại AppArmor
Đối với một số lý do mà bạn cần phải dừng hoặc khởi động lại AppArmor, bạn có thể dễ dàng làm điều đó với
dịch vụ sudo apparmor stop #stop apparmor
và
sudo service apparmor restart #restart apparmor
Để biết thêm thông tin về AppArmor, hãy xem trang Ubuntu AppArmor.
Hình ảnh: Knight in Shining Armor