Először is leszögezném, hogy a közhiedelemmel ellentétben a security nem egy kínai étel! A security biztonságot jelent, az alábbiakban abban az értelemben használjuk, hogy egy szerver mennyire áll ellen az őt érő szándékos vagy természetes eredetű rongálásoknak. Gyakran külön szokták választani ezt a két dolgot, mi itt nem tesszük, hiszen mindkettő ellen lehet és kell védekezni.
A szándékos rongálások ellen akkor tudjuk felvenni a versenyt, ha a számítógépünk operációs rendszere képes valamilyen szintű jogosultságok vagy privilégiumok kiosztására. Egyfelhasználós rendszereknél (pl. DOS, Windows vagy OS/2) ennek persze nincs értelme, tehát ne hagyjuk magunkat megtéveszteni pl. akkor, amikor a Windows95 felhasználói azonosítót és jelszót kér tőlünk! A DOS, Windows95 valójában egyfelhasználós rendszerek. Ezeknek a rendszereknek a szintjén a security nem értelmes fogalom, pontosabban nem foglalkozunk vele. Ha a rendszerünk egy többfelhasználós operációs rendszer (pl. UNIX, VMS vagy NT), akkor a security ilyen vonatkozásában a felhasználók jogosultságait, a file-ok, erőforrások hozzáférési jogosultságait értjük.
A véletlen balesetek elleni védekezést (üzembiztonság) is a security címszó alá soroljuk, ami alatt azt értjük, hogy a számítógépünk vagy a szoftvereink mennyire stabilak, azaz kissé közönségesebben: milyen gyakran ,,romlanak el''. Ha pl. a számítógépünket egy floppylemez segítségével indítjuk el, akkor az hosszú távon kevésbé biztonságos, mintha belső, direkt erre a célra tervezett diszkeket használnánk, mert a floppy rendszeres használat mellet gyorsan ,,elkopik'', tehát használhatatlan lesz a rendszer...
Létezik a security-nek egy hivatalos megközelítése, amely 7 osztályba sorolja a számítógépeket. Az osztályozás 1985-ből az Egyesült Államok Védelmi Minisztériumától (USA DoD) származik, és ORANGE BOOK néven közismert. Ez a dokumentum nem ,,feltörési nehézség''-eket definiál, hanem a rendszer egyes szintjeinek elkülönítettségét, jogosultságok skálázhatóságának finomságát figyelembe véve sorol csoportokba. Fontos tudnivaló az is, hogy az ORANGE BOOK nem szól arról az esetről, amikor a számítógép hálózatba van kötve, a hardver és a szoftver együtt kapja a minősítést, az elbírálás pedig nem részrehajló, hiszen egy független szervezet adja.
Lássuk az egyes osztályokat:
Mivel Linux-al fogunk foglalkozni, érdemes átgondolni, hogy a UNIX-ok az egyéb rendszerekhez képest hol állnak security tekintetében. Az remélhetőleg mindenki számára világos, hogy a Win* termékeket messze verik ilyen tekintetben. Rosszabb helyzetben vannak viszont a komolyabb rendszerekkel szemben, amilyen pl. a VMS. A különbség könnyen érzékeltethető. A VMS sokkal finomabban skálázható jogosultságok tekintetében, mint egy UNIX. A UNIX-okban általában a file-ok hozzáférési jogait a +rwxrwxrwx karaktersor jellemzi. r az olvasási (read) jogot, w az írási (write) jogot, és x a futtatás (execute) jogát jelenti, a háromszor ismétlés pedig a tulajdonos-csoport-mindenki_más (user-group-other) hármashoz tartozik. A + helyén lehetnek egyéb beállítások, de ezek néha csak rontanak a helyzeten<2... A VMS kicsit többet tud: (RWED;RWED;RWED;RWED) a jellemző security karaktersor, ahol a R az olvasás, W az írás, E a futtatás és D a törlés (delete) jele. A négyes osztás a rendszergazda-tulajdonos-csoport-mindenki_más felosztásból származik, tehát a UNIX-ok 3x3 security bitjével szemben a VMS-nek 4x4 ilyen bitje van.3 Ezek mellett a VMS támogatja a ún. ACL-t (Access Control List - ehhez hasonlót egyes UNIX-ok alatt is implementáltak, pl. a Solaris ACL-je). További apróság, hogy a UNIX rendszereken kétféle felhasználó létezik: mezei user ill. root. A kettő közti különbséget is lényegében az egyes file-okhoz tartozó jogosultságok okozzák. Ezzel szemben a VMS külön privilégiumokat oszt ki az egyes felhasználókhoz, amelyek függetlenek a csoporttól, és potom 39 ilyen privilégium létezik. Külön érdekesség, hogy a VMS kezdeti verziói formálisan bizonyítottak voltak (később a bonyolultság már nem tette ezt gazdaságossá). Egyszóval a UNIX (Linux) security szempontjából nem a világ teteje, de biztonságossá tételéhez adott a lehetőség...
Ez a dokumentum PC-s linux szerverek biztonságos konfigurálásával és üzemeltetésével foglalkozik. Sajnos sokan azt gondolják, hogy a Linux komoly esetben csak webszervernek jó, ennek ellenére egyre több Linux alapú szolgáltatás érhető el a hálózaton keresztül. Más rendszerekkel szemben a Linux kissé hátrányos helyzetben van security szempontjából, hiszen a forráskódja nyilvános, elég sokan használják ahhoz, hogy kellően mély ismeretekkel rendelkezzenek egy szerver feltöréséhez, és az üzemeltetők vagy felhasználók sem mindig veszik komolyan a veszélyeket. De az Open Source előny is, hiszen a rendszerbe beépített kiskapuk (backdoors) vagy a véletlen programozási hibák sokkal előbb kiderülnek és javításuk is hamarabb megtörténik, mint a nem publikus forrású rendszereké.4A problémák jelentős része abból származik, hogy a Linux a UNIX család egy tagja, és örökölte a UNIX-ok rengeteg nyavajáját. (pl. setuid bittel kapcsolatos biztonsági hiányosságok - a setuid/setgid bit ennek ellenére nagyon jó eszköz, ha figyelmesen használjuk.) Reméljük ez a dokumentum segítséget nyújt azoknak akik Linux alapú szolgáltatást üzemeltetnek vagy terveznek üzembe állítani.