Вероятно сте чували за AppArmor, докато инсталирате Ubuntu, но тъй като не е приложение, което се появява в менюто за приложения и не се появява в нито една графична форма, повечето от вас вероятно нямат представа какво прави и защо това е от съществено значение за вашата система. Накратко, AppArmor е модул за защита, който ограничава отделните програми до набор от изброени файлове и възможности, за да не причинят поражения на вашата система.

Какво е AppArmor?

AppArmor е система за задължително контролиране на достъпа (MAC), която ограничава програмите до ограничен набор от ресурси. Той ограничава програмите до набор от файлове, атрибути и възможности, така че не е в състояние да се впусне дълбоко в системата и да причини хаос (освен ако не е дадено разрешението). Вместо модела на UAC на Windows, който дава контрол на потребителите, AppArmor свързва атрибутите за контрол на достъпа до самата програма.

Как работи AppArmor

AppArmor работи на ниво ядро ​​и се зарежда по време на стартирането. Начинът, по който AppArmor обработва разрешението, е чрез профили. Профилите са набор от правила, които определят какво може и какво не може да направи програмата. Има два режима, които профилите могат да изпълняват: Изпълнение и оплакване . Режимът за изпълнение е стриктно изпълнение на политиката, определена в опитите за нарушаване на правилата за профила, както и за докладване на нарушения. Редът за жалби ще отчита само опитите за нарушаване на правилата, но не налага спазването на правилата. Повечето профили се зареждат в режим Изпълнение, макар че може да има и голям брой профили на трети страни, които се зареждат и в режима Complain.

Проверка на състоянието на AppArmor

Ако използвате Ubuntu 7.04 или по-нова версия, AppArmor е инсталирана по подразбиране и се зарежда при стартиране на компютъра. За да проверите състоянието на AppArmor, въведете следната команда в терминала:

 sudo apparmor_status 

Това е, което ще видите:

В моята система можете да видите, че в режим "Изпълнение" са заредени 17 профила и 4 приложения, които в момента се изпълняват от AppArmor.

Намиране на профили AppArmor с увреждания

В допълнение към тези профили, които се изпълняват при зареждане, има няколко профила, които са налице, но са деактивирани по подразбиране. Можете да ги проверите в папката "/etc/apparmor.d/disable". Оттук можете да видите, че профилите на Firefox и Rsyslogd не са активирани.

Профилът на Firefox вероятно е бил деактивиран, защото води до спад на ефективността в Firefox, но ако ви харесва включването на профила, за да можете да сърфирате в интернет с повече мир, ето как можете да го направите.

Отворете терминал и въведете:

 sudo aa-enforce /etc/apparmor.d/usr.bin.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 профил?

Докато профилите звучат като сложен софтуерен модул, той всъщност е прост текстов файл с включени файлови пътища, в които се посочват кои папки и директории може да има достъп до приложението. Така изглежда профилът eVince (лесно можете да кликнете върху всеки профил в папката "/etc/apparmor.d", за да го отворите в текстовия редактор).

Създаване на ваши собствени профили в приложението за заключване

Убунту е свършил доста добра работа, за да ви защити, но ако искате да ограничите персонализирано приложение, което не е защитено от Ubuntu, можете да създадете свой собствен потребителски профил, за да заключите приложението. Това е особено полезно при сървърно състояние, където много приложения се изпълняват във фонов режим, където не можете да ги видите.

Забележка : Преди да създадете свои собствени профили, най-добре е първо да разгледате съществуващата библиотека с профили AppArmor, за да проверите дали профилът за вашето приложение е налице. Можете също така да инсталирате " apparmor-profiles ", за да получите допълнителен списък с профили.

За да създадете собствени AppArmor профили, първо трябва да инсталирате "apparmor-utils".

 sudo apt-get инсталирате apparmor-utils 

След като инсталирате, изпълнете следната команда, за да започнете профилирането:

 sudo aa-genprof / път / към / приложение 

където "/ path / to / application" е пътят към файла към приложението, което искате да профилирате. Папката за приложения по подразбиране е "/ usr / bin", но може да бъде различна в зависимост от приложението.

На следващо място (като оставяте терминала в ход) стартирайте приложението, в което отивате в профила. За този пример използвам Крита. Използвайте приложението, както обикновено, всеки друг ден.

За всяко действие, което изпълнявате в приложението, върнете се към терминала и натиснете "Shift + s", за да го накарате да сканира за промени.

Оттук можете да видите пътя, до който се придвижва приложението, и тежестта на действието. След това можете да "позволите (A)" или "Deny (D)" действието.

Продължете да правите това за останалите действия, извършени върху приложението. За да получите най-добрия резултат, най-добре е да планирате списъка си с действия, преди да започнете профилирането.

Накрая, когато сте готови, натиснете "Shift + F", за да завършите профилирането и "Shift + s", за да запазите профила.

След като бъде създаден, профилът ще бъде запазен в папката "/etc/apparmor.d" и ще бъде зареден в режим Изпълнение.

Редактиране на профили

За да редактирате новосъздадения си потребителски профил, използвайте следната команда:

 sudo aa-logprof / път / към / приложение 

След това AppArmor ще сканира записите в дневника и ще ви позволи да правите промени в профила.

Спиране и рестартиране на AppArmor

Поради някои причини, които трябва да спрете или да рестартирате AppArmor, лесно можете да го направите

 Съновник 

и

 sudo услуга apparmor рестартиране # restart apparmor 

За повече информация относно AppArmor, разгледайте страницата Ubuntu AppArmor.

Книга за изображение: Рицар в блестящата броня