Védelem nehéz napokra - az SELinux I.
2006/06/25 16:52
3481 megtekintés
A cikk már legalább egy éve nem frissült, az akkor még aktuális információk lehet, hogy mára elavultak.
A standard Linux kernel védelmi mechanizmusai bizonyos esetekben nem nyújtanak kellően konfigurálható védelmet. Lássuk, mit használhatunk kiegészítésnek!

A Linux - felépítéséből adódóan - egyszerűen, de hatékonyan szabályozza az egyes felhasználók, illetve folyamatok által az elérhető erőforrásokhoz és fájlokhoz történő hozzáféréseket. A rendszermagban található alapszintű szabályrendszer (a DAC - discretional access control) legtöbb esetben megfelelően működik, de találkozhatunk olyan helyzetekkel, amikor ez bizony nem elegendő, ennél szigorúbb rendre van szükség. Gondoljunk csak bele abba a helyzetbe, amikor a webkiszolgálónk az apache user nevében fut. Egy DAC-t használó rendszeren a webszerver processzei hozzáférhetnek mindazokhoz a fájlokhoz, amelyekhez az apache user is (pl. az /etc könyvtár tartalma), viszont ez egyes esetekben inkább hátrányos, mint előnyös. Jó lenne, ha létezne ilyenkor egy kötelező házirend, amely megszabja, hogy a httpd processz bizony csak adott erőforrásokat érhet el. Jó hírünk van, létezik ilyen megoldás. A neve: SELinux. A fájlok SELinux attribútumai

A SELinux (Security Enhanced Linux) nevű projekt az amerikai NSA (National Security Agency) égisze alatt jött létre. Céla egy olyan rendszerkiegészítés elkészítése volt, amelyik a hagyományos DAC mellett MAC (Mandatory Access Control) típusú védelmet kínál. Ez lehetővé teszi, hogy egy kiszolgálóprocessz vagy alkalmazás hozzáférését minimalizálva rendkívül biztonságos környezetet alakítsunk ki szerverünkön vagy akár desktop gépünkön is. Az SELinux számos biztonsági modellt ötvöz magában, mint például a Role-Based Access Control (RBAC) vagy a Multi-level Security (MLS). Az SELinux eredendően a Flask operációs rendszerhez készült kiegészítésnek indult, de fejlesztői a Linux kernelhez implementálták megoldásaikat. Az SELinux megbízhatóságát és sikerét mi sem jelzi jobban, minthogy a vállalati megoldásokat nyújtó Red Hat minden operációs rendszerében felhasználja. E biztonsági kiegészítés több más disztribúcióban, így pl. a Fedora vagy a CentOS változatokban is megtalálható, de természetesen másokhoz is elérhető kernelpatch és más kiegészítő alkalmazások formájában.

Az SELinux használata, működésének megértése nem egyszerű feladat, mint ahogy a magasszintű biztonság kialakítása sem. Sorozatunkban nem törekszünk majd arra, hogy a SELinux fejlesztésének mélységeit megismerjük, inkább a beállítások, alapszintű konfigurációk és hibakeresés részleteit fogjuk ismertetni. A példákat Fedora Core 5 alatti környezetben mutatjuk be, de ezek természetesen más disztribúciókban is felhasználhatóak. A system-config-securitylevel tool Mint korábban említettük, a Red Hat család tagjaiban "gyárilag" implementálásra került az SELinux, valamint az alapértelmezett csomagkészletben megtalálhatók a userspace alkalmazások is, melyekkel szabályozzuk majd az SELinux működését, a szabályok (policy-k) felépítését. Ebből kifolyólag már a telepítés során választhatunk, milyen üzemmódban fusson az SELinux. Alapbeállításként természetesen engedélyezve van, ez az ún. enforcing mód, ilyenkor a kernel a megtalálható policyk alapján fog dolgozni. Hasznos üzemmód a permissive is, amikor a rendszermag feldolgozza ugyan a szabályokat, de azokat nem juttatja érvényre, mindössze egy-egy logüzenet tájékoztat bennünket a helytelen működésről. Ezt az módot tesztelési, tanulási fázisban célszerű használni.

Természetesen lehetőségünk nyílik az SELinux teljes kikapcsolására is.A védelem a rendszerindítás korai szakaszában, az rc.sysinit script lefutásakor aktivizálódik. Célszerű emlékeznünk erre, hiszen egy nem körültekintően végzett konfiguráció akár a rendszergazda kizárását is eredményezheti. Ilyen esetben a GRUB-nál megadott enforcing=0 kernel boot paraméterrel kikapcsolhatjuk az SELinuxot. Ugyanitt érdemes megjegyezni, hogy ez a módszer aktív, problémamentes rendszereken is a védelem megszűntetését eredményezi, gondoskodjunk tehát arról, hogy illetéktelenek ne tudják a rendszerindítási folyamatot módosítani! (folytatjuk)

Csatlakozz hozzánk!

Ajánljuk

European Schoolnet Academy Ingyenes online tanfolyamok tanároknak
School Education Gateway Ingyenes tanfolyamok és sok más tanárok számára
ENABLE program Program iskoláknak a bullying ellen
Jövő osztályterme Modern tanulási környezetekről a Sulineten