Відповіді:
Apparmor - це система обов'язкового контролю доступу (або MAC). Він використовує вдосконалення ядра LSM для обмеження програм певними ресурсами. AppArmor робить це з профілями, завантаженими в ядро при запуску системи. Apparmor має два типи профільних режимів, правозастосування та скарги. Профілі в режимі правозастосування застосовують правила цього профілю та повідомляють про спроби порушення в syslog
або auditd
. Профілі в режимі скарги не застосовують жодних правил профілю, а лише спроби порушення журналу.
У Ubuntu Apparmor встановлений за замовчуванням. Він обмежує програми на профілі, щоб визначити, до яких файлів та дозволів програма має доступ. Деякі програми поставляться із власними властивостями, а більше можна знайти в apparmor-profiles
упаковці.
Ви можете встановити apparmor-profiles
, запустивши sudo apt-get install apparmor-profiles
.
Я знайшов хороший приклад Apparmor на форумах Ubuntu, які я переписав для цієї публікації.
Apparmor - це система безпеки, яка не дозволяє додаткам перетворюватися на злі. Наприклад: Якщо я запускаю Firefox і відвідую поганий сайт, який намагається встановити зловмисне програмне забезпечення, яке видалить мою
home
папку, Apparmor має обмеження щодо Firefox, хоча перешкоджає виконувати все, що я не хочу (наприклад, отримувати доступ до своєї музики, документів тощо). Таким чином, навіть якщо ваша програма порушена, шкоди не завдати.
apparmor-utils
Пакет містить інструменти командного рядка для налаштування AppArmor. За допомогою нього ви можете змінити режим виконання Apparmor, знайти статус профілю, створити нові профілі тощо.
Це найпоширеніші команди:
Примітка. Профілі зберігаються в/etc/apparmor.d/
sudo apparmor_status
. Ви отримаєте перелік усіх завантажених профілів *, усіх профілів у режимі примусового виконання, усіх профілів у режимі подання скарг, які процеси визначені при застосуванні / скаргах тощо. sudo aa-complain /path/to/bin
, де /path/to/bin
знаходиться bin
папка програм . Наприклад, запуск: sudo aa-complain /usr/bin/firefox
переведе Firefox у режим скарги.sudo aa-enforce /path/to/bin
для застосування профілю програми. sudo aa-complain /etc/apparmor.d/*
і sudo aa-enforce.d/*
відповідно. Для завантаження профілю в ядро ви б використовували apparmor_parser
. Ви можете перезавантажити профілі за допомогою -r
параметра.
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
який ефективно друкує вміст profile.name
в аналізаторі Apparmor.-r
параметр, наприклад:cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
sudo service apparmor reload
Щоб відключити профіль, зв'язати його з /etc/apparmor.d/disable/
допомогою ln
так: sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/
запустіть: sudo apparmor_parser -R /etc/apparmor.d/profile.name
.
Примітка: Не плутайте їхapparmor_parser -r
зapparmor_parser -R
НЕ ІСНЕЮ РЕЧОМ!
/etc/apparmor.d/disable/
а потім завантажте його за допомогою -a
параметра.sudo rm /etc/apparmor.d/disable/profile.name
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
sudo service apparmor stop
та видалити модуль ядра за допомогоюsudo update-rc.d -f apparmor defaults
sudo service apparmor start
та завантажте модулі ядра за допомогоюsudo update-rc.d apparmor defaults
Профілі зберігаються в /etc/apparmor.d/
і називаються по повному шляху до виконуваного ними профілю, замінюючи "/" на "." Наприклад /etc/apparmor.d/bin.ping
, профіль для ping
в /bin
.
Існує два основних типи записів, які використовуються в профілях:
Записи шляху визначають, до яких файлів може отримати доступ програма.
Записи можливостей визначають, якими привілеями може користуватися процес.
Розглянемо як приклад профіль ping
, розташований у etc/apparmor.d/bin.ping
ньому.
#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>
Включає файл global
у каталог tunables
, це дозволяє розміщувати заяви, що відносяться до декількох додатків, у загальний файл.
/bin/ping flags=(complain)
встановлює шлях до профільованої програми та встановлює режим для скарги.
capability net_raw
дозволяє додатку отримати доступ до CAP_NET_RAW Posix.1e
можливостей.
/bin/ping mixr
дозволяє програмі читати та виконувати доступ до файлу.
/etc/modules.conf r,
r
Дає додаток читання привілеї для/etc/modules.conf
Примітка. Після створення / редагування профілю вам потрібно перезавантажити профіль, щоб зміни набрали чинності.
Ось перелік дозволів, якими ви можете скористатися:
r
- читайте w
- пишіть ux
- Вимушене виконання Ux
- Unconstrained Execute - очистити середовище px
- Виконання дискретного профілю Px
- Виконання дискретного профілю - очищення середовища ix
- Успадкову страту m
- дозволяти PROT_EXEC
з mmap(2)
дзвінками l
- посиланняAppArmor - це система обов'язкового контролю доступу (MAC), яка є розширенням ядра (LSM) для обмеження програм обмеженим набором ресурсів. Модель безпеки AppArmor полягає в прив'язуванні атрибутів управління доступом до програм, а не до користувачів. Приміщення AppArmor надається через профілі, завантажені в ядро, як правило, під час завантаження. Профілі AppArmor можуть бути в одному з двох режимів: примусовому виконанні та поданні скарги. Профілі, завантажені в режимі примусового виконання, призведуть до виконання політики, визначеної у профілі, а також до повідомлення про спроби порушення політики (або через syslog, або через аудит). Профілі в режимі скарги не застосовуватимуть політику, а натомість повідомляють про спроби порушення політики.
AppArmor відрізняється від інших MAC-систем у Linux тим, що він базується на шляхах, дозволяє змішувати профілі режиму примусового виконання та скарги, використовує файли, що полегшують розробку та мають набагато нижчий бар'єр для входу, ніж інші популярні системи MAC.
AppArmor - це усталена технологія, спочатку помічена в Immunix, а згодом інтегрована в Ubuntu, Novell / SUSE та Mandriva. Функція Core AppArmor знаходиться в основному ядрі Linux з 2.6.36; триває робота AppArmor, Ubuntu та інших розробників для об'єднання додаткового функціоналу AppArmor у основне ядро.
Я отримав ще кілька корисних посилань на вас: Wiki.Ubuntu.com Ubuntuforums.org
Посібники Apparmor для Ubuntu 12.04 та Ubuntu 12.10
Сподіваюся, що тобі допоможе.
Ось цитата з вікі Apparmor :
AppArmor - це ефективна і проста у користуванні система захисту додатків Linux. AppArmor активно захищає операційну систему та додатки від зовнішніх чи внутрішніх загроз, навіть атак з нульовим днем, забезпечуючи належну поведінку та запобігаючи експлуатації навіть невідомих недоліків додатків. Політика безпеки AppArmor повністю визначає, до яких системних ресурсів можуть отримати доступ окремі програми та які привілеї. До AppArmor включено ряд політик за замовчуванням, і за допомогою комбінації сучасних статичних аналізів та інструментів, заснованих на навчанні, політики AppArmor для навіть дуже складних програм можуть успішно розгортатися за лічені години.