Professional Documents
Culture Documents
Apparmor Hu
Apparmor Hu
www.novell.hu
T E R M K I S M E R T E T
2005.09.28
1. oldal
Tartalomjegyzk
Rendszervdelem a Novell AppArmor szoftvervel............................................................... 2
Bevezets..................................................................................................................... 2
Vlaszthat alkalmazsprofilok............................................................................................2
Hlzati gynkk........................................................................................................... 3
Hlzati alkalmazsok...................................................................................................... 3
Webalkalmazsok............................................................................................................ 4
Parancsfjl-nyelvek..........................................................................................................4
Setuid programok............................................................................................................ 4
Cron-nal idztett feladatok............................................................................................... 5
Profilkszts................................................................................................................. 5
A genprof......................................................................................................................5
A logprof...................................................................................................................... 5
Az eredmnyek visszaigazolsa............................................................................................6
OpenOffice.org 1.1.4
Novell Magyarorszg
2. oldal
Bevezets
Nhny klasszikus jtancs annak rdekben, hogy az alkalmazsok fltt a tmadk ne
vehessk t a hatalmat:
Vlaszthat alkalmazsprofilok
A Novell AppArmor egyik legfontosabb hasznlatknnyt funkcija a mretezhet biztonsg. Ms
megoldsok esetben a biztonsgi irnyelveket a teljes rendszerre alkalmazni kell, s szmos
esetben lehetetlen brmilyen rsz kizrsa az irnyelvek hatlya all. Ha az irnyelv rossz, akkor
elfordul, hogy ott llunk egy srlt rendszerrel, ami letiltja a sajt szmtgpre trtn
bejelentkezst.
Az AppArmor mretezhet biztonsgi szolgltatsval eldntheti, hogy melyik programokat
szeretn vdeni. Ezzel jelentsen cskkenthet a szmtgp vdelmre fordtott munka
mennyisge, mivel csak azokhoz a programokhoz kell profilt kszteni, amelyek az adott
krnyezetben ki vannak tve a tmadsoknak.
A szmtgpes rendszer hatkony megerstse megkveteli a jogosultsgokat ellenrz
programok szmnak minimlisra cskkentst, majd a programok lehet legnagyobb mrtk
biztostst. Az AppArmor profilok kiknyszertik az irnyelvek betartst annak biztostsra,
hogy a programok azt tegyk, ami a feladatuk, s semmi mst. Hozzon ltre AppArmor profilt
minden jogosultsgellenrz programhoz:
OpenOffice.org 1.1.4
Novell Magyarorszg
3. oldal
Webalkalmazsok: A webbngszkn keresztl meghvott CGI PERL parancsfjlok, PHPoldalak s mg sszetettebb webalkalmazsok.
Hlzati gynkk
A profilokat ignyl hlzati szerverdmonok megkeresshez vizsglja meg a gp nyitott
portjait, gondolja vgig az ezeken vlaszol programokat, s adjon meg profilokat minl tbb
programhoz. Ha minden nyitott hlzati porttal rendelkez programhoz profilt rendel, akkor a
tmadk nem juthatnak be a gp fjlrendszerbe anlkl, hogy ne tallkoznnak egy Novell
AppArmor profillal.
A szerver nyitott hlzati portjait kzzel is megkerestetheti a gpen kvlrl egy keresvel (pl.:
nmap) vagy bellrl a netstat hasznlatval, majd ttekintheti a gpet annak meghatrozsra,
hogy mely programok felelnek a nyitott portokon.
Hlzati alkalmazsok
Egy sokkal jobban automatizlt mdszer a Novell AppArmor unconfined nev programjnak
hasznlata. Ez az eszkz a netstat nlp parancs hasznlatval vgignzi a szmtgp nyitott
portjait, felderti a hozzrendelt programokat, megvizsglja a betlttt AppArmor profilokat s
jelenti a programokat s a hozzjuk tartoz profilokat. Ha egy program nincs vdrizetben,
nem kerl be a jelentsbe.
Megjegyzs: Az unconfined eszkz futtatshoz root jogosultsg kell, s nem futhat egy AppArmor profilon
bell. Nem klnbzteti meg egymstl a hlzati csatolkat, vagyis minden vdrizet nlkli folyamatrl
jelentst ad, mg azokrl is, amelyek a bels LAN-csatoln figyelnek. Ha egy program tbb hlzati
csatoln is figyel, akkor tbbszr is jelentsre kerlhet, gy a kimenetben egy bejegyzs tbbszr is
szerepelhet.
OpenOffice.org 1.1.4
Novell Magyarorszg
4. oldal
Webalkalmazsok
A webalkalmazsok megkeresshez elemezni kell a webszerver-belltsokat. Az Apache
webszerver rendkvl jl konfigurlhat s a webalkalmazsok szmos knyvtrban trolhatk a
helyi belltsoktl fggen. A SUSE LINUX Enterprise Server 9 alaprtelmezsben a
/srv/www/cgi-bin/ mappban trolja a webalkalmazsokat.
Az egyes webalkalmazsok sajt Novell AppArmor profilokkal vgzett korltozsa a lehet
legkisebbre cskkenti azok jogosultsgait, s ezzel a tmad lehetsgeit arra, hogy a program
felett tvegye az uralmat. Vlaszthatja azt is, hogy kevesebbet energit fordt a rendszer
biztostsra (a biztonsg cskkense rn), s ehelyett az Apache AppArmor profilon bell
futtatja a webalkalmazsokat.
Annak a kivlasztsa, hogy egy webalkalmazs sajt profillal rendelkezik, vagy az Apache
profiljt hasznlja, a genprof s logprof profilkezel segdprogramokban trtnik, amelyek
lersa a Profilkszts rszben tallhat. Amikor az Apache vgrehajt egy folyamatot, akkor a
profilkezel segdprogram rkrdez, hogy rendeljen-e profilt ehhez a folyamathoz, vagy az
rklje az Apache profiljt.
Parancsfjl-nyelvek
Szmos webalkalmazst rnak rtelmezett parancsfjl-nyelvekben; ilyen pldul a PERL, a PHP
vagy a Python.
A teljestmny fokozsra szmos webhely hasznlja a mod_perl, mod_php s mod_python
modulokat, hogy ezeknek a programnyelveknek az rtelmezjt kzvetlenl az Apache
webszerverben helyezze el. gy gyorsabb vlik a mkds, mivel az Apache szoftvernek nem
kell vgrehajtania egy nagy rtelmezprogramot egy kicsi parancsfjl futtatsra, csak
megnyitja a parancsfjlt s kzvetlenl rtelmezi. Ez azonban veszlyezteti a biztonsgot, mivel
a webalkalmazsok az Apache processzen bell futnak, az Apache jogosultsgait hasznlva. A
Novell AppArmor hatkony lehetsget knl az egyes webalkalmazsok vdrizetre mg akkor
is, ha azok az Apache ltal hasznlt modulokon (pldul a mod_perl, mod_php vagy mod_python
modulokon) bell futnak.
Az AppArmor Apache mod_change_hat modul meghvja az AppArmor change_hat() API-t, gy az
Apache a vgrehajthat parancsfjl nevnek megfelelen egy alprofilra vlthat. Ha nem tall
specifikus profilt a parancsfjlhoz, akkor az rtelmezhz rendelt alaprtelmezett profil
hasznlhat. Ez javthatja a biztonsgot pldul azzal, hogy minden PHP-oldalt egy hasonl
profilhoz rendel, amely elegend jogosultsggal rendelkezik az sszes PHP-oldal mkdshez,
de sokkal korltosabb, mint az Apache profil.
Setuid programok
A fjlrendszer tvizsglsval megkereshetk a setuid programok. A kvetkez parancs pldul
meg fogja tallni a setuid root belltssal fut programokat:
find/-user root -perm -4000 print
OpenOffice.org 1.1.4
Novell Magyarorszg
5. oldal
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/*
Profilkszts
Ha kivlasztotta a megfelel programokat, akkor ltre kell hozni azokhoz a profilokat. A Novell
AppArmor genprof s logprof segdprogramok ennek a folyamatnak a nagy rszt
automatizljk: krdseket tesznek fel, amelyekre vlaszolva interaktv mdon dnthet a
biztonsgi szolgltatsokrl s gy vglegestheti a programprofilokat.
A genprof
A kiindulsi hely a genprof segdprogram. A root parancsrtelmezbe rja be a genprof foo
parancsot, ahol a foo a profillal elltni kvnt program neve. A genprof megkeresi a foo
programot, s egy indul becslst ad a program becslhet profiljrl, majd tanul mdra
lltja be a profilt, amikor is a profilszablyok mg nem kerlnek kiknyszertsre, de a
megsrtsk mr naplzva van. A genprof ezutn felkri nt a program elindtsra egy msik
ablakban, s ahogy a szoftver a hasznlat sorn vgigfut a mveletein, a segdprogram sszellt
egy naplfjlt, amely lerja a program helyes mkdsi mdjt.
Futtassa vgig a programot egy teljes minsgbiztostsi (QA) cikluson, prblja ki az sszes
fontos funkcit s legyen vatos azzal kapcsolatban, hogy ne futtasson semmilyen tmadst a
program ellen. Ha vgzett, trjen vissza a genprof ablakba s nyomja meg az s billentyt az
elemzs (scan) elindtsra. A genprof ezutn feltesz egy sor krdst arra vonatkozlag, hogy
hogyan reagljon bizonyos fjlhozzfrsi esemnyekre.
A foo program ltalban hozznyl bizonyos fjlokhoz, s a genprof megkrdezi, hogy pontosan
meghatrozott jogokat kvn-e rendelni a bet szerint megadott fjlnevekhez, vagy inkbb
bizonyos fjlmintkhoz rendelne jogokat. A minta tartalmazhat helyettest karaktereket vagy
egy #include utastssal egy szablykszletet is, hogy ne csak erre az esemnyre vonatkozzon,
hanem a naplfjlban tallhat tbb msikra s a jvbeli esemnyekre is.
A logprof
A logprof segdprogram mkdse nagyon hasonlt a genprof-hoz azzal a kivtellel, hogy a
Novell AppArmor profilok tovbbi tkletestsre terveztk, nem pedig a kiindul
ltrehozshoz. A logprof a futtats sorn tvizsglja az aktulis rendszernaplt az AppArmor
esemnyek utn; rkrdez, hogy melyik esetben mi a teend s a genprof-nl emltettekhez
hasonl mintkat javasol.
OpenOffice.org 1.1.4
Novell Magyarorszg
6. oldal
Az eredmnyek visszaigazolsa
Az AppArmor alapelve szerint a szmtgpvdelem megerstsnek utols lpse a belltsok
biztonsgossgnak ellenrzse. A profilksztsi munka hatkonysgnak vizsglatra futtassa
le ismt az unconfined programot (lsd: Hlzati gynkk) s vizsglja meg a kimenetet annak
megtekintsre, hogy a tmadsnak kitett programoknak van-e mr profiljuk.
Ha a szmtgp hlzati kiszolglknt mkdik, akkor a tmadsok valsznleg a hlzatrl
rkeznek. gy az unconfined programnak a hlzati portokat figyel hlzati szolgltatsoktl
rkez szabvnyos kimenete pontosan tkrzi azokat a fenyegetseket, amelyeknek a gp ki van
tve. Ha az unconfined jelentseket produkl sszes program ssze van rendelve AppArmor
profilokkal, akkor a tmad szmra lehetetlen, hogy kzvetlenl elrje a fjlrendszert anlkl,
hogy bele ne tkzne a belltott AppArmor irnyelvekbe.
A legrosszabb eset (pldul a szmtgpes rendszerben tmadssal okozhat krok) elemzsre
vizsglja meg az unconfined program ltal kilistzott profilokat. Erre a vim az idelis eszkz,
mivel ez sznekkel kiemelve mutatja a profilokat (a srgval jellt szablyok az rsi szablyok).
Azoknak a fjloknak a halmaza, amelyekben egy tmad krt tehet, a profilokban felsorolt
rhat fjlok halmaza. Ez most jval kisebb, mint amelyet a tmad az AppArmor irnyelvkiknyszertsek nlkl elrhetne.
sszefoglals
A hlzati szerverek vdelmre minden veszlyeztetett, vdrizet nlkliknt felsorolt
programhoz rdemes hozzrendelni egy Novell AppArmor profilt. Ha brmelyik program
vdrizet nlkliknt van felsorolva, lpjen vissza e dokumentum megfelel rszbe, s
alkalmazzon r egy AppArmor profilt. Ismtelje ezt egszen addig, amg minden program nem
rendelkezik profillal. Ha vgzett, akkor az AppArmor profilok megvdik a rendszert a
rosszindulat kls tmadktl, minimalizljk a veszlyeket, vdik a kulcsfontossg vllalati
adatokat, cskkentik a hlzati adminisztrcis kltsgeket s segtenek betartani az
elrsokat.
OpenOffice.org 1.1.4
Novell Magyarorszg