Biztonságos linux rész

1. Bevezetés

Hajnalán számítástechnikai biztonság, kevesen gondolták. Egyfelhasználós módban, és nem túl bonyolult a modern szabványok, az operációs rendszer lehetővé teszi, hogy a tulajdonos a számítógép nagyon jó megértése minden lezajló folyamatok a rendszerben.

Aztán a számítógépek egyre gyakoribbak lettek, és voltak problémák a biztonságot. Akkor cserélje ki a „mindent szabad” ez egy új szabály: „mindent, ami nem tilos.” Melyik a két megközelítés a rosszabb? Lehetővé teszi az összes, az operációs rendszer már téve a felhasználó számára. Ugyanakkor a második megközelítés vezetett az új kihívásokra és a megjelenése gyorsan növekvő üzleti területeken: földalatti üzleti alkotók vírusok és a hivatalos - antivírus fejlesztők, tűzfalak és egyéb biztonsági programokat. Modern botnetek alkotják millió „zombi” számítógépek, amelyekre nézve az illúziót biztonság, „mindent, ami nem tilos!”

Egy cikksorozatban megnézzük AppArmorral végrehajtó rendszer más - kevésbé népszerű, de erősebb - az elv a „tiltott minden, ami nincs kifejezetten tiltva.” Talán a széles körű bevezetése csökkenteni fogja az intenzitása a verseny „kihasználja”, és a biztonsági frissítéseket? Az első cikksorozat fogunk adni csak az alapvető információkat erről a csodálatos fejlődést. A következő - fog összpontosítani dolgozó AppArmor több, valamint hogy más biztonsági funkciókat, mint például a SELinux.

2. Alkalmazás réseket - a sérülékeny rendszert?

Milyen engedélyek működésének futó programok a számítógépen? Mail kliens és a böngésző a hozzáférést a levelezést a Jabber kliens, Jabber kliens nem tilos hozzáférni a mail és fájl böngésző profilt. És ha szükséges, a program nagy lehetőséget? Kényelmes munka elég Jabber kliens hozzáférést csak a könyvtárban az előzményeket és annak beállításait. E-mail kliens elég saját könyvtárat a beállítások, üzenetek, plusz egy másik könyvtárat, amelyből ez lesz és ki fog tartani a csatolt fájlokat e-maileket. Internet böngésző elegendő saját profilját, és fájlmegosztás könyvtárban.

3. foglalás alkalmazások, illetve a biztonságos „sandbox”

Az egyik legnépszerűbb alacsony szintű alkalmazások esetén, amelyek a védelmi rendszer azon az elven alapul a „tiltott minden, ami nem kifejezetten megengedett”, a fejlesztés Novell - AppArmor rendszer. Fő célja - a védelmét a sérült rendszerek (azaz feltört) programok. Ilyen védelmet alapul előírnia a minimális szükséges program munkalehetőségek és a kiváltságokat. Ez azt jelenti, hogy a torrent kliens nem rendelkezik a jogokkal futtatni a levelező program. és Jabber kliens - hozzáférést az e-mail könyvtárban. Más szóval, a AppArmor alkalmazás hozza egyfajta „sandbox” határozza meg, a korlátozott lehetőségek, és abban az esetben a törés az összes kárt okozott egy hacker bejutott a programot kell korlátozódnia a tartalma ennek a „sandbox”.

Hogy megvédje a rendszergazda általában elég minden program egy biztonsági profilt való hozzáférés korlátozására mappák, programok és egyéb POSIX-lehetőségeket. Az viszont, AppArmorral veszi a feladatot, hogy figyelemmel kíséri a kérelmet és bejelentést, ha egy program megkísérli az erőforrások megoldatlan. Így egyszerű módon AppArmorral alapján a hagyományos Unix egyedi hozzáférés vezérlés egy új modell - a kötelező hozzáférés-vezérlés.

3.1. Állapotának ellenőrzése AppArmor

Mérlegelési és a kötelező hozzáférés-vezérlés

DDC valósul legtöbb operációs rendszer. Ez áll a következő: minden objektum (fájl, könyvtár, stb) tulajdonítják, hogy a tulajdonos, aki önkényesen megváltoztatni a jogosultságokat egy objektum a hozzá tartozó.

Az erőssége a DDC az egyszerűség - a legfontosabb oka annak, hogy széles körben ismert és végrehajtani a leggyakoribb operációs rendszerekre.

A fő hátránya a DDC következő:

  1. korlátozó világpolitikában: DDC lehetővé teszi a felhasználónak, hogy meghatározza az adatai hozzáférhetőségét, függetlenül a globális politikát. Ha a DDC globális politika, hogy nehézségek vannak biztosítva az összhangot a szabályokat.
  2. Az irányítás hiánya az információáramlás: információ lehet másolni az egyik tárgy a másikra, majd másolja a hozzáférés-vezérlési üzemmód nem függ a módot a hozzáférés szabályozása az eredeti objektumot.
  3. sérülékenység veszélybe szoftver: DCD politika könnyen változtatható a tulajdonos, így egy hacker, aki nyer felett a program fut a tárgy tulajdonosa lehet változtatni a DCD politika tudta nélkül a tulajdonos.

AppArmor profilok alapján - minden futó alkalmazás szabályozása alatt AppArmor van rendelve egy profilt, amely meghatározza, hogy mely jogokat és lehetőségeket az alkalmazás rendelkezésére áll. Az egyszerűség kedvéért, a csomag telepítés és konfiguráció tartalmaz egy sor standard profilok a legnépszerűbb (és védelmet igénylő) alkalmazásokhoz. Emellett kész profilok találhatók sok közös (többnyire szerver) program - keresse meg a linket az oldal a „Hivatkozások” részben. Így minden, ami szükséges, hogy a rendszergazda, aki úgy dönt, hogy használja az AppArmor, - ez a helyes választás az alkalmazások, korlátozni kell a jogosultságokat, és létrehozása / szerkesztése a biztonsági profilok.

Ezután megbeszéljük a munka AppArmor rendszer beállítását és telepítését a standard profilok és tesztelje a funkciót.

Megjegyzés: 1. A felhasználók yast2 OpenSUSE grafikus felülettel rendelkezik, hogy az AppArmor, de ez nem túl kényelmes. Ezen túlmenően, más eloszlások egy ilyen felület nem. Ezért fogunk összpontosítani a munkát a parancssorban.

2. megjegyzés: Az összes következő parancsokat teszteljük openSUSE 11.1 és Kubuntu 8.04. Akik más disztribúciók ellenőrizniük kell hordozott változata AppArmor, és ha szükséges, használja a megfelelő utasításokat.

Hogy csökkentsék a disztribúciós különbségeket Kubuntu egy egyszerű parancsot:

Ahogy talán már sejtette, ez a csapat kezeli a démon AppArmor.

Először is, azt nézze meg, ha AppArmor fut a számítógépen.

Kubuntu adott nekünk a következő eredménnyel:

A következtetés ugyanaz a csapat az openSUSE:

Kötelező hozzáférés-vezérlést

ICM meghatározza a globális biztonsági politika, amely a tárgyak, beleértve a felhasználók számára. A tulajdonos nem tudja beállítani a hozzáférési jogokat az objektum gyengébb, mint a meghatározott rendszer politikát. Rendszer politikák jelzik ki engedélyezett hozzáférést. Rendes felhasználó nem tudja megváltoztatni a politikát.

A fő hátránya az ICM - összetettsége létrehozása és fenntartása a rendszer politikát.

Mint látható, az openSUSE alapértelmezett ellenőrzések több mint programok Kubuntu. Nézzük meg részletesebben, amit beszámol rcapparmor status parancs az openSUSE (Hogyan be további információt). Tehát apparmor modul betöltése, és használatra kész, csak meg 11 profilokat. Két lehetséges AppArmorral ellenőrzési rendszer az összes kérelem: érvényesítése és panaszkodnak. Kényszerítés módban a rendszer korlátozza a AppArmor alkalmazás szerint működnek a profilt, és jelezze megsértésének kísérlete a szabályokat, és panaszkodnak mód - Csak jelenteni a szabályok megszegéséért, amely lehetővé teszi, hogy az alkalmazás bármely intézkedés szükséges. Nem nehéz kitalálni, hogy a második mód tipikusan a hibakeresés profilok (hiányára külön engedélyezés nem sérti a normális működését a program), és az első üzemmódban ténylegesen védi a rendszert a rendellenes alkalmazás. Példánkban az openSUSE érvényesíteni módban 10 alkalmazás és panaszkodnak üzemmód - csak az egyik. Mintegy váltás az üzemmódok között, az alábbiakban ismertetjük.

AppArmor fontos jellemző, hogy az összehasonlítás az alkalmazás profil szerint hajtjuk végre az abszolút elérési utat a futtatható fájlt. Ha másolja, például a ping segédprogram a / bin / könyvtárban / usr / bin és nevezd át my_ping AppArmor nincs megkötés, hogy többé nem jár - nem a profil az „új” program. Néhány (nagyon ritka!) Körülmények között ez a funkció használható egy hacker, de ez is bőséges lehetőséget (ami lesz szó a következő cikkben).

Ahogy unconfined jelölt folyamatok, melyek profilok léteznek, de AppArmor korlátozások nem vonatkoznak (ebben az esetben öt ilyen programok). Ez akkor történik, amikor a megfelelő eljárásokat írtak AppArmor letölthető. Ahhoz, hogy ezt a nagyon egyszerű: indítsa újra a kívánt alkalmazást, és ez meg fog változni, hogy érvényesítse a listában (vagy panaszkodnak):

Száma betöltött profilok növelhető - a felelős ezért apparmor-profilok csomagot. Az openSUSE már telepítette, és Kubuntu kell csinálni kézzel:

Most megnézzük, hogy mi változott:

3.2. hozzáadása profilok

dokumentáció

Nézze meg a / usr / share / doc / apparmor-profilok / extrák Kubuntu vagy / etc / apparmor / profiles / extrák OpenSUSE. Itt található számos további profilokat a szerver folyamat, valamint a „desktop” (beleértve az összes kedvenc csapat férfi). Ez a könyvtár is található, többek között, és a profil a Firefox és az Opera - AppArmor ellenőrzése alatt a böngésző lesz még biztonságosabb! A neve minden egyes profil van kódolva ellenőrzött alkalmazása: usr.bin.skype fájlt a program skype található, amely a / usr / bin / skype (első backslash eldobjuk, a többit helyébe egy pont).

Add, hogy ez a program már megkezdődött az AppArmor ellenőrzés. Ehhez a profilt másolni fájlt a megfelelő könyvtárba, és indítsa újra a démont AppArmor:

root: cp /usr/share/doc/apparmor-profiles/extras/usr.bin.skype /etc/apparmor.d

root: cp /etc/apparmor/profiles/extras/usr.bin.skype /etc/apparmor.d/ könyvtárban

Most indítsa újra a démont, és ellenőrizze, hogy az alkalmazás irányítása alá került az AppArmor:

3.3. Switching vezérlési mód

AppArmor állapota OpenSUSE Kubuntu és megmutatta egy másik hozzáállás, hogy a szabályozási módok az alábbi eloszlás: az openSUSE kényszerítés módba alkalmazások 10, míg a Kubuntu (telepítés után további profilok) - összesen 3, és a fő rész - a panaszkodás módba.

Ha váltani a vezérlési mód a AppArmor tartalmaz speciális segédprogramok - érvényesíteni, és panaszkodnak, csak adja meg a parancsot, és írja be a nevét a kérelmet. Itt például, kapcsoló vezérlési mód a ping segédprogram:

root: érvényesítése ping

Szerelése kényszerített rendszer /etc/apparmor.d/bin.ping.

root: panaszkodnak ping

Telepítése kíméletes bánásmód /etc/apparmor.d/bin.ping.

3.4. Ez hogy működik

Rajzolj egy kis kísérlet, hogy megtudja, hogyan működik mindez. Például, hogy mindegy segédprogram ping - az állapot, azt látjuk, hogy ez az eszköz egy profil:

Még nem nézett a profil, akkor könnyen kitalálható, hogy a minimálisan szükséges jogosultságokat ping nem tartalmazza a hozzáférést a felhasználó saját könyvtárát. Így ellenőrizni a viselkedését a AppArmor esetében nem szabványos viselkedését a segédprogramot.

Először is, egy kis felkészülés:

Most cserélje ki a ping segédprogram valami mást, például cp (a továbbiakban jár, mint a root felhasználó):

Korábban említettük, hogy AppArmorral rendel minden program profilja szerint abszolút elérési útvonalát az alkalmazás, ami azt jelenti, hogy az új csapat, annak ellenére, hogy teljesen azonos a cp közüzemi képest profil célja, hogy ping.

Megjegyzés: 1. Láttuk, hogy az Ubuntu ping segédprogram által ellenőrzött AppArmor tanuló módba, és OpenSUSE - kényszerítés módba. Ahhoz, hogy továbbra sem zavarják a kis különbség, viszont a kontroll érvényesítése mód:

Szerelése kényszerített rendszer /etc/apparmor.d/bin.ping.

Most próbálja meg a „szokatlan” viselkedés (ne felejtsük el, hogy cserélje ki a „felhasználó” a parancs, hogy a megfelelő felhasználói név):

Ja, igen, az AppArmor betiltotta a segédprogram használatával másolja a fájlt. Került rögzítésre, hogy a naplóban?

2. megjegyzés: Az OpenSUSE AppArmor jelentések írt /var/log/audit/audit.log fájlt. és Kubuntu üzenetek közvetlenül a / var / log / messages. Fent a következő üzenet jelenik openSUSE Kubuntu kiadási méret kissé különbözik.

Nem nagyon világos üzenetet, de láthatjuk, hogy

type = APPARMOR_DENIED. Üzenet a AppArmor, akinek valaki valami tiltott;

requested_mask = "r ::" denied_mask = "r ::". a hatás típusát, hogy a program megpróbálta végrehajtani, és amelyet tilos volt;

fsuid = 0. felhasználói azonosítót, az azonosítót tartozik nulla gyökér;

pid = 5911. folyamat id alatt ilyen futtatni a „korrigált» ping segédprogram;

profile = "/ bin / ping". a tényleges program profilját.

Most lefordítani ping segédprogram panaszkodni vezérlés:

Telepítése kíméletes bánásmód /etc/apparmor.d/bin.ping.

Minden nagyon jó volt! A fájl sikeresen másolt. És mi újság a naplóban?

A fő különbség a korábbi vizsgálati rekordok - ez type = APPARMOR_ALLOWED. AppArmor engedélyezi az akció, bár, és üzenetet hagyott a naplóban.

Ne felejtsük el, hogy távolítsa el a kísérletek eredményétől:

root: rm teszt test1

és cserélje ki a segédprogram ping:

root: mv / bin / my_ping / bin / ping

Most, hogy láttuk az AppArmor alkalmassága és megtanulta, hogy hol keresse jelentéseket a nem szabványos viselkedés, lehetséges, hogy a gyakorlatban az elv a „tiltott minden, ami nincs kifejezetten tiltva.”

4. Mi védi?

5. Következtetés

Összefoglalni. Ez a cikk adott egy rövid bevezetés a AppArmor rendszer lehetővé teszi könnyedén biztonságának növelése Linux-pc. Megvizsgáltuk csak a szabványos profilok, amelyek azonban nagy számban léteznek a különböző programokat. A következő cikkben fogunk összpontosítani inkább új profilok, nézd meg a szintaktikai szabályokat és támogató eszközöket.