A Novell AppArmor sikeres alkalmazása az alábbiak gondos elvégzéséből áll:
Határozza meg, mely alkalmazásokhoz kíván profilt készíteni. Erről további részletek: 43.3.1. szakasz - A profilírozandó alkalmazások kiválasztása.
Készítse el a szükséges profilokat. Ennek vázlatos leírása: 43.3.2. szakasz - Profilok készítése és módosítása. Ellenőrizze az eredményeket és ha szükséges, módosítsa a profilokat.
Figyelje, hogy mi történik a rendszeren: futtassa az AppArmor jelentéseit és reagáljon a biztonsági eseményekre. További információk: 43.3.3. szakasz - Novell AppArmor eseményértesítések és jelentések beállítása.
Frissítse a profilokat, ha a környezet változik, vagy ha reagálni kell az AppArmor jelentéskészítő eszköze által naplózott biztonsági eseményekre. További információk: 43.3.4. szakasz - Profilok frissítése.
Csak azokat a programokat kell védeni, amelyek az adott rendszerben támadásnak vannak kitéve, vagyis csak azokhoz az alkalmazásokhoz kell profilokat készíteni, amelyeket valóban használ is. A legesélyesebb programok meghatározásában segít az alábbi lista:
A nyitott hálózati portokat kezelő programok (kiszolgálók és kliensek egyaránt). A felhasználói kliensprogramok, például a levelezőkliensek vagy a webböngészők jogosultságait ki lehet használni. Ezek a programok jogosultak írni a felhasználó saját könyvtárát, ugyanakkor potenciálisan veszélyes távoli forrásokból érkező bemeneteket dolgoznak fel (például webhelyek, vagy e-mailben elküldött rosszindulatú kódok).
A webböngészővel meghívható programok, például CGI Perl parancsfájlok, PHP-oldalak és egyéb, komplex webes alkalmazások.
Olyan programok, amelyeket a cron démon futtat rendszeresen, különféle forrásokból.
Ha meg akarja állapítani, hogy éppen mely portok futnak nyitott hálózati portokkal, és melyekhez lehet szükség profil készítésére, indítsa el root
felhasználóként az aa-unconfined programot.
43.1. példa - Az aa-unconfined program kimenete
19848 /usr/sbin/cupsd not confined 19887 /usr/sbin/sshd not confined 19947 /usr/lib/postfix/master not confined 29205 /usr/sbin/sshd confined by '/usr/sbin/sshd (enforce)'
A fenti példa minden nem korlátozott
-nak jelölt folyamatát érdemes lehet egy egyéni profillal korlátozni. A korlátozza
címkéjű programokat már védi az AppArmor.
További információk | |
---|---|
További információ a profilírozandó alkalmazások kiválasztásáról. „Determining Programs to Immunize” szakasz (1. fejezet - Immunizing Programs, ↑Novell AppArmor adminisztrátori kézikönyv). |
A SUSE Linux Enterprise rendszeren futó Novell AppArmor egy sor előre elkészített profilt tartalmaz a legfontosabb alkalmazásokhoz. Ezenfelül az AppArmorral természetesen bármely alkalmazáshoz készíthetők saját profilok.
A profilok kezelésének két módja létezik. Az egyik a YaST Novell AppArmor modulok grafikus felületének, a másik az AppArmor csomag parancssori eszközeinek használata. Mindkét módszer lényegében hasonlóan működik.
Az aa-unconfined futtatása a leírt módon (43.3.1. szakasz - A profilírozandó alkalmazások kiválasztása) azonosít egy sor alkalmazást, amelyekhez célszerű lehet profilt készíteni.
Az egyes alkalmazások profiljai az alábbi lépésekkel készíthetők el:
Root
felhasználóként készíttessen az AppArmorral egy durva alkalmazásprofilt: futtassa le az aa-genprof program_neve
parancsot.
vagy
A durva alapprofil a
+ + futtatásával és a profilírozandó alkalmazás teljes elérési útjának megadásával is elkészíthető.Elkészül az alapprofil, és az AppArmor tanulási módba vált. Ez azt jelenti, hogy naplózza a végrehajtott programok minden tevékenységét, de még nem korlátozza őket.
Használja az alkalmazás összes műveletét, hogy az AppArmor pontos képet kapjon róluk.
Elemeztesse az AppArmorral az előállított naplófájlokat (Lépés 2): az aa-genprof programban írja be, hogy S.
vagy
A naplófájlok elemzésének másik módja a
pontjára kattintás, és a varázsló útmutatásának követése, amíg a profil el nem készül.Az AppArmor megvizsgálja az alkalmazás futtatása során készített naplókat, és felszólít, hogy adja meg a hozzáférési jogokat minden egyes naplózott eseményhez. Vagy adja meg őket fájlonként, vagy használjon helyettesítő karaktereket.
Az alkalmazás bonyolultságától függően szükség lehet a Lépés 2 és Lépés 3 részek megismétlésére. Korlátozza az alkalmazást, hajtsa végre a korlátozott körülmények között, és vizsgálja meg az újonnan naplózott eseményeket. Az alkalmazás teljes funkciókörének korlátozásához lehet, hogy ezt az eljárást többször is meg kell ismételni.
Ha minden hozzáférési jogosultságot sikerült beállítani, kapcsolja a profilt kényszerítés módba. A profil ezután élesben működik és az AppArmor az imént létrehozott profil beállításainak megfelelően korlátozza az alkalmazást.
Ha egy olyan alkalmazáson indította el az aa-genprof parancsot, amelynek már volt egy panasz módba állított meglévő profilja, akkor ez a profil tanulási módban marad egész addig, amíg ki nem lép a tanulási ciklusból. További információ a profilok módjának megváltoztatásáról: „aa-complain—Entering Complain or Learning Mode” szakasz (4. fejezet - Building Profiles from the Command Line, ↑Novell AppArmor adminisztrátori kézikönyv) és „aa-enforce—Entering Enforce Mode” szakasz (4. fejezet - Building Profiles from the Command Line, ↑Novell AppArmor adminisztrátori kézikönyv).
Próbálja ki a profil beállításait: hajtson végre minden szükséges műveletet az imént korlátozott alkalmazással. Normális esetben a korlátozott program simán fut és észre sem venni, hogy az AppArmor működik. Ha azonban rendellenességeket tapasztal az alkalmazás működése kapcsán, akkor ellenőrizze a rendszernaplókat és nézze meg, hogy nem túl szigorúan korlátozza-e az AppArmor az alkalmazást. A rendszeren használt naplózási mechanizmustól függően több helyen is lehet keresni AppArmor naplóbejegyzéseket:
/var/log/audit/audit.log
Ha az audit
csomag telepítve van és fut is az auditd, akkor az AppArmor események így naplózódnak:
type=APPARMOR msg=audit(1140325305.502:1407): REJECTING w access to /usr/lib/firefox/update.test (firefox-bin(9469) profile /usr/lib/firefox/firefox-bin active /usr/lib/firefox/firefox-bin)
/var/log/messages
Ha nem használja az auditd démont, akkor az AppArmor eseményei a normál rendszernaplóba (/var/log/messages
) kerülnek. Egy jellemző bejegyzés például így nézhet ki:
Feb 22 18:29:14 dhcp-81 klogd: audit(1140661749.146:3): REJECTING w access to /dev/console (mdnsd(3239) profile /usr/sbin/mdnsd active /usr/sbin/mdnsd)
dmesg
Ha az auditd nem fut, akkor az AppArmor-események ellenőrizhetők a dmesg paranccsal is:
audit(1140661749.146:3): REJECTING w access to /dev/console (mdnsd(3239) profile /usr/sbin/mdnsd active /usr/sbin/mdnsd)
A profil módosításához először vizsgálja meg az alkalmazással kapcsolatos naplóüzeneteket (lásd: Lépés 3). Amikor a program felszólítja, adja meg a hozzáférési jogokat vagy korlátozásokat.
További információk | |
---|---|
További információ a profilok készítéséről és módosításáról: Profile Components and Syntax . fejezet (↑Novell AppArmor adminisztrátori kézikönyv), Building and Managing Profiles with YaST . fejezet (↑Novell AppArmor adminisztrátori kézikönyv) és Building Profiles from the Command Line . fejezet (↑Novell AppArmor adminisztrátori kézikönyv). |
Állítsa be a Novell AppArmor eseményértesítési funkcióit, hogy reagálhasson a biztonsági eseményekre. Az eseményértesítés a Novell AppArmor hasznos szolgáltatása, amely értesítést küld egy megadott e-mail címre egy meghatározott súlyosságú Novell AppArmor esemény bekövetkezése esetén. Ez a funkció jelenleg a YaST felületen érhető el.
Az eseményértesítés beállításához a következőt kell tenni a YaST-ban:
Győződjön meg róla, hogy van a rendszeren megfelelően működő levélkiszolgáló, amelyik el tudja küldeni az eseményértesítéseket.
Jelentkezzen be root
-ként és indítsa el a YaST-ot. Ezután válassza ki a + modult.
A
képernyőn nyomja meg a gombot.Minden egyes rekordtípushoz (
, , és ) állítsa be a jelentés gyakoriságát, adja meg az e-mail címet, ahová a jelentéseket küldi, és határozza meg a naplózandó események súlyosságát. Ha az ismeretlen eseményeket is bele kívánja venni az eseményjelentésekbe, akkor jelölje meg az pontot.A naplózandó események kiválasztása | |
---|---|
Ha nincs tisztában az AppArmor eseménykategorizálási rendszerével, akkor kérjen értesítést mindegyik biztonsági szint eseményeiről. |
A beállítások alkalmazásához lépjen ki a párbeszédablakból az
+ gombokkal.A Novell AppArmor jelentéseinek használatával elolvashatók a fontos Novell AppArmor biztonsági események jelentései anélkül, hogy át kellene rágnia magát az aa-logprof eszközzel értelmezhető üzeneteken. A jelentés mérete csökkenthető, ha szűr dátumtartományra vagy egy adott program nevére.
Az AppArmor jelentések beállítása:
Jelentkezzen be root
-ként és indítsa el a YaST-ot. Válassza ki a + modult.
Válassza ki a megvizsgálni vagy beállítani kívánt jelentés típusát:
, vagy .Adja meg, hogy milyen sűrűn készüljön jelentés, továbbá e-mail címet, az exportálás formátumát, valamint a jelentések helyét: nyomja meg a
gombot és adja meg a kért adatokat.Egy adott típusú jelentés futtatásához kattintson a
gombra.Az adott típusú archivált jelentések tallózásához kattintson az
pontra, majd adja meg a jelentés típusát.vagy
Törölje a már nem szükséges jelentéseket, vagy készítsen újakat.
További információk | |
---|---|
További információ a Novell AppArmor eseményértesítés beállításáról: „Configuring Security Event Notification” szakasz (6. fejezet - Managing Profiled Applications, ↑Novell AppArmor adminisztrátori kézikönyv). További információ a jelentések beállításáról: „Configuring Reports” szakasz (6. fejezet - Managing Profiled Applications, ↑Novell AppArmor adminisztrátori kézikönyv). |
A szoftverek és a rendszer beállításai időről-időre megváltoznak. Ennek eredményeképpen időnként szükség lehet az AppArmor profil beállításainak hangolására. Az AppArmor megvizsgálja a rendszernaplót, hogy lát-e benne irányelvsértéseket vagy más AppArmor-eseményeket, és lehetővé teszi, hogy ezeknek megfelelően módosítsa a profilt. Az alkalmazások profildefiníción kívüli viselkedése szintén kezelhető a
varázslóval.A profilhalmaz frissítése:
Jelentkezzen be root
-ként és indítsa el a YaST-ot.
Indítsa el a
+ varázslóját.A megjelenő ablakban módosítsa a naplózott erőforrások vagy végrehajtható fájlok hozzáférési vagy végrehajtási jogait.
A kérdések megválaszolása után lépjen ki a YaST-ból. A módosítások érvénybe lépnek a profilokon.
További információk | |
---|---|
További információ a profilok frissítésével kapcsolatban a rendszernaplók alapján: „Updating Profiles from Log Entries” szakasz (3. fejezet - Building and Managing Profiles with YaST, ↑Novell AppArmor adminisztrátori kézikönyv). |