AppArmor е важна защитна функция, включена по подразбиране с Ubuntu от Ubuntu 7.10. Въпреки това, тя работи тихо във фонов режим, така че може да не сте наясно какво представлява и какво прави.
AppArmor заключва уязвимите процеси, ограничавайки уязвимостите в сигурността в тези процеси. AppArmor може да се използва и за заключване на Mozilla Firefox за по-голяма сигурност, но това не става по подразбиране.
AppArmor е подобно на SELinux, използвано по подразбиране във Fedora и Red Hat. Въпреки че работят по различен начин, AppArmor и SELinux осигуряват сигурност на "задължителния контрол на достъпа" (MAC). В действителност, AppArmor позволява на разработчиците на Ubuntu да ограничат действията, които процесите могат да предприемат.
Например, едно приложение, което е ограничено в конфигурацията по подразбиране на Ubuntu, е зрителят на Evince PDF. Докато Evince може да работи като потребителски акаунт, той може да предприема само конкретни действия. Evince има само минимум разрешения, необходими за стартиране и работа с PDF документи. Ако установихте уязвимост в документа за изображения на Евин и отворихте зловреден PDF документ, който пое Evince, AppArmor ще ограничи щетите, които Евин може да направи. В традиционния модел за сигурност на Linux, Евинс ще има достъп до всичко, до което имате достъп. С AppArmor, той има достъп само до неща, до които трябва да има достъп един PDF зрител.
AppArmor е особено полезно за ограничаване на софтуер, който може да бъде използван, като например уеб браузър или сървърен софтуер.
За да видите състоянието на AppArmor, изпълнете следната команда в терминал:
sudo apparmor_status
Ще видите дали AppArmor работи на вашата система (работи по подразбиране), AppArmor профилите, които са инсталирани, и ограничените процеси, които се изпълняват.
В AppArmor процесите са ограничени от профилите. Списъкът по-горе ни показва протоколите, инсталирани в системата - тези, които идват с Ubuntu. Можете също да инсталирате други профили, като инсталирате пакета apparmor-profiles. Някои пакети - сървърния софтуер например - могат да идват със собствени AppArmor профили, които са инсталирани в системата заедно с пакета. Можете също да създадете свои собствени профили на AppArmor, за да ограничите софтуера.
Профилите могат да се изпълняват в "режим на оплакване" или "режим налагане". В режим "сила" - настройката по подразбиране за профилите, които идват с Ubuntu - AppArmor, не позволява на приложенията да предприемат ограничени действия. В режим на оплакване, AppArmor позволява на приложенията да предприемат ограничени действия и създава регистрационен запис, който се оплаква от това. Режимът на оплакване е идеален за тестване на потребителския профил на AppArmor, преди да го активирате в режим за налагане - ще видите каквито и да било грешки, които биха възникнали в режим на изпълнение.
Профилите се съхраняват в директорията /etc/apparmor.d. Тези профили са обикновен текстови файлове, които могат да съдържат коментари.
Може да забележите, че AppArmor идва с Firefox профил - това е usr.bin.firefox файл в /etc/apparmor.d директория. Той не е активиран по подразбиране, тъй като може да ограничи твърде много Firefox и да причини проблеми. Най- /etc/apparmor.d/disable папката съдържа връзка към този файл, показвайки, че е деактивирана.
За да активирате Firefox профила и да ограничите Firefox с AppArmor, изпълнете следните команди:
sudo rm /etc/apparmor.d/disable/usr.bin.firefox
котка /etc/apparmor.d/usr.bin.firefox | sudo apparmor_parser -a
След като изпълните тези команди, стартирайте sudo apparmor_status командата отново и ще видите, че профилите на Firefox вече са заредени.
За да деактивирате профила в Firefox, ако причинява проблеми, изпълнете следните команди:
sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
За по-подробна информация относно използването на AppArmor вижте официалната страница на Ubuntu Server Guide на AppArmor.