AppArmor

Výukový program pre Debian AppArmor

Výukový program pre Debian AppArmor
AppArmor je povinný systém riadenia prístupu pre Linux. V povinnom systéme kontroly prístupu (MAC) ukladá jadro obmedzenia na cesty, zásuvky, porty a rôzne vstupné / výstupné mechanizmy. Bol vyvinutý spoločnosťou Immunex a v súčasnosti je udržiavaný spoločnosťou SUSE. Je súčasťou jadra Linuxu od verzie 2.6.36.

Zatiaľ čo jadro Linuxu poskytuje dobrú izoláciu používateľov a silnú kontrolu nad oprávnením k súborom, MAC ako AppArmor poskytuje jemnejšie usporiadané povolenia a ochranu pred mnohými neznámymi hrozbami. Ak sa v jadre systému Linux alebo v inom systémovom démonovi zistí chyba zabezpečenia, dobre nakonfigurovaný systém AppArmor môže zabrániť prístupu na kritické cesty, ktoré by mohli byť problémom zraniteľné.

AppArmor môže efektívne pracovať v dvoch režimoch - vynucovanie a sťažovanie sa. Vynútiť je predvolený produkčný stav aplikácie AppArmor, zatiaľ čo sťažovanie sa je užitočné pri vývoji sady pravidiel založenej na skutočných operačných vzorcoch a pri porušovaní protokolovania. Konfiguruje sa prostredníctvom súborov obyčajného textu v relatívne priateľskom formáte a má kratšiu krivku učenia ako väčšina ostatných povinných systémov kontroly prístupu.

Inštalácia

Ak chcete nainštalovať AppArmor na Debian, spustite (ako root):

apt nainštalovať apparmor apparmor-utils auditd

Ak nepotrebujete nástroje na generovanie profilov, môžete auditd vynechať.

Ak chcete nainštalovať štartér a ďalšie profily, spustite:

apt nainštalovať apparmor-profiles apparmor-profiles-extra

Pretože AppArmor je modul jadra Linuxu, musíte ho povoliť pomocou nasledujúcich príkazov:

mkdir -p / etc / default / grub.d

Vytvorte súbor / etc / default / grub.d / apparmor.cfg s nasledujúcim obsahom:

GRUB_CMDLINE_LINUX_DEFAULT = "$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 1 zabezpečenie = apparmor"

Uložte a ukončite, potom spustite:

update-grub

Potom reštartujte počítač.

Diskutuje sa, či by sa to malo robiť automaticky. Možno budete chcieť nahliadnuť na koniec tohto hlásenia o chybe, aby ste zistili, či sa to od doby písania tohto článku zmenilo.

Po reštarte môžete skontrolovať, či je AppArmor povolený spustením:

aa-status

Tento príkaz zobrazí zoznam načítaných profilov AppArmor a zoznam ich aktuálneho stavu súladu (vynútené, sťažnosti atď.).)

Ak spustíte:

ps auxZ | grep -v '^ neobmedzené'

Zobrazí sa zoznam programov, ktoré sú obmedzené profilom AppArmor. Uzavretý program je program, ktorý je ovplyvnený a obmedzený (buď pasívne, v sťažnom režime alebo aktívne v vynútenom režime) aplikáciou AppArmor.

Zmena režimov / zakázanie AppArmor

Ak chcete zakázať AppArmor, pretože program nefunguje, môžete zvážiť umiestnenie profilu do režimu sťažnosti namiesto do režimu vynútenia. Spustíte to (ako root alebo cez sudo):

aa-sťažnosť / cesta / do / programu

Ak napríklad ping nebude fungovať správne, použite:

aa-sťažnosť / usr / bin / ping

Akonáhle je profil v režime sťažovania, môžete skontrolovať protokolovanie cez / var / log / syslog alebo pomocou journalctl -xe na systémových systémoch (Debian 8.x, Jessie a vyššie).

Po úprave profilu, aby ste odstránili alebo upravili obmedzenie, môžete znova zapnúť vynútiteľný režim pre binárne súbory pomocou:

aa-vynútiť / cesta / do / programu

Vo vyššie uvedenom príklade nahraďte / path / to / program úplnou cestou k binárnemu súboru ovplyvnenému daným profilom.

Ak máte problém s programom a je v režime sťažovania, protokoly poskytnú konkrétne informácie o tom, aká akcia bola odmietnutá. V operačnom poli bude vysvetlené, o čo sa program pokúsil, v poli profilu konkrétny ovplyvnený profil, v názve bude uvedený cieľ akcie (i.e. aký súbor bol zastavený operáciou čítania alebo zápisu) a požadované a odmietnuté masky označujú, či bola operácia, či už požadovaná programom alebo zamietnutá podľa profilu, prečítaná alebo čítaná a zapísaná.

Profil môžete úplne zakázať spustením:

aa-disable / cesta / k / programu

Alebo môžete AppArmor úplne zakázať úpravou súboru: / etc / default / grub.d / apparmor.cfg obsahovať:

GRUB_CMDLINE_LINUX_DEFAULT = ”$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 0”

Potom beží:

update-grub

A reštartujte systém.

Práca s profilmi AppArmor

Profily AppArmor sú umiestnené v / etc / apparmor.d / adresár. Ak nainštalujete balík balíkov apparmor-profiles a apparmor-profiles-extra, profily nájdete v adresári / usr / share / doc / apparmor-profiles a / usr / share / doc / apparmor-profiles / extra. Ak ich chcete aktivovať, skopírujte súbory do / etc / apparmor.d potom ich upravte, aby obsahovali požadované hodnoty, uložte a spustite:

znovu načítať službu

Ak chcete znovu načítať iba jeden profil, spustite:

apparmor_parser -r / etc / apparmor.d / profil

Kde „profil“ je názov príslušného profilu.

Neodporúča sa iba kopírovať profily a ďalšie profily do súboru / etc / apparmor.d bez ich ručnej úpravy. Niektoré profily môžu byť staré a niektoré určite neobsahujú požadované hodnoty. Ak ich všetky skopírujete, prinajmenšom ich nastavte tak, aby sa sťažovali, aby ste mohli monitorovať porušenia bez porušenia produkčných programov:

cd / etc / apparmor.d
pre f v *.*; urobte sťažnosť / etc / apparmor.d / $ f; hotový

Príkaz aa-enforce môžete použiť jednotlivo na povolenie profilov, ktoré chcete zachovať, naladenie tých, ktoré spôsobujú problémy, a ich vynútenie, alebo na odstránenie tých, ktoré nepotrebujete, spustením aa-disable alebo odstránením súboru profilu z / etc / apparmor.d.

Vytvorenie profilu AppArmor

Pred vytvorením vlastného profilu budete chcieť prehľadať súbor / etc / apparmor.adresáre d a / usr / share / doc / apparmor-profiles pre existujúci profil, ktorý pokrýva daný binárny súbor. Ak ich chcete vyhľadať, spustite:

nájsť / usr / share / doc / apparmor-profiles | grep “program” -i

Vymeniť program s programom, ktorý chcete chrániť pomocou AppArmor. Ak nejaký nájdete, skopírujte ho do adresára / etc / apparmor.da upravte súbor vo svojom obľúbenom textovom editore.

Každý profil sa skladá z troch hlavných častí: obsahuje, možnosti a cesty. Užitočný odkaz nájdete v dokumentácii SuSE.

Zahŕňa

Zahŕňa poskytnutie syntaxe, ktorú môžete použiť vo vnútri súboru. Používajú syntax C / C ++ #include <> a zvyčajne odkazujú na abstrakcie nájdené v / etc / apparmor.adresár d / abstrakcie.

Schopnosti

Sekcia schopností, ktorá sa zvyčajne nachádza po zahrnutí, obsahuje zoznam konkrétnych schopností, ktoré môže program vykonávať. Môžete napríklad nechať program vykonať operáciu setuid s:

spôsobilosť setuid

Schopnosť net_bind_service umožňuje programu viazať sa na sieťový port. Ak to neudelíte, serverový démon ako Apache nemôže otvoriť port 80 a počúvať. Vynechanie tejto funkcie však môže poskytnúť vynikajúce zabezpečenie procesov, ktorým v sieti nedôverujete.

Cesty

Môžete uviesť cesty, ktoré je program schopný čítať (a prípadne písať). Napríklad ak chcete povoliť programu prístup k súboru / etc / passwd, pridajte:

/ etc / passwd r

V profile. Poznamenajte si „r“ - to znamená iba na čítanie. Ak zmeníte toto na „w“, bude povolené písanie na túto cestu alebo súbor.

Aj keď v AppArmor povolíte cestu, stále podlieha obmedzeniam systému súborov Linux (t.j.e. sada s chmod, chgrp a chown). AppArmor však aj tak poskytne ďalšiu vrstvu ochrany, ak by boli tieto mechanizmy narušené.

Záver

Kľúčom k úspešnému nasadeniu AppArmor je nastavenie profilov na sťažnosti a následné vynútenie. Starostlivé preskúmanie protokolu vám poskytne minimálne cesty a schopnosti potrebné na úspešnú prevádzku programu. Priradením týchto a ďalších položiek dramaticky zvýšite bezpečnosť vášho systému.

Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z najpopulárnejších obchodných simulačných hier. V tejto hre musíte vytvoriť úžasné dopravné podnikanie. Začnete však na začiatku ok...
Hry SuperTuxKart pre Linux
SuperTuxKart pre Linux
SuperTuxKart je vynikajúci titul navrhnutý tak, aby vám priniesol zážitok z hry Mario Kart zadarmo na vašom systéme Linux. Je to dosť náročné a zábavn...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...