AppArmor

Debian AppArmor apmācība

Debian AppArmor apmācība
AppArmor ir obligāta Linux piekļuves kontroles sistēma. Obligātajā piekļuves kontroles sistēmā (MAC) kodols nosaka ierobežojumus ceļiem, ligzdām, portiem un dažādiem ievades / izvades mehānismiem. To izstrādāja Immunex, un tagad to uztur SUSE. Kopš 2. versijas tā ir daļa no Linux kodola.6.36.

Lai gan Linux kodols nodrošina labu lietotāju izolāciju un spēcīgu failu atļauju kontroli, MAC, piemēram, AppArmor, nodrošina precīzākas atļaujas un aizsardzību pret daudziem nezināmiem draudiem. Ja Linux kodolā vai citā sistēmas dēmonā tiek konstatēta drošības ievainojamība, labi konfigurēta AppArmor sistēma var novērst piekļuvi kritiskajiem ceļiem, kas varētu būt neaizsargāti pret šo problēmu.

AppArmor var efektīvi strādāt divos veidos - izpildīt un sūdzēties. Izpilde ir AppArmor noklusējuma ražošanas statuss, savukārt sūdzība ir noderīga, lai izstrādātu kārtulu kopu, kas balstīta uz reāliem darbības modeļiem, un reģistrētu pārkāpumus. Tas ir konfigurēts caur vienkārša teksta failiem salīdzinoši draudzīgā formātā, un tam ir īsāka mācīšanās līkne nekā lielākajai daļai citu obligāto piekļuves kontroles sistēmu.

Uzstādīšana

Lai Debian instalētu AppArmor, palaidiet (kā root):

apt install apparmor apparmor-utils auditd

Varat izlaist auditd, ja jums nav nepieciešami profila ģenerēšanas rīki.

Ja vēlaties instalēt startera un papildu profilus, palaidiet:

apt instalēt apparmor-profiles apparmor-profiles-extra

Tā kā AppArmor ir Linux kodola modulis, jums tas jāiespējo ar šādām komandām:

mkdir -p / etc / default / grub.d

Izveidojiet failu / etc / default / grub.d / aparmors.cfg ar šādu saturu:

GRUB_CMDLINE_LINUX_DEFAULT = "$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 1 security = apparmor"

Saglabājiet un izejiet, pēc tam palaidiet:

update-grub

Pēc tam restartējiet.

Ir debates, ja tas būtu jādara automātiski. Iespējams, vēlēsities iepazīties ar šī kļūdas ziņojuma beigām, lai uzzinātu, vai tas ir mainīts kopš šī rakstīšanas brīža.

Pēc restartēšanas varat pārbaudīt, vai AppArmor ir iespējots, palaižot:

aa-statuss

Šajā komandā tiks uzskaitīti ielādētie AppArmor profili un to pašreizējais atbilstības stāvoklis (izpildīts, sūdzēts utt.).)

Ja jūs vadāt:

ps auxZ | grep -v '^ unconfined'

Tiks parādīts to programmu saraksts, kuras ierobežo AppArmor profils. Ierobežota programma ir programma, kuru AppArmor ietekmē un ierobežo (pasīvi, sūdzību režīmā vai aktīvi izpildes režīmā).

Režīmu maiņa / AppArmor atspējošana

Ja vēlaties atspējot AppArmor, jo programma nedarbojas, varat apsvērt profila ievietošanu sūdzības režīmā, nevis piespiedu režīmā. Lai to izdarītu, palaidiet (kā root vai izmantojot sudo):

aa-sūdzēties / ceļš / uz / programmu

Piemēram, ja ping nedarbosies pareizi, izmantojiet:

aa-sūdzēties / usr / bin / ping

Kad profils ir sūdzību režīmā, jūs varat pārbaudīt reģistrēšanu, izmantojot / var / log / syslog vai ar journalctl -xe sistēmas sistēmās (Debian 8.x, Jessie un augstāk).

Kad esat rediģējis profilu, lai noņemtu vai pielāgotu ierobežojumu, bināram režīmam varat atkal ieslēgt izpildes režīmu ar:

aa-enforce / ceļš / uz / programmu

Iepriekš minētajā piemērā aizstājiet / path / to / program ar pilnu ceļu uz bināro failu, kuru ietekmē attiecīgais profils.

Ja jums ir problēmas ar programmu un tā darbojas sūdzību režīmā, žurnāli sniegs konkrētu informāciju par to, kāda darbība tika noraidīta. Darbības lauks paskaidros, ko programma mēģināja darīt, profila lauks - konkrētais skartais profils, nosaukums norādīs darbības mērķi (i.e. kurš fails tika apturēts no lasīšanas vai rakstīšanas operācijas), un pieprasītās un noraidītās maskas norāda, vai operācija, kuru gan pieprasīja programma, gan liegta katram profilam, tika lasīta vai lasīta-rakstāma.

Profilu var pilnībā atspējot, palaižot:

aa-atspējojiet / ceļu / uz / programmu

Vai arī jūs varat pilnībā atspējot AppArmor, rediģējot failu: / etc / default / grub.d / aparmors.cfg satur:

GRUB_CMDLINE_LINUX_DEFAULT = ”$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 0”

Pēc tam darbojas:

update-grub

Un restartējiet sistēmu.

Darbs ar AppArmor profiliem

AppArmor profili atrodas / etc / apparmor.d / direktorija. Instalējot paketi apparmor-profiles un apparmor-profiles-extra package, jūs atradīsit profilus mapēs / usr / share / doc / apparmor-profiles un / usr / share / doc / apparmor-profiles / extra. Lai tos aktivizētu, kopējiet failus mapē / etc / apparmor.d pēc tam rediģējiet tos, lai pārliecinātos, ka tajos ir vēlamās vērtības, saglabājiet un pēc tam palaidiet:

pakalpojuma apkarotāja pārlādēšana

Ja vēlaties atkārtoti ielādēt tikai vienu profilu, palaidiet:

apparmor_parser -r / etc / apparmor.d / profils

Kur “profils” ir attiecīgā profila nosaukums.

Nav ieteicams profilus un papildu profilus tikai kopēt mapē / etc / apparmor.d direktoriju bez roku rediģēšanas. Daži profili var būt veci, un daži, protams, nesatur vēlamās vērtības. Ja tos visus kopējat, vismaz iestatiet tos sūdzēties, lai jūs varētu uzraudzīt pārkāpumus, neizjaucot ražošanas programmas:

cd / etc / apparmor.d
par f *.*; do aa-sūdzēties / etc / apparmor.d / $ f; izdarīts

Varat izmantot komandu aa-enforce atsevišķi, lai iespējotu profilus, kurus vēlaties paturēt, noskaņot tos, kas rada problēmas, un tos ieviest, vai arī noņemt nevajadzīgos, palaižot aa-disable vai noņemot profila failu no / etc / apparmor.d.

AppArmor profila izveide

Pirms izveidojat pielāgotu profilu, vēlaties meklēt mapē / etc / apparmor.d un / usr / share / doc / apparmor-profiles direktorijas esošam profilam, kas aptver attiecīgo bināro failu. Lai meklētu šajos, palaidiet:

atrast / usr / share / doc / apparmor-profiles | grep “programma” -i

Aizvietot programmu ar programmu, kuru vēlaties aizsargāt, izmantojot AppArmor. Ja atrodat, nokopējiet to uz / etc / apparmor.d un pēc tam rediģējiet failu iecienītajā teksta redaktorā.

Katrs profils sastāv no trim galvenajām sadaļām: ietver, iespējas un ceļi. Noderīgu atsauci varat atrast SuSE dokumentācijā.

Ietilpst

Ietver nodrošināt sintaksi, kuru varat izmantot faila iekšpusē. Viņi izmanto sintaksi C / C ++ #include <> un parasti atsaucas uz abstrakcijām, kas atrodamas / etc / apparmor.d / abstraction katalogs.

Iespējas

Iespēju sadaļā, kas parasti tiek atrasta pēc iekļaušanas, ir norādītas īpašas iespējas, kuras programma var veikt. Piemēram, varat ļaut programmai veikt setuid darbību ar:

spēja setuid

Spēja net_bind_service ļauj programmai saistīties ar tīkla portu. Ja jūs to nepiešķirt, servera dēmons, piemēram, Apache, nevar atvērt 80 portu un klausīties. Tomēr šīs iespējas izlaišana var nodrošināt izcilu drošību procesiem, kuriem tīklā neuzticaties.

Ceļi

Jūs varat uzskaitīt ceļus, kurus programma spēj nolasīt (un, iespējams, rakstīt). Piemēram, ja vēlaties atļaut programmai piekļūt failam / etc / passwd, pievienojiet:

/ etc / passwd r

Profilā. Ievērojiet “r” - tas nozīmē tikai lasāmu. Ja mainīsit to uz “w”, tiks atļauts rakstīt uz šo ceļu vai failu.

Pat ja jūs atļaujat ceļu AppArmor, uz to joprojām attiecas Linux failu sistēmas ierobežojumi (t.i.e. komplekts ar chmod, chgrp un chown). Tomēr AppArmor joprojām nodrošinās papildu aizsardzības slāni, ja šie mehānismi tiek apdraudēti.

Secinājums

Veiksmīgas AppArmor izvietošanas atslēga ir profilu iestatīšana sūdzībai un pēc tam izpilde. Rūpīga žurnāla pārbaude sniegs jums minimālos ceļus un iespējas, kas nepieciešamas veiksmīgai programmas darbībai. Piešķirot šos un ne vairāk, jūs ievērojami palielināsiet sistēmas drošību.

Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...
Instalējiet jaunāko Dolphin emulatoru Gamecube un Wii operētājsistēmai Linux
Delfīnu emulators ļauj jums spēlēt izvēlētās Gamecube un Wii spēles Linux personālajos datoros (PC). Tā kā Dolphin Emulator ir brīvi pieejams un atvē...
Kā lietot GameConqueror Cheat Engine Linux
Rakstā ir sniegts ceļvedis par GameConqueror apkrāptu dzinēja izmantošanu Linux. Daudzi lietotāji, kas spēlē spēles operētājsistēmā Windows, bieži izm...