SELinux vs AppArmor: összehasonlítás Linux szerverekhez
15 perc olvasás - 2026. május 21.

A SELinux és az AppArmor összehasonlítása a Linux-kiszolgáló biztonságához: Ismerje meg az egyes MAC-keretek működését, a legfontosabb különbségeket, és hogy melyiket válassza a tárhelybeállításhoz.
SELinux vs AppArmor: Melyik MAC-keretrendszer illik a szerveréhez?
Az SELinux és az AppArmor egyaránt érvényesíti a kötelező hozzáférés-vezérlést (MAC) Linuxon, korlátozva a folyamatok tevékenységét, még akkor is, ha root jogosultságot szereznek. A különbség abban rejlik, hogy hogyan teszik ezt. Az SELinux minden fájlhoz és folyamathoz állandó címkéket rendel. Az AppArmor helyette fájlútvonal-szabályokat használ. Ez az egy tervezési döntés határozza meg minden mást: a komplexitást, a biztonsági szintet, valamint azt, hogy melyik disztribúció melyik eszközt szállítja alapértelmezésként.
Hogyan működik a SELinux
A SELinux-ot eredetileg az NSA fejlesztette ki, és alapértelmezés szerint a RHEL, a CentOS, a Fedora és a Rocky Linux rendszerekben található meg. A rendszer minden objektumát, beleértve a fájlokat, folyamatokat, portokat és socketeket, egy biztonsági kontextussal címkézi a következő formátumban user:role:type:levelformátumú biztonsági kontextussal. A type mező végzi a nehéz munkát egy Type Enforcement (TE) nevű mechanizmuson keresztül.
Például az Apache webszerver httpd_t. A webes tartalomfájlok más típusúak. Ha nincs olyan szabály, amely kifejezetten engedélyezi httpd_t hozzáférést engedélyezne ahhoz a tartalomtípushoz, a kérés elutasításra kerül. Ez egy alapértelmezés szerint elutasító modell. Semmi sem engedélyezett, hacsak egy szabály másként nem rendelkezik.
A SELinux támogatja a többszintű biztonságot (MLS) és a többkategóriás biztonságot (MCS) is, amelyek az adatokat érzékenységi szintjük szerint osztályozzák, és ennek megfelelően korlátozzák a hozzáférést. Az MCS biztosítja a SELinux erős konténer-elkülönítését, amely a konténereket egymástól és a gazdagéptől is elválasztja. Ez fontos a Kubernetes és az OpenShift környezetekben, ahol a podok megosztanak egy csomópontot.
Ennek ára a komplexitás. A SELinux tanulási görbéje meredek. A hozzáférés-elutasítások hibaelhárítása az auditnaplók olvasását, a biztonsági kontextusok megértését, és néha egyéni szabálymodulok létrehozását jelenti audit2allow. A dedikált biztonsági személyzettel nem rendelkező csapatok számára ez a többletmunkaterhelés valós problémát jelent.
Hogyan működik az AppArmor
Az AppArmor más megközelítést alkalmaz. Az objektumok címkézése helyett biztonsági profilokat rendel az alkalmazásokhoz a fájlútvonalak alapján. Az /usr/sbin/nginx meghatározza, hogy az Nginx mely könyvtárakat olvashatja, mely portokhoz kapcsolódhat, és milyen képességekre van szüksége. A profilok egyszerű szöveges fájlok, amelyeket a /etc/apparmor.d/.
Az AppArmor az Ubuntu, a Debian és a SUSE alapértelmezett MAC-keretrendszere. A 2.6.36-os verzió óta része a Linux kernelnak. A profil nélküli alkalmazások a szabványos Linux DAC-jogosultságokra esnek vissza.
Az AppArmor profilonként két módban fut: Enforce (megszegéseket blokkol és naplózza) és Complain (megszegéseket naplózza blokkolás nélkül). Ez lehetővé teszi az új profilok fokozatos bevezetését. Kezdje Complain módban, vizsgálja át a naplókat, szigorítsa a profilt, majd váltson Enforce módra.
Olyan eszközök, mint aa-genprof és aa-logprof segítenek a profilok interaktív létrehozásában azáltal, hogy figyelik az alkalmazás működését, és a viselkedéséből szabályokat generálnak. A SELinux szabálymodulokhoz képest a szintaxis sokkal könnyebben olvasható és kézzel szerkeszthető.
A hátránya, hogy az elérési útvonalon alapuló szabályok nem követik a fájlokat, amikor azok áthelyeződnek. Egy kemény link vagy egy bind mount elméletileg megkerülheti az elérési útvonalon alapuló korlátozást. Az AppArmor nem támogatja natívan az MLS/MCS-t, így a konténereket elszigetelheti a gazdagéptől, de egymástól nem, ahogyan azt a SELinux teszi.
Egymás melletti összehasonlítás
| Funkció | SELinux | AppArmor |
|---|---|---|
| Hozzáférés-vezérlési modell | Címkealapú (biztonsági kontextusok) | Útvonalalapú (fájlrendszer-helyek) |
| Alapértelmezett beállítás | Minden elutasítása | Minden engedélyezése (profilonkénti korlátozások) |
| Fájlmozgatás | A címkék követik a fájlt | Az útvonalhoz kötött biztonság |
| MLS/MCS támogatás | Igen | Nem |
| Konténer-elkülönítés | Konténer-konténer és konténer-gazdagép | Csak konténer-gazdagép |
| Házirend formátum | Fordított bináris modulok | Ember által olvasható szöveges fájlok |
| Alapértelmezett disztribúciók | RHEL, Fedora, CentOS, Rocky Linux | Ubuntu, Debian, SUSE |
| Tanulási görbe | Meredek | Közepes |
Alapkonfiguráció
SELinux
Ellenőrizze az aktuális állapotot:
sestatus
getenforceIndítsa el Permissive módban, hogy a szabályszegéseket naplózza anélkül, hogy bármit is blokkolna:
setenforce 0A legtöbb szerver esetében használja a „targeted” szabályzatot. Ez korlátozza a magas kockázatú szolgáltatásokat, mint például a webszerverek és az adatbázisok, míg minden mást korlátozás nélkül hagy. Állítsa be állandóként a /etc/selinux/config:
SELINUX=enforcing
SELINUXTYPE=targetedEllenőrizze a fájlok és folyamatok biztonsági kontextusait:
ls -Z /var/www/html
ps -eZ | grep httpdHa egy szolgáltatás nem szabványos portot használ, frissítse a szabályzatot:
semanage port -a -t ssh_port_t -p tcp 9999Az elutasításokat generáló egyéni alkalmazások esetében hozzon létre egy szabálymodult az ellenőrzési napló alapján:
ausearch -m avc -ts recent | audit2allow -M my_custom_policy
semodule -i my_custom_policy.ppAppArmor
Ellenőrizze, mely profilok vannak betöltve:
sudo aa-statusTelepítse a segédprogramcsomagot, ha profilkezelő eszközökre van szüksége:
sudo apt install apparmor-utilsKészítsen profilt interaktív módon az alkalmazás futása közben:
sudo aa-genprof /path/to/binaryFinomítsa a profilt a naplóban szereplő szabálysértések átvizsgálásával:
sudo aa-logprofVáltson profilok között:
sudo aa-enforce /etc/apparmor.d/usr.sbin.nginx
sudo aa-complain /etc/apparmor.d/usr.sbin.nginxMelyiket érdemes használni?
A legtöbb rendszergazda számára a gyakorlati válasz: használja azt, amit a disztribúciója tartalmaz. Az RHEL, a CentOS, a Fedora és a Rocky Linux SELinux-szal érkezik. Az Ubuntu, a Debian és a SUSE AppArmor-ral érkezik. Mindkét keretrendszer rendelkezik kiforrott eszközökkel és szabályokkal a natív platformjaihoz. Bármely disztribúció esetében az alapértelmezettől eltérő opcióra való átállás plusz munkát jelent és csökkenti a közösségi támogatást.
Ezen túlmenően a követelményei alapján döntsön:
- Válassza a SELinux-ot, ha meg kell felelnie a PCI DSS, HIPAA vagy DISA-STIG előírásoknak. Ha többbérlős konténeres munkaterheléseket futtat Kubernetesen vagy OpenShift-en. Ha konténer-konténer elszigetelésre van szüksége megosztott gazdagépeken. Ha környezete titkosított vagy érzékenységi szintű adatokat kezel.
- Válassza az AppArmort, ha Ubuntu vagy Debian rendszert futtat, és MAC-védelmet szeretne hirtelen bevezetés nélkül. Ha a rendszer egy egyetlen szerver vagy kis klaszter, amely standard webszolgáltatásokat futtat. Ha a gyors telepítés fontosabb, mint a részletes, címke-szintű vezérlés.
Mindkét keretrendszer minimális futási terhelést jelent. A SELinux az Access Vector Cache-ben tárolja a hozzáférési döntéseket. Az AppArmor szabályzatainak betöltése kis késleltetést okozhat a rendszerindításkor, de futás közben elhanyagolható hatása van. A legtöbb hosting-terhelés esetében egyik sem jelent majd szűk keresztmetszetet.
Ha megbízható hosting alapra van szüksége, teljes root hozzáféréssel a keretrendszerek konfigurálásához, az FDC dedikált szerverei vagy VPS-ei biztosítják Önnek a szükséges ellenőrzést, hogy a környezete igényeinek megfelelően állítsa be a SELinux-ot vagy az AppArmort.

Zombifolyamatok Linuxban: Megkeresés, eltávolítás, megelőzés
Ismerje meg, hogyan azonosíthatja, távolíthatja el és akadályozhatja meg a zombi-folyamatokat Linuxban. Parancsok, kódjavítások és felügyeleti tippek szerveradminok számára.
15 perc olvasás - 2026. május 19.
Linux-kiszolgáló keményítésének ellenőrző listája
15 perc olvasás - 2026. május 8.

Kérdése van, vagy egyedi megoldásra van szüksége?
Rugalmas lehetőségek
Globális elérés
Azonnali telepítés
Rugalmas lehetőségek
Globális elérés
Azonnali telepítés