AppArmor

From EIK wiki

Koostaja: Kersti Lang A22

AppArmor

AppArmor ("Application Armor") on GNU General Public litsentsi all väljastatud Linuxi tuuma turvalisuse moodul. AppArmor võimaldab süsteemi administraatoril liita iga programm turvalisuse profiiliga, mis piirab programmi võimalusi. See täiendab traditsioonilist Unix'i valikulise pääsupoliitika ('Discretionary Access Control') moodulit andes sellele juurde kohustuslik pääsukontrolli ('Mandatory Access Control'). See lisati juurde Linuxi tuumale alates 2.6.36 versioonist. Alates 2009 aastast teeb AppArmori arendajatega koostööd Canonical Ltd'ga. AppArmor'it soovitatakse SELinux'i alternatiiviks, mida kriitikud väidavad olevat raske arministraatoril üles seada ja töökorras hoida. AppArmor pooldajad väidavad, et see on vähem keerukas ja keskmisel kasutajal on seda kergem õppida kui SELinux'it. Samuti väidetakse, et AppArmor nõuab sujuvalt töötamiseks vähem seadistamist. AppArmor

AppArmor Linux'is

Esimesena esines AppArmor kasutajale Ubuntu 7.04-s. Vaikimisi programmiks sai see alates Ubuntu 7.10-st. Ubuntus on AppArmori piiramine rakendusepõhine, kusjuures on võimalikud profiilid erinevate programmiosade jaoks. Iga uue väljalaskega, üha enam profiile väljastatakse vaikimisi.

Kui antud profiil ei ole saadavad antud rakendusele, on kasutajal võimalik luua uus profiil ja lisada see /etc/apparmor.d kataloogi. Kui profiil ei ole defineeritud konkreetses programmi osas, siis see programmi osa ei ole piiratud.

Kasutamine

Et arvvutisse AppArmor'i meetmestik laadida, tuleb sisetada käsureale:

sudo apt-get install apparmor-profiles


Käsitlus

AppArmor'i hetkestaatus vaatamine:

sudo apparmor_status


Profiili asetamine 'kaebuse seisundisse':

sudo aa-complain /path/to/bin

Näiteks:

sudo aa-complain /bin/ping


Kõikide profiilide asetamine 'kaebuse seisundisse':

sudo aa-complain /etc/apparmor.d/*


Profiili asetamine 'jõustumisseisundisse':

sudo aa-enforce /path/to/bin

Näiteks:

sudo aa-enforce /bin/ping


Kõikide profiilide asetamine 'jõustumisseisundisse':

sudo aa-enforce /etc/apparmor.d/*


Kõikide profiilide väljaarvatud ühe asetamine 'jõustumisseisundisse':

GLOBIGNORE="*profile.name"
sudo aa-enforce /etc/apparmor.d/*

Näiteks:

GLOBIGNORE="*bin.ping"
sudo aa-enforce /etc/apparmor.d/*


AppArmor'i raamistiku keelamine:
Süsteemis ei tohiks AppArmorit täielikult keelata. Kui tekib vajadus AppArmor eemaldada, siis:

sudo invoke-rc.d apparmor kill
sudo update-rc.d -f apparmor remove


Ubuntu 8.04-s ning hilisemates verissonides:

sudo invoke-rc.d apparmor stop
sudo update-rc.d -f apparmor remove


Kasutades kill käsku Ubuntu 8.10 ning hilisemates verisoonides, saame vastava veateate:

Killing AppArmor module - failed, AppArmor is builtin: Failed.


AppArmor raamistiku lubamine:

sudo invoke-rc.d apparmor start
sudo update-rc.d apparmor start 37 S .


Kõikide profiilide uuesndamine:

sudo invoke-rc.d apparmor reload


Ühe profiili uuendamine:

sudo apparmor_parser -r /etc/apparmor.d/profile.name

Näiteks:

sudo apparmor_parser -r /etc/apparmor.d/bin.ping


Ühe programmi keelamine:

sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/profile.name

Näiteks:

sudo ln -s /etc/apparmor.d/bin.ping /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/bin.ping


Ühe programmi lubamine:

sudo rm /etc/apparmor.d/disable/profile.name
sudo apparmor_parser -r /etc/apparmor.d/profile.name

Näiteks:

sudo rm /etc/apparmor.d/disable/bin.ping
sudo apparmor_parser -r /etc/apparmor.d/bin.ping


Firefoxi lubamine AppArmoris:
Kuna Firefox on vaimisi, keelatud, siis selle lubamiseks:

sudo aa-enforce /etc/apparmor.d/usr.bin.firefox-3.5


Uue profiili loomine


Uue profiili tekitamine:

sudo aa-genprof executable

Näiteks:

sudo aa-genprof slapd


Kasutatud kirjandus

http://www.linux-magazine.com/Issues/2006/69/PROTECTIVE-ARMOR
http://www.linuxplanet.com/linuxplanet/reports/7203/1/
https://help.ubuntu.com/community/AppArmor
https://wiki.ubuntu.com/AppArmor

Lingid

http://linuxaria.com/article/introduction-to-apparmor?lang=en