AppArmor

Debian AppArmor bemutató

Debian AppArmor bemutató
Az AppArmor egy kötelező beléptető rendszer a Linux számára. Egy kötelező beléptető rendszerben (MAC) a kern korlátozásokat szab az útvonalakra, a foglalatokra, a portokra és a különféle bemeneti / kimeneti mechanizmusokra. Az Immunex fejlesztette ki, és most a SUSE karbantartja. A 2. verzió óta a Linux kernel része.6.36.

Míg a Linux kernel jó elkülönítést biztosít a felhasználóktól és erős fájlengedély-vezérlést biztosít, az MA, mint az AppArmor, finomabbra szabott engedélyeket és védelmet nyújt számos ismeretlen fenyegetés ellen. Ha biztonsági rést talál a Linux kernelben vagy más rendszerdémonban, a jól konfigurált AppArmor rendszer megakadályozhatja a kritikus útvonalakhoz való hozzáférést, amelyek veszélyeztetettek lehetnek a probléma szempontjából.

Az AppArmor kétféle módban képes hatékonyan működni - érvényesíteni és panaszt tenni. A kényszerítés az AppArmor alapértelmezett gyártási állapota, míg a reklamálás hasznos a valós működési mintákon alapuló szabálykészlet kialakításához és a szabálysértések naplózásához. Sima szöveges fájlokon keresztül van konfigurálva, viszonylag barátságos formátumban, és rövidebb tanulási görbével rendelkezik, mint a legtöbb más kötelező beléptető rendszer.

Telepítés

Az AppArmor telepítéséhez a Debian-ra futtassa (root-ként):

apt install apparmor apparmor-utils auditd

Kihagyhatja az auditd elemet, ha nincs szüksége profilalkotó eszközökre.

Indító és további profilok telepítéséhez futtassa:

apt install apparmor-profilok apparmor-profilok-extra

Mivel az AppArmor egy Linux kernelmodul, a következő parancsokkal kell engedélyeznie:

mkdir -p / etc / default / grub.d

Hozza létre az / etc / default / grub fájlt.d / apparmor.cfg a következő tartalommal:

GRUB_CMDLINE_LINUX_DEFAULT = "$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 1 security = apparmor"

Mentés és kilépés, majd futtatás:

update-grub

Ezután indítsa újra.

Vita van arról, hogy ezt automatikusan meg kell-e tenni. Érdemes megkeresni a hibajelentés végét, hogy megtudja, megváltozott-e ez az írás óta.

Az újraindítás után ellenőrizheti, hogy az AppArmor engedélyezve van-e a futtatással:

aa-státusz

Ez a parancs felsorolja a betöltött AppArmor profilokat, és felsorolja azok aktuális megfelelőségi állapotát (kikényszerítve, panaszkodva stb.)

Ha fut:

ps auxZ | grep -v '^ unconfined'

Megjelenik az AppArmor-profil által korlátozott programok listája. A zárt program az AppArmor által érintett és korlátozott (akár passzívan, panaszos módban, akár aktívan kényszerített módban).

Módok módosítása / az AppArmor letiltása

Ha kikapcsolja az AppArmor programot, mert egy program nem működik, akkor fontolja meg a profil panaszos módba helyezését kényszerített mód helyett. Ehhez futtassa (root-ként vagy sudo-n keresztül):

aa-reklamál / útvonal / programhoz

Például, ha a ping nem működik megfelelően, használja:

aa-reklamál / usr / bin / ping

Miután egy profil panasz módban van, megvizsgálhatja a naplózást a / var / log / syslog fájlon keresztül vagy a journalctl -xe segítségével a systemd rendszereken (Debian 8.x, Jessie és magasabb).

Miután szerkesztette a profilt a korlátozás eltávolítására vagy módosítására, a bináris esetében ismét bekapcsolhatja a kényszerítési módot:

aa-kényszerítés / elérési út / programhoz

A fenti példában cserélje le a / path / to / program parancsot a bináris fájl teljes elérési útjára, amelyet a kérdéses profil érintett.

Ha problémája van egy programmal, és panaszkodási módban van, a naplók konkrét információkat tartalmaznak arról, hogy milyen műveletet utasítottak el. A műveleti mező elmagyarázza, hogy a program mit próbált megtenni, a profil mező az érintett profilt, a név megadja a művelet célját (i.e. milyen fájlt állítottak le egy olvasási vagy írási műveletnél), és a kért és elutasított maszkok jelzik, hogy a program által kért és a profilonként megtagadott műveletet elolvasták-e vagy írták-e.

A profilt teljesen letilthatja a futtatással:

aa-disable / path / to / program

Vagy letilthatja az AppArmor alkalmazást a fájl szerkesztésével: / etc / default / grub.d / apparmor.cfg tartalmaznia kell:

GRUB_CMDLINE_LINUX_DEFAULT = "$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 0"

Aztán futás:

update-grub

És indítsa újra a rendszert.

Munka az AppArmor profilokkal

Az AppArmor profilok az / etc / apparmor könyvtárban találhatók.d / könyvtár. Ha telepíti az apparmor-profilok és az apparmor-profilok-extra csomagok csomagot, akkor a / usr / share / doc / apparmor-profiles és / usr / share / doc / apparmor-profiles / extra fájlokat megtalálja. Aktiválásukhoz másolja a fájlokat az / etc / apparmor könyvtárba.d majd szerkessze őket, hogy biztosan tartalmazzák a kívánt értékeket, mentse el, majd futtassa:

szolgáltató apparmor újratöltése

Ha csak egy profilt szeretne újratölteni, futtassa:

apparmor_parser -r / etc / apparmor.d / profil

Ahol a „profil” a kérdéses profil neve.

Nem ajánlott a profilokat és az extra profilokat csak az / etc / apparmor fájlba másolni.d könyvtár anélkül, hogy azokat kézzel szerkesztené. Egyes profilok régiek lehetnek, mások pedig biztosan nem tartalmazzák a kívánt értékeket. Ha mindet másolja, legalább állítsa panaszra, hogy figyelemmel kísérhesse a jogsértéseket anélkül, hogy megszakítaná a gyártási programokat:

cd / etc / apparmor.d
f-re *.*; do aa-reklamál / etc / apparmor.d / $ f; Kész

Az aa-enforce paranccsal külön-külön is engedélyezheti a megtartani kívánt profilokat, hangolhatja azokat, amelyek problémákat okoznak, és kikényszerítheti azokat, vagy eltávolíthatja azokat, amelyekre nincs szüksége, aa-disable futtatásával vagy a profilfájl eltávolításával az / etc / apparmor fájlból.d.

AppArmor profil létrehozása

Egyéni profil létrehozása előtt meg kell keresni az / etc / apparmor fájlt.d és / usr / share / doc / apparmor-profilok könyvtárak egy létező profilhoz, amely lefedi a szóban forgó bináris fájlt. Ezek kereséséhez futtassa:

find / usr / share / doc / apparmor-profiles | grep „program” -i

Cserélje ki program az AppArmor programmal védeni kívánt programmal. Ha talál ilyet, másolja az / etc / apparmor könyvtárba.d, majd szerkessze a fájlt a kedvenc szövegszerkesztőben.

Minden profil három fő szakaszból áll: tartalmazza, képességek és útvonalak. Hasznos referenciát talál a SuSE dokumentációjában.

Magába foglalja

Tartalmaz olyan szintaxist, amelyet a fájl belsejében használhat. A C / C ++ #include <> szintaxist használják, és általában az / etc / apparmor fájlban található absztrakciókat referálják.d / absztrakciók könyvtár.

Képességek

A képességek szakasz, amely általában a benne foglaltak után található, felsorolja azokat a speciális képességeket, amelyeket a program képes végrehajtani. Például engedélyezheti a programnak a setuid művelet végrehajtását:

képesség setuid

A net_bind_service képesség lehetővé teszi, hogy egy program hálózati porthoz kapcsolódjon. Ha ezt nem engedélyezi, akkor az Apache-hoz hasonló szerverdémon nem tudja megnyitni a 80-as portot és hallgatni. Ennek a lehetőségnek az elhagyása azonban kiváló biztonságot nyújthat azoknak a folyamatoknak, amelyekben nem bízik a hálózatban.

Útvonalak

Felsorolhatja azokat az útvonalakat, amelyeket a program képes olvasni (és esetleg írni). Például, ha engedélyezi a program számára az / etc / passwd fájl elérését, adja hozzá:

/ etc / passwd r

A profilban. Vegye figyelembe az „r” betűt - ez csak olvasható. Ha ezt „w” -re változtatja, akkor erre az útvonalra vagy fájlra lehet írni.

Még akkor is, ha engedélyez egy elérési utat az AppArmor programban, akkor is Linux fájlrendszer-korlátozások vonatkoznak rá (i.e. chmod, chgrp és chown beállítással). Az AppArmor azonban továbbra is extra védelmet nyújt, ha ezek a mechanizmusok sérülnek.

Következtetés

Az AppArmor sikeres telepítésének kulcsa a profilok beállítása a panaszra, majd az érvényesítés. A gondos naplóvizsgálat megadja Önnek a program sikeres működéséhez szükséges minimális utakat és képességeket. Ezek és nem több hozzárendelésével drámai módon növelheti a rendszer biztonságát.

A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...
5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...
Csata a Wesnothért 1.13.6 Megjelent a fejlesztés
Csata a Wesnothért 1.13.A múlt hónapban megjelent 6 a hatodik fejlesztési kiadás az 1-ben.13.x sorozat, és számos fejlesztést hajt végre, nevezetesen ...