AppArmor. Névalapú kötelező hozzáférés-vezérlés PPKE-ITK. 2014. március április



Hasonló dokumentumok
Linux hálózati adminisztráció

Andrews Kft. Konténerek az IT biztonság szemszögéből.

A SUSE 10.0 biztonsági szolgáltatásai

Néhány kihagyhatatlan Linux tipp és trükk. Ezeket a tippeket olvasóink osztották meg velünk

Felhasználói segédlet a webkonferencia szolgáltatás használatához

Konfiguráljuk be a TCP/IP protokolt a szerveren: LOAD INETCFG A menüpontokból válasszuk ki a Proctcols menüpontot:

Felhasználói segédlet a webkonferencia szolgáltatás használatához

2014 UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

QEMU beüzemelése és részletes ismertető

Mérési útmutató az Access Control (ACC) cím méréshez

Department of Software Engineering

Linux ismeretek. Göcs László mérnöktanár. 2. előadás. KF-GAMF Informatika Tanszék tavaszi félév

IPv6 alapú otthoni LAN hálózat kialakítása

Procontrol Workstar35 AudioGuide

A JAVA FUTTATÁSAKOR ELŐFORDULÓ HIBA-

Hálózati informatikus Mérnökasszisztens


Linux fotósoknak. Grafika, multimédia, szórakozás

Az adott eszköz IP címét viszont az adott hálózat üzemeltetői határozzákmeg.




Az elektronikus közszolgáltatások biztonságáról

int azt az elõzõ részbõl megtudtuk, a rétegeknek az a feladatuk, hogy valamiféle feladatot végezzenek

Pályázati kézikönyv. az Interreg V-A Ausztria-Magyarország Program pályázói és kedvezményezettjei számára

Hálózati adminisztráció Linux (Ubuntu 8.04) 12. gyakorlat

Felhasználói kézikönyv Bázis, Aktív, Portál és Portál+ csomagokhoz

Kiegészítő Linux kernel biztonsági megoldások összehasonlítása

18. témakör. Jogosultságok (Windows és Linux jogosultságok összehasonlítása, helyi és megosztási jogosultságok)

NETFIT modul Tanári felület Felhasználói útmutató. Magyar Diáksport Szövetség

A Polycom RealPresence Group Series készülékek és tartozékok szoftverének és opcióinak telepítése. Áttekintés

Rendszerfelügyelet Logikai partíciók

Az időhöz kötődő parancsok

PROCONTROL Workstar 35 PatrolGuard

A pályázat beküldésének ideje a Szervező szerverére történő beérkezés percpontosságú időpontja.

Naplózó UFS használata asztali számítógépeken

Procontrol Workstar 35 PatrolGuard

Sintony SAK 41. Kezelési utasíitás 8AA D0-20/10/99 - UK -

Közzététel és Adatszolgáltatás IT tudatosság projekt

Karbantartás. Az ESZR Karbantartás menüjébentudjuk elvégezni az alábbiakat:

Kaspersky Internet Security Felhasználói útmutató

Novell Teaming A termék áttekintése. Novell február 16.

Hálózatkezelés Szolgáltatási minőség (QoS)

9/2001. (III. 30.) EüM-FVM együttes rendelet a helyes laboratóriumi gyakorlat alkalmazásáról és ellenőrzéséről

I. Az üzemeltető adatai: Név: Meskete2015 Kft. továbbiakban üzemeltető. Székhely: 8174, Balatonkenese, Arany János utca 13

ECP. Site Administration System. Felhasználói kézikönyv. v (1. kiadás a és újabb verziójú ECP SAS rendszerekhez)

LINUX LDAP címtár. Mi a címtár?

IP alapú komunikáció. 2. Előadás - Switchek 2 Kovács Ákos

Biztonság, védelem a számítástechnikában

NOD32 Antivirus 3.0. Felhasználói útmutató. Beépített összetevők: ESET NOD32 Antivirus ESET NOD32 Antispyware. we protect your digital worlds

Karbantartás. Az ESZR Karbantartás menüjébentudjuk elvégezni az alábbiakat:

AIX 6.1. IBM Systems Director Console for AIX

Linux alapok gyakorlat

5. Hálózati címzés. CCNA Discovery 1 5. fejezet Hálózati címzés

4. Csatlakozás az Internethez. CCNA Discovery 1 4. fejezet Csatlakozás az internethez

Realio Informatikai Kft. Tel.: Szeged, Mérey utca 12. Fax:

Linux hálózati adminisztráció

Az Autodesk állandó licenceket érintő változások

Gyorskalauz a Machez készült asztali Novell Filr alkalmazáshoz

1. Vásárlás regisztrációval a regisztrációs űrlap kitöltésével: felhasználónév, és cím megadásával, amiről ban visszaigazolást kap.

SuliXerver 3.5 TELEPÍTÉSE GYORSAN ÉS EGYSZERŰEN

Felhasználói kézikönyv HostLogic SAP EKAER 1.0 megoldáshoz

Symantec Endpoint Protection

BALLA és TÁRSA Kereskedelmi és Szolgáltató Korlátolt Felelősségű Társaság

A Citadel csoportmunka-kiszolgáló

Operációs rendszerek. A Windows NT felépítése

Networkshop 2013 (március ) 1.

NYELVHELYESSÉGI GYAKORLATOK

Netscape Messenger levelező kliens beállítása POP3 típusú levelezéshez

Dialízis gép software komponensét alkotó unitok modul tesztje követelmény és struktúra alapon

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

HASZNÁLATI UTASÍTÁS GT POWER A6-10

ÁLTALÁNOS SZERZŐDÉSI FELTÉTELEK

Nappali képzés: Számítógéppel segített tervezés szerkesztésben közreműködött: Zobor Bence Kiegészítő- levelező képzés: Számítástechnika 2.

NetWare 6 technikai áttekintés 2. rész

LIPTON ICE TEA RAJONGÓI OLDALON SZERVEZETT JÁTÉKOK ÁLTALÁNOS RÉSZVÉTELI ÉS JÁTÉKSZABÁLYZATA

ESÉLYTEREMTŐ OKTATÁS. TKKI Eötvös József Program pedagógiai szakmai hírlevél I. évfolyam 2. szám

A Férfierény nyereményjáték és alkalmazás szabályzata

Gyakorla( útmutató és demonstrációk a SZTAKI Felhő használatához

4. Gyakorlat: Csoportházirend beállítások

A Zigbee technológia

Előzmények

ÁSZF - Általános Szerződési Feltételek

A megfelelő IP védelem biztosításával, alkalmasak a kültéri alkalmazások kialakítására.

NUUO Mainconsole Felhasználói útmutató

Bluetooth mérési útmutató 1. mérés

A L i n u x r u h á j a

Csoport neve: Kisiskolások Feladat sorszáma: 2. Feladat címe: Oktatási intézmény honlapja, oktatási naplóval. E-Project.

TI TMDSEVM6472 rövid bemutatása

Adataink biztonságos tárolása és mentése

TARTALOM. A Kormány tagjának rendelete

Kiterjedt hálózatok. 8. Hálózatok fajtái, topológiájuk. Az Internet kialakulása 1

Felhasználók és csoportok

COMODO antivírus telepítése és beállítása

Bevezetés az Arduino mikrovezérlők programozásába

Virágmaci játék. Nyereményjátékának részvételi feltételei és szabályzata

ScanJet Pro 2500 f1 flatbed scanner Felhasználói útmutató

HP ProtectTools Felhasználói útmutató

Aronic Road Útnyilvántartó program

Általános Szerződési Feltételek (ÁSZF) Hatályos: május 05. napjától

Átírás:

AppArmor Névalapú kötelező hozzáférés-vezérlés PPKE-ITK 2014. március április Tartalomjegyzék 1. Bevezetés 2 1.1. Történet........................................ 2 1.2. Az AppArmor célja.................................. 2 1.3. Az AppArmor felépítése............................... 2 2. Az AppArmor használata 3 2.1. Parancsok....................................... 4 2.2. Védelem létrehozása................................. 4 3. Ellenőrző kérdések 5 1

1. Bevezetés Az AppArmor a névalapú kötelező hozzáférés-vezérlés (Mandatory Access Control, MAC) megvalósítása Linux biztonsági modulként. Az AppArmor az egyes programokat felsorolt fájlok és a POSIX 1003.1e vázlat szerinti képességek halmazához köti. 1.1. Történet 2005-től 2007-ig az AppArmor-t a Novell tartotta karban. Eredetileg a linuxos biztonsági megoldások fejlesztésére szakosodott Immunix fejlesztette ki. A Novell 2005. májusában jelentette be, hogy megvásárolta az Immunix-et. 2007. szeptemberében a Novell elbocsátotta az AppArmor csapat nagy részét. Jelenleg a Canonical fejleszti, része az Ubuntu és az Ubuntura épülő disztribúcióknak. 1.2. Az AppArmor célja Az AppArmor célja, hogy megvédje a rendszert azoktól a támadásoktól, amelyek a rendszeren található alkalmazások hibáit akarják kihasználni. Az ilyen támadásokból adódó fenyegetés abban rejlik, hogy a támadó rossz esetben rá tudja venni az alkalmazást olyan viselkedésre, ami tőle váratlan és nemkívánatos. Az AppArmor úgy kezeli ezt a problémát, hogy lekorlátozza az alkalmazások erőforrásokhoz való hozzáférhetőségét és kizárólag csak azokhoz az erőforrásokhoz engedi hozzáférni őket, amelyek feltétlenül szükségesek a megfelelő futásukhoz. Tulajdonképpen a lehető legkisebb privilégiumszintű végrehajtásra szorítja az alkalmazást. A MAC lényege, hogy ezek a korlátozások a root-ra is kötelező érvényűek. Az alkalmazások számos erőforráshoz fájlokhoz, processzek közti kommunikációhoz, hálózatkezeléshez, más alkalmazások futtatásához, stb. férhetnek hozzá. A lehető legkisebb privilégiumszintű végrehajtás célja, hogy korlátozza a rosszindulatú támadó (vagy kód) által okozható kárt azzal, hogy megakadályozza az alkalmazás összes olyan erőforráshoz való hozzáférhetőségét, amely nem szükséges az eredetileg tervezett működéséhez. Az AppArmor megközelítésben egy alkalmazás egy vagy több olyan egymással kapcsolatban álló processzt jelent, amely azonos feladatot lát el. Ilyen például az Apache processzek csoportja, amely webkiszolgálási feladatot teljesít. Az AppArmor csak azokat a processzeket korlátozza, amelyekre az AppArmor policy rendelkezik, egyéb más processzek bármit megtehetnek, amire a DAC (Discretionary Access Control - önkényes hozzáférés-védelem) lehetőséget biztosít. Az AppArmor nem ad olyan alapértelmezett policy-t, amely minden processzre vonatkozik. Ha teljes egészében meg akarunk védeni egy hostot, akkor aprólékosan le kell korlátoznunk minden olyan processzt, amely potenciális támadásnak van kitéve. 1.3. Az AppArmor felépítése Az AppArmor a Linux kernelen belül a Linux Security alrendszer része 1. Számos utility tartozik hozzá, amelyek megkönnyítik a konfigurálását. Úgynevezett profilokat használ az alkalmazás számára engedélyezett fájlok és jogosultságok meghatározásához. Néhány csomag saját profilt telepít, de számos további profil található az apparmor-profiles csomagban. 1 Linuxon külön fájlrendszere van securityfs típussal, és a /sys/kernel/security helyre van felcsatolva 2

Fontos elemei: /etc/init.d/apparmor init szkript, a /etc/apparmor/ és a /etc/apparmor.d/ könyvtárak. Az előbbiben a utilityk konfigurációi, az utóbbiban a profilok, az azokhoz szükséges absztrakciók, a disable könyvtár, stb. találhatóak. A profil neve mindig a futtatható bináris elérési útja, a / helyett. -tal. Tehát a /bin/ping alkalmazáshoz a bin.ping nevű profil tartozik. A következőképpen néz ki: #include <tunables/global> /bin/ping { #include <abstractions/base> #include <abstractions/consoles> #include <abstractions/nameservice> #include <local/bin.ping> } capability net_raw, capability setuid, network inet raw, /bin/ping mrix, /etc/modules.conf r, A #include-kezdetű sorok az ún. absztrakciók, melyekbe gyakran alkalmazott szabályokat gyűjtöttek össze, így ezeket az egyes profilokban újra lehet használni (pl. ha az alkalmazás szeretne névfeloldást, akkor a nameservice absztrakciót kell hozzáadni). A capabilityk a Linux által biztosított képességek (Részletek: man capabilities). A továbbiakban lehet felsorolni a biztosítani kívánt fájlokat és mappákat, a hozzáférés módjának megadásával. Ez némiképp eltér a hagyományos linuxos jogosultságkezeléstől (kibővíti azt). A fájlokat és könyvtárakat teljes elérési úttal kell megadni, melyben reguláris kifejezések és változók is használhatóak. Egy mappán belül a * az összes fájlt, a ** az összes alkönyvtárt és fájlt jelöli. Egy fájlhoz, vagy könyvtárhoz a következő jogosultságok rendelhetőek 2 : Az alkalmazás r: olvashatja a fájlt/mappát w: írhatja a fájlt/mappát a: hozzáfűzhet a fájlhoz l: hard linket hozhat létre. Alfolyamat hívása m: memory mapping joggal ix: a hívó jogosultságainak örököltetésével px: a hívott alkalmazás saját profilja szerint (kötelező profillal rendelkeznie) ux: profil betöltése (védelem) nélkül. 2. Az AppArmor használata Egy alkalmazás unconfined, ha nincs hozzá betöltve profil, azaz alkalmazás nem védett. Ha egy alkalmazás védett (confined), további két állapota lehet: Panaszkodás/tanulás (complain): a profilsértések engedélyezettek, és naplózásra kerülnek. Új profilok létrehozásához, teszteléséhez és fejlesztéséhez hasznos. Kényszerített (enforce): kikényszeríti a profilházirendet, és naplózza a megsértésükre vonatkozó kísérleteket. 2 Bővebben kifejtve: http://www.novell.com/documentation/apparmor/apparmor201_sp10_admin/data/bx5bmls.html 3

2.1. Parancsok Minden parancs root jogokat igényel, így a sudo helyett célszerűbb rendszergazda-terminált használni. Az aa- kezdetű parancsok az apparmor-utils csomag részei. aa-status Kiírja a profilok és a hozzájuk tartozó processzek állapotát állapotát. aa-unconfined Kilistázza a hálózaton kommunikáló processzeket, és a védelmük állapotát. service apparmor reload Újra betölti a profilokat (a szolgáltatás újraindítása nélkül). apparmor_parser -[acrr] profil.neve Egy megadott profil betöltése enforce (a) / complain (c) módban, újratöltése (r) módosítás után, valamint kikapcsolása a következő betöltésig (R). Ez a hagyományos módszer, inkább a utils parancsokat alkalmazzuk: aa-complain /útvonal/futtatható A megadott alkalmazáshoz tartozó profil betöltése/frissítése complain módba. aa-enforce /útvonal/futtatható A megadott alkalmazáshoz tartozó profil betöltése/frissítése enforce módba. aa-disable /útvonal/futtatható A megadott alkalmazáshoz tartozó profil kikapcsolása, és link létrehozása a disable könyvtárba. Ezzel előzi meg, hogy újraindításkor újra betöltődjön. Vö. apparmor_parser -R aa-logprof Az audit szolgáltatás naplózza a házirend-sértéseket. A logprof segítségével a napló alapján lehet interaktív módon frissíteni a profilokat. Részletek: man aa-logprof! aa-genprof /útvonal/futtatható Új profil létrehozása a megadott alkalmazáshoz, azonnali complain módba állítással. Segítségével az alkalmazás tesztelésével egyszerre lehet a szabályokat kialakítani. 2.2. Védelem létrehozása A védelem kialakítása a következő lépésekből áll: 1. Alap profil létrehozása a binárishoz. Betöltéssel, és complain módba állításával: aa-genprof /útvonal/futtatható 2. Alkalmazás tesztelése egy másik ablakban. (Közben az audit nevű szolgáltatás naplózza a futó alkalmazás által igényelt erőforrásokat.) 3. Log elemzése, profil frissítése: Miután végeztünk az alkalmazás tesztelésével, az S (Scan system log for AppArmor events) választásával kezdhetjük a konfigurálást. Minden esetben kiírja az igényt és több javaslatot is tesz annak kielégítésére. Részletek: man aa-logprof. 4

4. Profil mentése (S), majd kilépés (F). Célszerű ilyenkor complain módban hagyni, és az alkalmazás használata után/közben később megvizsgálni az aa-logproffal, mert semmi sem garantálja, hogy a teszt során minden erőforrásigény felmerült. Enforce módban egy nemvárt hozzáférés-kísérlet összeomláshoz vezethet, ami egy éles környezetben (pl. webv. adatbázis kiszolgáló) túl nagy kockázat. (A mérés során ez nem releváns.) 5. Enforce módba állítás: aa-enforce /útvonal/futtatható 6. Ha az alkalmazás hibásan működik, complain módba állítással és/vagy profilfrissítéssel javítható: (aa-complain /útvonal/futtatható) aa-logprof -m "útvonal.futtatható" Finomhangoláshoz egyszerűbb a profil kézi módosítása szövegszerkesztővel. Ezután újra be kell tölteni: aa-enforce /útvonal/futtatható 3. Ellenőrző kérdések 1. Mely felhasználókra kötelező az AppArmor házirendje? 2. Mi mindent tartalmazhat egy alkalmazásprofil? 3. Mit jelent a lehető legkisebb privilégiumszintű végrehajtás? 4. Hol találhatóak az alkalmazások profiljai? 5. Mi a /opt/google/chrome/chrome futtatható állomány profiljának neve? 6. Mik azok az absztrakciók? 7. Hogyan adna egy profilban hozzáfűzési és olvasási jogot a /path/to/file.log fájlhoz? 8. Hogyan engedélyezné egy profilban a /bin/echo program hívását korlátozás nélkül? 9. Mi a különbség az unconfined és a complain állapotok között? 10. Mi a különbség az enforce és a complain állapotok között? 11. Milyen információt ad meg az aa-unconfined parancs? 12. Mi a különbség az aa-disable és az apparmor_parser -R között? Miért? 13. Nem engedélyezett a névfeloldás a pingben. Hogyan adná hozzá? (/bin/ping) 14. Az apparmor-utils csomag nélkül hogyan töltene be egy profilt complain módban? 5