Thứ Tư, 28 tháng 12, 2016

Cơ bản về Apparmor

Baì viết được thực hiện trên
thanhnguyen@thanhnguyen:~$ lsb_release -r
Release: 14.04
1. Giới thiệu chung

Apparmor là một security tool, sử dụng name-based Mandatory Access Control, có nhiệm vụ giới hạn khả năng truy cập vào tài nguyên hệ thống của các "at risk" applications. "at risk" applications bao gồm tất cả các application với network access, tiềm ẩn các nguy cơ về bảo mật. Khi config apparmor cho một application, application đó sẽ không thể truy cập vào một file hay một thư mục nếu vi phạm các rules đã được config.

Ví dụ, khi config apparmor cho clamav (antivirus software), có thể:

    - cho phép clamav scan các thư mục A, B, C
    - không cho phép clamav scan các thư mục D, E, F

Apparmor là một tool cực kì mạnh, thậm chí nó có thể giới hạn được các activities của user root. 

Apparmor được config bằng cách tạo một profile file cho application tương ứng. Profile file là một file text, trong có chứa các rules quy định việc application đó có quyền truy cập vào các thư mục (hoặc file) hay không.

bởi default, apparmor đã được cài sẵn trong các phiên bản ubuntu 8.04 và mới hơn. Tuy nhiên, theo default, chỉ có một số rất ít các application đã được config apparmor sẵn. ví dụ, ubuntu 9.04 chỉ bao gồm 7 profiles cho dhclient-script (listed twice), dhclient3, cupsd, tcpdump, cups-pdf, nm-dhcp-clinet.action {basically cpus, dhclient, and tcpdump}

Tuy nhiên, chúng ta có thể config apparmor cho bất kì application nào chúng ta muốn bằng cách:

    - install apparmor-profiles by:
sudo apt-get install apparmor-profiles
    - add profile files cho app đó.

Tất cả các profile files sẽ được lưu trữ trong /etc/apparmor.d/

Profile là tên của app, full path và được thay thế '/' bởi '.' (đây là lý do tại sao nói apparmor là một security tool sử dụng name-based Mandatory Access Control).
thanhnguyen@thanhnguyen:~$ ls /etc/apparmor.d/usr.bin.firefox
/etc/apparmor.d/usr.bin.firefox
thanhnguyen@thanhnguyen:~$ which firefox
/usr/bin/firefox
Chi tiết về profile file, tham khảo tại:
https://ubuntuforums.org/showthread.php?t=1008906&p=6353899#post6353899

Note: Phần cuối profile, luôn có các dòng như sao (ví dụ với profile của firefox):
  # Site-specific additions and overrides. See local/README for details.
  #include <local/usr.bin.firefox>
/etc/apparmor.d/usr.bin.firefox file đã được include file <local/usr.bin.firefox>. Khi muốn add thêm các rules cho firefox, có thể add thêm vào file /etc/apparmor.d/local/usr.bin.firefox (chứ không add vào /etc/apparmor.d/usr.bin.firefox)
thanhnguyen@thanhnguyen:~$ cat /etc/apparmor.d/local/usr.bin.firefox
# Site-specific additions and overrides for usr.bin.firefox.
# For more details, please see /etc/apparmor.d/local/README.
Sau khi add một profile mới, profile cần được reload tới kernel. Có thể dùng một trong hai cách sau:

    - restart apparmor service
    - sử dụng apparmor_parser command    
sudo apparmor_parser -r /etc/apparmor.d/<profile>
2. Các chế độ thực thi (enforcement modes)

Enfore mode: trong chế độ này, Apparmor sẽ mornitor app và logs ra các vi phạm. Nếu một operation vi phạm một trong các rules đã được config trong profile, operation đó sẽ bị denied.

Complain mode: trong chế độ này, Apparmor sẽ mornitor app và logs ra các vi phạm. Tuy nhiên, nếu một operation vi phạm một trong các rules đã được config trong profile operation đó sẽ KHÔNG bị denied.

Tài liệu tham khảo:
https://ubuntuforums.org/showthread.php?t=1008906

Không có nhận xét nào:

Đăng nhận xét