Кіріспе

Linux ядросының AppArmor ("Application Armor") қауіпсіздік модулі – жүйе әкімшісіне бағдарламалардың мүмкіндіктерін бағдарламалық профильдер арқылы шектеуге мүмкіндік беретін Linux ядросының қауіпсіздік модулі. Профильдер желіге қол жеткізу, шикі сокеттерге қол жеткізу және сәйкес келетін жолдардағы файлдарды оқу, жазу немесе орындау құқығын беруге мүмкіндік береді. AppArmor дәстүрлі Unix дискрециялық кіруді бақылау (DAC) моделін міндетті кіруді бақылау (MAC) жүйесімен толықтырады. Ол 2.6.36 нұсқасынан бастап Linux ядросының негізгі бөлігіне ішінара қосылған және оның дамуын Canonical 2009 жылдан бері қолдап келеді.

Егжей-тегжейлер

Профильдерді қолмен жасаудан басқа, AppArmor-да оқу режимі бар, онда профиль бұзушылықтары тіркеледі, бірақ тоқтатылмайды. Бұл тізімді бағдарламаның қалыпты жұмысына негізделген AppArmor профилін жасау үшін пайдалануға болады. AppArmor Linux Security Modules (LSM) ядролық интерфейсі арқылы іске асырылады. AppArmor, әкімшілерге орнату және күтіп ұстау қиындық тудырады деп сыншылар санайтын SELinux-қа балама ретінде ұсынылады. SELinux файлдарға белгілер қоюға негізделгенімен, AppArmor файлдық жолдармен жұмыс істейді. AppArmor-ды жақтаушылар оның SELinux-қа қарағанда қарапайым пайдаланушыға оңай оқытылатынын және аз күрделі екенін айтады. Сондай-ақ, AppArmor-ға қолданыстағы жүйелермен жұмыс істеу үшін азырақ өзгеріс қажет екенін мәлімдейді. Мысалы, SELinux "қауіпсіздік белгілерін" қолдайтын файлдық жүйені талап етеді, сондықтан NFS арқылы орнатылған файлдарға қол жеткізуді басқара алмайды. AppArmor файлдық жүйеге тәуелді емес.

Басқа жүйелер

AppArmor орнатылған бағдарламалық қамтамасының іс-әрекеттерін шектеу мәселесіне қатысты бірнеше мүмкін тәсілдің бірі болып табылады. SELinux жүйесі көбінесе AppArmor-ға ұқсас тәсіл қолданады. Бір маңызды айырмашылық: SELinux файлдық жүйенің объектілерін жолдың орнына inode нөмірі арқылы анықтайды. AppArmor-да қол жетімді емес файлға қатты сілтеме жасалса, ол қолжетімді бола алады. Бұл айырмашылық бұрынғыдан кем маңызды болуы мүмкін, себебі Ubuntu 10.10 және одан кейінгі нұсқалары осы мәселені Яма деп аталатын қауіпсіздік модулі арқылы шешеді, ол басқа дистрибутивтерде де қолданылады. SELinux-тың inode-ге негізделген моделі әрқашан жаңа құрылған қатты сілтемелер арқылы қол жеткізуге тыйым салады, өйткені қатты сілтеме қол жетімді емес inode-қа сілтеме жасайды. SELinux және AppArmor басқару және жүйеге енгізілу әдістері жағынан да айтарлықтай ерекшеленеді. Процестерді оқшаулау виртуализация сияқты механизмдер арқылы да жүзеге асырылуы мүмкін; мысалы, One Laptop per Child (OLPC) жобасы жеңіл Vserver-де жеке қолданбаларды құмдыққа (sandbox) орналастырады. 2007 жылы оңайлатылған міндетті кіруді бақылау ядросы енгізілді. 2009 жылы Linux 2.6.30-ға Tomoyo деп аталатын жаңа шешім қосылды; AppArmor сияқты, ол да жолға негізделген кіруді басқаруды қолданады.

Қолжетімділік

AppArmor алғаш рет 1998–2003 жылдары Immunix Linux жүйесінде қолданылды. Ол кезде AppArmor SubDomain деп аталды, бұл атау белгілі бір бағдарламаның қауіпсіздік профилін әртүрлі домендерге бөлу мүмкіндігіне сілтеме жасайды, бағдарлама олардың арасында динамикалық түрде ауыса алады. AppArmor алғаш рет SLES және openSUSE жүйелерінде қолжетімді болды және SLES 10 және openSUSE 10.1 нұсқаларында әдепкі бойынша қосылды. 2005 жылдың мамыр айында Novell Immunix компаниясын сатып алып, SubDomain атауын AppArmor деп өзгертті және Linux ядросына енгізу үшін кодты тазалау және қайта жазу жұмыстарын бастады. 2005 жылдан 2007 жылдың қыркүйегіне дейін AppArmor Novell компаниясымен қолдауға алынды. Novell компаниясын SUSE сатып алды, қазіргі таңда AppArmor сауда белгісінің заңды иесі олар. AppArmor алғаш рет Ubuntu үшін 2007 жылдың сәуір айында сәтті портталды/жинақталды. AppArmor Ubuntu 7.10 нұсқасынан бастап әдепкі пакетке айналды және Ubuntu 8.04 нұсқасымен бірге келді, әдепкі бойынша тек CUPS-ты қорғайды. Ubuntu 9.04 нұсқасынан бастап MySQL сияқты қосымша элементтерге де профильдер орнатылды. AppArmor қауіпсіздігін арттыру Ubuntu 9.10 нұсқасында да жалғасты, өйткені ол қонақ сессиясының профильдерімен, libvirt виртуалды машиналарымен, Evince құжат қараушысымен және Firefox профилімен бірге келеді. AppArmor 2010 жылдың қазан айындағы 2.6.36 ядролық нұсқасына енгізілді. AppArmor 2014 жылдан бастап Synology DSM жүйесінің 5.1 бета нұсқасына біріктірілді. AppArmor 2017 жылдың 15 тамызында Solus Release 3 нұсқасында қосылды. AppArmor 2019 жылдың шілдесінде шыққан Debian 10 (Buster) нұсқасында әдепкі бойынша қосылған. AppArmor Arch Linux жүйесінің қосымша репозиторийінде қолжетімді.