„AppArmor“

„Debian AppArmor“ mokymo programa

„Debian AppArmor“ mokymo programa
„AppArmor“ yra privaloma „Linux“ prieigos kontrolės sistema. Privalomoje prieigos kontrolės sistemoje (MAC) branduolys nustato apribojimus keliams, lizdams, prievadams ir įvairiems įvesties / išvesties mechanizmams. Jį sukūrė „Immunex“, o dabar jį prižiūri SUSE. Nuo 2 versijos jis buvo „Linux“ branduolio dalis.6.36.

Nors „Linux“ branduolys užtikrina gerą vartotojų izoliaciją ir tvirtą failų leidimų valdymą, MAC, pvz., „AppArmor“, suteikia daugiau smulkių leidimų ir apsaugą nuo daugelio nežinomų grėsmių. Jei saugos pažeidžiamumas randamas „Linux“ branduolyje ar kitame sistemos demone, gerai sukonfigūruota „AppArmor“ sistema gali užkirsti kelią patekti į kritinius kelius, kurie gali būti pažeidžiami šiai problemai.

„AppArmor“ gali efektyviai dirbti dviem būdais - vykdyti ir skųstis. Vykdyti yra numatytoji „AppArmor“ gamybos būsena, o skundas yra naudingas kuriant taisyklių rinkinį, pagrįstą realiais operacijų modeliais, ir registruojant pažeidimus. Jis sukonfigūruotas naudojant paprasto teksto failus gana draugišku formatu ir turi trumpesnę mokymosi kreivę nei dauguma kitų privalomų prieigos kontrolės sistemų.

Montavimas

Norėdami įdiegti „AppArmor“ į „Debian“, paleiskite (kaip root):

apt install apparmor apparmor-utils auditd

Galite nepraleisti audito, jei jums nereikia profilio generavimo įrankių.

Jei norite įdiegti starterio ir papildomus profilius, paleiskite:

apt install apparmor-profiles apparmor-profiles-extra

Kadangi „AppArmor“ yra „Linux“ branduolio modulis, turite jį įgalinti naudodami šias komandas:

mkdir -p / etc / default / grub.d

Sukurkite failą / etc / default / grub.d / aparmaras.cfg su tokiu turiniu:

GRUB_CMDLINE_LINUX_DEFAULT = "$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 1 saugumas = apparmor"

Išsaugokite ir išeikite, tada paleiskite:

atnaujinti-grub

Tada paleiskite iš naujo.

Diskutuojama, ar tai turėtų būti padaryta automatiškai. Galite peržiūrėti šios klaidos ataskaitos pabaigą ir sužinoti, ar ji buvo pakeista nuo šio rašymo laikų.

Perkraukę iš naujo, galite patikrinti, ar „AppArmor“ yra įjungta, paleisdami:

aa-statusas

Šioje komandoje bus išvardyti įkeliami „AppArmor“ profiliai ir jų dabartinė atitiktis (vykdoma, skundžiama ir kt.).)

Jei bėgate:

ps auxZ | grep -v '^ unconfined'

Pamatysite programų, kurias riboja „AppArmor“ profilis, sąrašą. Uždara programa yra programa, kurią „AppArmor“ veikia ir riboja (pasyviai, skundo režimu arba aktyviai vykdymo režimu).

Režimų keitimas / „AppArmor“ išjungimas

Jei norite išjungti „AppArmor“, nes programa neveikia, galite apsvarstyti galimybę įdėti profilį į skundo režimą, o ne į priverstinį režimą. Norėdami tai padaryti, paleiskite (kaip root arba per sudo):

aa-skundžiasi / kelias / į / programą

Pavyzdžiui, jei ping neveiks tinkamai, naudokite:

aa-skundžiamasi / usr / bin / ping

Kai profilis yra skundimo režime, galite patikrinti registravimą sistemoje „/ var / log / syslog“ arba naudodami „journalctl -xe“ sistemose (Debian 8.x, Jessie ir aukštesnė).

Redagavę profilį, kad pašalintumėte ar pakoreguotumėte apribojimą, galite dar kartą įjungti dvejetainio režimo vykdymo režimą naudodami:

aa-priversti / kelias / į / programą

Aukščiau pateiktame pavyzdyje pakeiskite / path / to / program į visą kelią į dvejetainį failą, kurį paveikė atitinkamas profilis.

Jei turite problemų su programa ir ji veikia skundų režime, žurnaluose bus pateikta konkreti informacija apie tai, koks veiksmas buvo atmestas. Operacijos lauke bus paaiškinta, ką programa bandė padaryti, profilio laukas - konkretus paveiktas profilis, pavadinimas nurodys veiksmo tikslą (i.e. koks failas buvo sustabdytas atliekant skaitymo ar rašymo operaciją), o prašomos ir uždraustos kaukės nurodo, ar operacija, kurios paprašė programa ir kuri buvo atmesta pagal profilį, buvo perskaityta ar parašyta.

Galite visiškai išjungti profilį vykdydami:

aa-išjungti / kelias / į / programą

Arba galite visiškai išjungti „AppArmor“ redaguodami failą: / etc / default / grub.d / aparmaras.cfg turi būti:

GRUB_CMDLINE_LINUX_DEFAULT = ”$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 0”

Tada veikia:

atnaujinti-grub

Ir perkraukite savo sistemą.

Darbas su „AppArmor“ profiliais

„AppArmor“ profiliai yra / etc / apparmor.d / katalogas. Jei įdiegsite „apparmor-profiles“ ir „apparmor-profiles-extra-package“ paketus, profilius rasite aplankuose / usr / share / doc / apparmor-profiles ir / usr / share / doc / apparmor-profiles / extra. Norėdami juos suaktyvinti, nukopijuokite failus į / etc / apparmor.d tada redaguokite juos, kad įsitikintumėte, jog juose yra norimos vertės, išsaugokite ir paleiskite:

tarnyba prižiūrėtojas perkrauti

Jei norite iš naujo įkelti tik vieną profilį, paleiskite:

apparmor_parser -r / etc / apparmor.d / profilis

Kur „profilis“ yra atitinkamo profilio pavadinimas.

Nerekomenduojama tik nukopijuoti profilių ir papildomų profilių į / etc / apparmor.d katalogą, neredaguodami jų rankomis. Kai kurie profiliai gali būti seni, o kai kuriuose tikrai nebus norimų verčių. Jei juos visus nukopijuosite, bent jau nustatykite juos skųstis, kad galėtumėte stebėti pažeidimus nepažeisdami gamybos programų:

cd / etc / apparmor.d
už f *.*; daryk skundą / etc / apparmor.d / $ f; padaryta

Galite naudoti komandą „aa-enforce“ atskirai, jei norite įgalinti profilius, kuriuos norite išsaugoti, sureguliuoti tuos, kurie sukelia problemų ir priversti juos vykdyti, arba pašalinti nereikalingus profilius paleisdami „aa-disable“ arba pašalindami profilio failą iš / etc / apparmor.d.

„AppArmor“ profilio kūrimas

Prieš kurdami pasirinktinį profilį, norėsite ieškoti aplanke / etc / apparmor.d ir / usr / share / doc / apparmor-profiles katalogai esamam profiliui, kuris apima aptariamą dvejetainį failą. Norėdami ieškoti jų, paleiskite:

rasti / usr / share / doc / apparmor-profiles | grep „programa“ -i

Pakeiskite programa naudodami programą, kurią norite apsaugoti naudodami „AppArmor“. Jei radote, nukopijuokite jį į / etc / apparmor.d ir tada redaguokite failą mėgstamiausiame teksto rengyklėje.

Kiekvieną profilį sudaro trys pagrindiniai skyriai: apima, galimybes ir kelius. Naudingos nuorodos galite rasti SuSE dokumentuose.

Apima

Apima sintaksę, kurią galite naudoti failo viduje. Jie naudoja sintaksę C / C ++ #include <> ir paprastai nurodo abstrakcijas, esančias / etc / apparmor.d / abstrakcijos katalogas.

Galimybės

Galimybių skyriuje, paprastai randamame po įtraukimo, pateikiamos konkrečios galimybės, kurias programa gali atlikti. Pvz., Galite leisti programai atlikti „setuid“ operaciją:

pajėgumas setuid

Gebėjimas net_bind_service leidžia programai prisijungti prie tinklo prievado. Jei to nesuteiksite, serveris, pvz., „Apache“, negali atidaryti 80 prievado ir klausytis. Tačiau šios galimybės atsisakymas gali užtikrinti puikų procesų, kuriais nepasitikite tinkle, saugumą.

Keliai

Galite išvardyti kelius, kuriuos programa gali perskaityti (ir galbūt parašyti). Pvz., Jei norite leisti programai pasiekti failą / etc / passwd, pridėkite:

/ etc / passwd r

Profilyje. Atkreipkite dėmesį į „r“ - tai reiškia tik skaityti. Jei pakeisite tai į „w“, bus leidžiama rašyti į šį kelią ar failą.

Net jei leidžiate kelią „AppArmor“, jam vis tiek taikomi „Linux“ failų sistemos apribojimai (t.e. rinkinys su chmod, chgrp ir chown). Tačiau „AppArmor“ vis tiek teiks papildomą apsaugą, jei bus pažeisti šie mechanizmai.

Išvada

Sėkmingo „AppArmor“ diegimo raktas yra nustatyti profilius, kad būtų galima skųstis, ir tada vykdyti. Kruopštus žurnalo tyrimas suteiks jums minimalių būdų ir galimybių, reikalingų sėkmingam programos veikimui. Priskirdami šiuos ir ne daugiau, jūs žymiai padidinsite sistemos saugumą.

Geriausi „Linux“ žaidimų konsolių emuliatoriai
Šiame straipsnyje bus išvardyta populiari žaidimų konsolių emuliavimo programinė įranga, skirta „Linux“. „Emuliacija“ yra programinės įrangos suderina...
Geriausi „Linux“ žaidimų distristai 2021 m
„Linux“ operacinė sistema nuėjo ilgą kelią nuo originalios, paprastos, serverio išvaizdos. Ši OS pastaraisiais metais nepaprastai patobulėjo ir dabar ...
Kaip užfiksuoti ir perduoti savo žaidimų sesiją sistemoje „Linux“
Anksčiau žaidimai buvo laikomi tik pomėgiu, tačiau laikui bėgant lošimų pramonė labai augo technologijų ir žaidėjų skaičiaus atžvilgiu. Žaidimų audito...