Biztonság és megbízhatóságBiztonság és megbízhatóság

Tartalomjegyzék

44.1. Helyi és hálózati biztonság
44.2. Néhány általános biztonsági tipp és trükk
44.3. Központi biztonsági jelentési cím használata

A Linux- és UNIX-rendszerek egyik fő jellemzője, hogy egyszerre több felhasználót tudnak kezelni (többfelhasználósság) és lehetővé teszik, hogy ezek a felhasználók egyidejűleg több feladatot hajtsanak végre ugyanazon a számítógépen (többfeladatosság). Az operációs rendszer a hálózat szempontjából átlátszó. A felhasználók gyakran nem is tudják, hogy az általuk használt adatokat és alkalmazásokat helyileg vagy a hálózaton keresztül érik el.

A többfelhasználósság miatt a különböző felhasználók adatait külön kell tárolni. Garantálni kell a biztonságot és megbízhatóságot. Az adatok biztonsága már azelőtt is fontos probléma volt, hogy a számítógépeket hálózatokon keresztül összekapcsolták volna. Csakúgy, mint manapság, a legfontosabb szempont akkor is az volt, hogy az adatok akkor is rendelkezésre álljanak, ha az adathordozó – általában merevlemez – elveszett vagy másképp károsodott.

Ez a rész elsősorban a megbízhatósággal kapcsolatos témakörökre és a felhasználók személyiségi jogainak védelmére koncentrál, de nem hangsúlyozható eléggé, hogy egy átfogó biztonsági alapelvnek mindig tartalmaznia kell azokat az eljárásokat, amelyekkel garantálható, hogy rendszeresen frissített, működő és tesztelt biztonsági mentések legyenek kéznél. Enélkül nagyon nehéz az adatok visszanyerése – nemcsak hardverhiba esetén, hanem akkor is, ha az a gyanú merült fel, hogy valaki jogosulatlan hozzáférés birtokában belenyúlt a fájlokba.

Helyi és hálózati biztonságHelyi és hálózati biztonság

Az adatok sokféleképp elérhetők:

  • személyes kommunikáció révén olyan személyekkel, akik rendelkeznek a kívánt információval, vagy hozzáférnek egy számítógép adataihoz

  • közvetlenül a számítógép konzoljáról (fizikai hozzáférés)

  • soros vonalon keresztül

  • hálózati kapcsolat segítségével

Ezen esetek mindegyikében a kérdéses erőforrások és adatok elérése előtt a felhasználót hitelesíteni kell. A webkiszolgálók kevésbé lehetnek korlátozók ebben a vonatkozásban, de továbbra sem kívánatos a személyes adatok nyilvánosságra hozatala.

A fenti lista első esete az, ahol a legtöbb felhasználói interakció történik; például, amikor kapcsolatba lép egy banki alkalmazottal, és bizonyítania kell, hogy Ön a bankszámla tulajdonosa. Ezután meg kell adnia egy aláírást, PIN-kódot vagy jelszót annak bizonyítására, hogy Ön valóban az, akinek állítja magát. Bizonyos esetekben lehet, hogy egyes adatok kicsalhatók egy tájékozott személytől azzal, hogy ügyesen előadva valami olyan szöveget, ami ismert információmorzsákat tartalmaz, elnyerik a bizalmát. Az áldozat lépésről-lépésre egyre több információt adhat ki, esetleg anélkül, hogy egyáltalán észrevenné azt. A hackerek ezt social engineering néven emlegetik. Ez ellen csak az emberek felvilágosításával, a nyelvhasználat és az információ tudatos kezelésével lehet védekezni. A számítógéprendszerekbe betörés előtt a támadók gyakran megpróbálják célba venni a recepciósokat, a vállalatnál dolgozó karbantartó személyzetet vagy akár a családtagokat. Az ilyen emberi kapcsolatokra épülő támadások sok esetben csak nagyon lassan derülnek ki.

A jogosulatlan adatelérésre vágyó személyek a hagyományos módszereket is kipróbálhatják, és megpróbálhatnak közvetlenül hozzáférni a hardvereszközökhöz. Éppen ezért a gépet mindenféle beavatkozás ellen érdemes védeni, hogy senki ne távolíthassa el, cserélhesse le vagy tehesse tönkre az alkatrészeit. Ez a biztonsági mentésekre, valamint a hálózati és tápkábelekre is vonatkozik. Biztonságossá kell tenni a rendszerindítási folyamatot is, mivel vannak olyan jól ismert billentyűkombinációk, amelyekkel furcsa eredmények érhetők el. Ez ellen a BIOS és a rendszertöltő jelszavának beállításával lehet védekezni.

Még mindig sok helyen használnak soros portokhoz csatlakozó soros terminálokat. A hálózati csatolókkal szemben ezeknek nincs szükségük hálózati protokollokra a gazdagéppel folytatott kommunikációhoz. Egy egyszerű kábelen vagy infravörös porton sima karakterek haladnak át az eszközök között. Az ilyen rendszerek leggyengébb pontja maga a kábel: egy erre csatlakoztatott régebbi nyomtatóval egyszerűen rögzíthető minden, amely a vezetékeken keresztülmegy. Ami egy nyomtató számára elérhető, az más módon is hozzáférhető, a támadásba fektetett erőfeszítéstől függően.

Egy fájl helyi gépen történő olvasásához más hozzáférési szabályokra van szükség, mint egy hálózati kapcsolat megnyitásához egy másik gépen futó kiszolgáló felé. Különbség van a helyi és a hálózati biztonság között. A határ ott húzódik, ahol a máshová küldendő adatokat csomagokba kell helyezni.

Helyi biztonságHelyi biztonság

A helyi biztonság a gép helyének fizikai környezetével kezdődik. Olyan helyre telepítse a gépet, ahol a biztonság megfelel az elvárásoknak. A helyi biztonság fő célja a felhasználók elkülönítése, így a felhasználók nem szerezhetik meg a többiek jogosultságait és személyazonosságát. Ez egy általánosan betartandó szabály, de különösen igaz a root felhasználóra, aki a legfőbb jogokat gyakorolja a rendszeren. A root bármely helyi felhasználó azonosságát magára veheti jelszó megadása nélkül és elolvashatja bármelyik helyileg tárolt fájlt.

JelszavakJelszavak

A Linux-rendszereken a jelszavak természetesen nem nyílt szövegként kerülnek tárolásra és a beírt szöveges karaktersorozat sem egyszerűen csak össze van vetve az eltárolt mintával. Ha ez lenne a helyzet, akkor a rendszeren lévő minden fiók veszélybe kerülne, ha valaki hozzáférne a jelszófájlhoz. Ehelyett a jelszavak titkosítva tárolódnak, minden beíráskor újból titkosításra kerülnek, és a két titkosított karaktersorozat kerül összehasonlításra. Ez persze csak akkor nyújt nagyobb biztonságot, ha a titkosított jelszóból nem fejthető vissza az eredeti karaktersorozat.

Ez egy speciális algoritmussal érhető el, amelyet csapóajtó (trapdoor) algoritmusnak is hívnak, mivel csak egy irányba működik. A titkosított karaktersorozatot megszerző támadó hiába ismeri az algoritmust, nem tudja egyszerűen, az algoritmus alkalmazásával megszerezni a jelszót. Ehelyett az összes lehetséges karakterkombinációt ki kell próbálnia, amíg nem talál egy olyan kombinációt, ami titkosítva úgy néz ki, mint a jelszó. Nyolc karakter hosszúságú jelszó esetén meglehetősen sok kombinációt kell kiszámoltatni.

A hetvenes években bizonyították, hogy ez a metódus a használt algoritmus viszonylagos lassúsága miatt sokkal biztonságosabb a többinél, mivel egy jelszó titkosítása eltart néhány másodpercig. Időközben azonban a PC-k teljesítménye eléggé megnövekedett ahhoz, hogy több százezer vagy millió titkosítást végezzenek másodpercenként. Éppen ezért ma már a normál felhasználók a titkosított jelszavakat sem láthatják (az /etc/shadow fájlt a normál felhasználók nem olvashatják). Ami még fontosabb, hogy a jelszavak ne legyenek egyszerűen kitalálhatók abban az esetben, ha a jelszófájl egy esetleges hiba miatt láthatóvá válik. Következésképpen nem túl hasznos például a „micimacko” jelszót „m1c1m@ck0” értékre „lefordítani”.

A szó néhány betűjének hasonlóan kinéző számokkal való helyettesítése nem elég biztonságos. A szavak megfejtéséhez szótárakat használó jelszótörő-programok is alkalmaznak hasonló behelyettesítéseket. Jobb módszer egy olyan szó létrehozása, amelynek nincs általános jelentése; egy olyan szóé, ami csak az adott személy számára értelmes, például egy mondat szavainak vagy egy könyv címének első betűi, mint például Umberto Eco „A rózsa neve” című könyve. Ez az alábbi biztonságos jelszót adja: „U3Arn9”. Ezzel szemben a „borbarat” vagy „kati72” és hasonló jelszavakat egyszerűen kitalálhatja egy olyan személy, aki egy kicsit is ismeri a felhasználót.

A rendszerindítási folyamatA rendszerindítási folyamat

Állítsa be a rendszert úgy, hogy ne lehessen hajlékonylemezről vagy CD-ről elindítani: vagy azzal, hogy teljesen eltávolítja ezeket a meghajtókat, vagy azzal, hogy beállít egy BIOS-jelszót és megadja, hogy a rendszer csak merevlemezről indulhasson. A Linux-rendszert általában egy rendszertöltő indítja el, amely lehetőséget ad arra, hogy további paramétereket adjon át az elindított kernelnek. A /boot/grub/menu.lst fájlban (lásd: 18. fejezet - A rendszertöltő) fájlban egy további jelszó beállításával akadályozza meg, hogy mások ilyen paramétereket adhassanak meg a rendszerindítás során. Ez kritikus fontosságú a rendszer biztonsága szempontjából. A kernel nemcsak hogy maga is root jogosultságokkal fut, de ő az első, aki a rendszerindítás során root jogosultságokat oszt ki.

FájljogosultságokFájljogosultságok

Általános szabályként mindig a lehető legkorlátozottabb jogosultságokat kell használni az adott feladathoz. E-mail olvasásához vagy írásához például biztosan felesleges root jogosultság. Ha a levelezőprogramban hiba van, akkor ezt ki lehet használni egy olyan támadáshoz, amely pontosan azokkal a jogosultságokkal zajlik, mint amelyekkel a program rendelkezett induláskor. A fenti szabályt követve a lehető legkisebbre csökkenthető a potenciális kár.

A SUSE Linux Enterprise disztribúció fájljainak jogosultságát körültekintően kell megválasztani. A kiegészítő szoftvereket vagy egyéb fájlokat telepítő rendszeradminisztrátornak körültekintően kell eljárnia, különösen a jogosultságbitek beállításakor. A tapasztalt és a biztonságot szem előtt tartó rendszeradminisztrátorok mindig a -l paraméterrel használják az ls parancsot, és egy bővebb fájllistát jelenítenek meg, amelyben azonnal észlelhetők a nem megfelelő fájljogosultságok. Egy nem megfelelő fájlattribútum nemcsak azt jelenti, hogy a fájlok módosíthatók vagy törölhetők. Ezeket a módosított fájlokat a root felhasználó hajthatja végre, illetve konfigurációs fájlok esetén a programok az ilyen fájlokat root jogosultságokkal használhatják. Ez jelentősen növeli egy támadó esélyeit. Az ilyen támadásokat kakukktojásoknak (cuckoo eggs) hívják, mivel a programot (a tojást) egy másik felhasználó (madár) hajtja végre (költi ki) hasonlóan ahhoz, ahogy a kakukk másik madarat vesz rá, hogy költse ki a tojásait.

A SUSE Linux Enterprise rendszer a következő fájlokat tartalmazza az /etc könyvtárban: permissions, permissions.easy, permissions.secure és permissions.paranoid. Ezeknek a fájloknak az a célja, hogy speciális jogosultságokat határozzanak meg, például bárhonnan írható könyvtárakat, vagy fájlok esetében megadják a set user ID bitet (a set user ID bittel rendelkező programok nem az ezeket elindító felhasználó jogosultságaival futnak, hanem a fájl tulajdonosának – a legtöbb esetben a root felhasználónak a jogosultságaival). Az adminisztrátor az /etc/permissions.local fájl segítségével saját beállításokat adhat meg.

Annak meghatározásához, hogy a SUSE Linux Enterprise konfigurációs programjai melyik fenti fájlokat használják a megfelelő jogosultságok beállításához, válassza ki a YaST szoftver Biztonság és felhasználók menüjének Helyi biztonság menüpontját. A témakörrel kapcsolatos további informácót az /etc/permissions megjegyzései és a chmod kézikönyvoldala (man chmod) tartalmaz.

Puffertúlcsordulások és formátum-karaktersorozat hibákPuffertúlcsordulások és formátum-karaktersorozat hibák

Különleges körültekintéssel kell eljárni, amikor a programnak olyan adatokat kell feldolgoznia, amelyet a felhasználó módosíthat vagy módosíthatott, de ez inkább az alkalmazásprogramozó problémája, mint a normál felhasználóké. A programozónak vigyáznia kell arra, hogy az alkalmazás megfelelően értelmezze az adatokat, ne történhessen meg, hogy az adatok tárolásához túl kicsi memóriaterületekre ír. A programnak is következetes módon kell átadnia az adatokat az erre a célra meghatározott felületeken keresztül.

Puffertúlcsordulás akkor történhet, ha a memóriapuffer aktuális mérete a pufferbe íráskor nem kerül figyelembevételre. Ez olyan esetekben fordul elő, amikor a felhasználó által előállított adat több területet használ fel, mint amennyi a pufferben rendelkezésre áll. Ennek eredményeképp az adatok a pufferterület végén túlra íródnak, ami bizonyos körülmények között lehetővé teszi, hogy a program a felhasználói adatok egyszerű feldolgozása helyett a felhasználó (és nem a programozó) által befolyásolt programkódot hajtson végre. Az ilyen típusú hibáknak komoly következményei vannak, különösen akkor, ha a program speciális jogosultságokkal kerül végrehajtásra (lásd: 44.1.4. szakasz - Fájljogosultságok).

A formátum-karaktersorozat hibák némileg eltérő módon működnek, de ez ismét egy olyan felhasználói bemenet, amely rossz irányba viszi a programot. A legtöbb esetben ezek a programozási hibák a speciális jogosultságokkal rendelkező programok – a setuid és setgid programok – esetén kerülnek kihasználásra. Ez szintén azt jelenti, hogy az adatok és a rendszer úgy védhetők az ilyen hibák ellen, hogy a megfelelő jogosultságokat megvonják a programokról. A legjobb módszer a lehető legalacsonyabb szintű jogosultságok alkalmazása (lásd: 44.1.4. szakasz - Fájljogosultságok).

Mivel a puffeltúlcsordulások és a formátum-karaktersorozat hibák a felhasználói adatok kezelésével kapcsolatos hibák, nemcsak akkor használhatók ki, ha egy helyi fiók rendelkezik hozzáféréssel. A jelentett hibák nagy része egy hálózati kapcsolaton keresztül is kihasználható. Ennek megfelelően a puffertúlcsordulásokat és formátum-karatersorozat hibákat úgy kell osztályozni, hogy a helyi és a hálózati biztonság szempontjából is lényegesek.

VírusokVírusok

Szemben azzal, amit néhányan mondanak, vannak Linuxon futó vírusok is. Az ismert vírusokat a szerzők az elv igazolásaként készítették, bizonyítva, hogy az alkalmazott technika valóban működik. Eddig e vírusok egyike sem szabadult még el.

A vírusok nem maradhatnak életben és nem terjedhetnek olyan gazdarendszer nélkül, amelyeken megtelepedhetnének. A mi esetünkben a gazdarendszer lehet egy program vagy a rendszer egy fontos tárolóterülete, mint például a master boot rekord, amelynek a vírus programkódja számára írhatónak kell lennie. A többfelhasználósság miatt a Linux az írási hozzáférést bizonyos fájlok esetén korlátozhatja. Ez különösen a rendszerfájlok esetén fontos. Ha a szokásos munkát root jogosultságokkal végzi, akkor megnöveli annak esélyét, hogy a rendszert vírus fertőzze meg. Ha ezzel szemben a fent említett lehető legalacsonyabb jogosultságok alapelvét követi, akkor a vírusfertőzés esélye kicsi.

Nem érdemes továbbá olyan internetes forrásból programot telepíteni, amelyet nem ismer igazán. A SUSE Linux Enterprise RPM csomagjai kriptográfiai aláírást tartalmaznak, így afféle digitális címkék formájában jelzik, hogy a csomagok a megfelelő gondossággal lettek elkészítve. A vírusok megjelenése tipikus jele annak, hogy az adminisztrátor vagy a felhasználó nem rendelkezik a szükséges biztonsági ismeretekkel és veszélyezteti a rendszert, amelyet a tervezés legelső lépésétől kezdve nagyon biztonságossá kell tenni.

A vírusokat nem szabad összekeverni a férgekkel (worm), amelyek teljes mértékben a hálózatok világához tartoznak. A férgek terjedéséhez nincs szükség gazdagépre.

Hálózati biztonságHálózati biztonság

A hálózati biztonság kialakítása fontos, hogy védettek legyünk a kívülről indított támadásokkal szemben. A felhasználó hitelesítéséhez felhasználónevet és jelszót bekérő szokásos bejelentkezési folyamat továbbra is helyi biztonsági kérdés. Abban a speciális esetben, amikor a bejelentkezés hálózaton keresztül történik, meg kell különböztetni a két biztonsági aspektust. A tényleges hitelesítésig történő dolgok a hálózati biztonság tárgykörébe tartoznak, ami pedig utána következik, az már a helyi biztonságéba.

X Window rendszer és X hitelesítésX Window rendszer és X hitelesítés

Ahogy már az elején is szó volt róla, a hálózat átlátszósága a UNIX rendszer egyik központi jellemzője. A UNIX operációs rendszer ablakkezelő rendszere, az X igen látványosan képes ezt a funkciót kihasználni. X használata esetén teljesen normális dolog bejelentkezni egy távoli gépen és elindítani egy grafikus programot, amely azután adatokat küld át a hálózaton, amelyek megjelennek a saját gépünkön.

Amikor az X klienst távolról kell megjeleníteni egy X kiszolgáló segítségével, a kiszolgálónak meg kell védenie az általa kezelt erőforrást (azaz a megjelenítőt) a hitelesítés nélküli eléréstől. Konkrétabban: a kliensprogram számára meg kell adni bizonyos jogosultságokat. X Window rendszerrel ez kétféleképpen hajtható végre; a két módszer neve gép alapú hozzáférés-vezérlés és cookie alapú hozzáférés-vezérlés. Az előbbi annak a gépnek az IP-címére épül, amelyen a kliensnek futnia kell. Ezt az xhost program vezérli. Az xhost megadja egy legális kliens IP-címét az X kiszolgálóhoz tartozó kis adatbázisban. Az IP-cím alapú hitelesítés azonban nem túl biztonságos. Ha például egy második felhasználó is használja a kliensprogramot küldő gépet, akkor ez a felhasználó az X kiszolgálóhoz is hozzáférhet – ugyanúgy, mint az, aki ellopja az IP-címet. E hibák miatt ez a hitelesítési mód nem is kerül részletesebben leírásra itt, de a man xhost parancs használatával többet is megtudhat róla.

Cookie alapú hozzáférés-vezérlés esetén a rendszer létrehoz egy karaktersorozatot, amelyet csak az X kiszolgáló és a jogosult felhasználó ismer – ez olyan, mint valami azonosítókártya. Ez a cookie (a szó nem a szokásos sütikből ered, hanem a kínai szerencsesütikből, amelyek mindegyike egy mondást tartalmaz) a felhasználó saját könyvtárában található .Xauthority fájlban kerül tárolásra, és minden X kliens számára rendelkezésére áll, amely az ablak megjelenítéséhez az X kiszolgáló használatára vár. A felhasználó az xauth eszköz segítségével megjelenítheti a .Xauthority fájlt. Ha átnevezte a .Xauthority fájlt vagy véletlenül törölte a saját könyvtárból, akkor nem nyithatók meg új ablakok és X kliensek. Az X Window rendszer biztonsági mechanizmusaival kapcsolatos további információt az Xsecurity kézikönyvoldala (man Xsecurity) tartalmaz.

Az SSH (secure shell) segítségével a hálózati kapcsolat teljesen titkosítható és átlátszó módon továbbítható egy X kiszolgálóhoz anélkül, hogy a felhasználó észrevenné a titkosítási mechanizmust. Ezt X továbbításnak (X forwarding) is nevezik. Az X továbbítás a kiszolgálóoldalon egy X kiszolgáló szimulálásával, a távoli gépen pedig egy DISPLAY környezeti változó beállításával valósítható meg. Az SSH-val kapcsolatban további részletek: 40. fejezet - SSH: Biztonságos hálózati műveletek.

[Warning]

Ha azt a gépet, amelyre bejelentkezett, nem tekinti biztonságosnak, akkor ne használjon X továbbítást. Engedélyezett X továbbítással egy támadó az SSH-kapcsolaton keresztül hitelesítheti magát az X kiszolgálóra, és ha már behatolt, akkor figyelheti például a billentyűzetbemenetet.

Puffertúlcsordulások és formátum-karaktersorozat hibákPuffertúlcsordulások és formátum-karaktersorozat hibák

Amint már szó esett róla (44.1.5. szakasz - Puffertúlcsordulások és formátum-karaktersorozat hibák), a puffertúlcsordulásokat és formátum-karaktersorozat hibákat a helyi és hálózati biztonságot is érintőként kell kezelni. Hasonlóan az ilyen hibák helyi változataihoz, a hálózati programok puffertúlcsodulásait sikeresen kihasználók általában root jogosultságokat igyekeznek szerezni. Még ha nem is ez a helyzet, egy támadó akkor is kihasználhatja a hibát arra, hogy megszerezze egy nem kiváltságos felhasználói fiók elérését a rendszeren esetleg előforduló egyéb gyenge pontok kiaknázására.

A hálózati kapcsolaton keresztül kihasználható puffertúlcsordulások és formátum-karaktersorozat hibák a távoli támadások leggyakoribb formái. Ezek kihasználásának módjai – az újonnan megtalált biztonsági lyukakat kihasználó programok – gyakran felkerülnek a biztonsági levelezési listákra. Ezek segítségével a gyenge pont a kód részleteinek ismerete nélkül is célba vehető. Az évek során a tapasztalat azt mutatta, hogy a hibákat kihasználó kódok elérhetősége szerepet játszott a még biztonságosabb operációs rendszerek kifejlesztésében, nyilvánvalóan azzal, hogy az operációs rendszerek készítői kényszerítve voltak a szoftvereikban található hibák kijavítására. Szabad szoftver esetén bárki hozzáférhet a forráskódhoz (a SUSE Linux Enterprise programot az összes rendelkezésre álló forráskóddal együtt adják ki) és bárki, aki gyenge pontot és ezt kihasználó kódot talál, javítást küldhet a megfelelő hiba kijavításához.

DoS – szolgáltatás megbénítása (Denial of Service)DoS – szolgáltatás megbénítása (Denial of Service)

Az ilyen támadás célja egy kiszolgálóprogram vagy egy teljes kiszolgáló blokkolása, ami többféle módon érhető el: a kiszolgáló túlterhelése, illetve leterhelve tartása rossz csomagokkal; vagy egy távoli puffertúlcsordulás kihasználása. A DoS támadások egyetlen célja legtöbbször a szolgáltatás kiiktatása. Ha egy adott szolgáltatás elérhetetlenné válik, akkor a kommunikáció sebezhető lesz a köztes támadásokkal (lehallgatás, TCP-kapcsolat eltérítése, hamisítás), valamint a DNS-hamisítással szembe.

Köztes támadások: lehallgatás, eltérítés, hamisításKöztes támadások: lehallgatás, eltérítés, hamisítás

Általában minden olyan távoli támadást köztes támadásnak hívunk, amikor a támadó a kommunikáló gépek közé áll. Majdnem minden köztes támadásra jellemző, hogy az áldozat általában észre sem veszi, hogy valami történik. Számos különböző változat létezik, például a támadó elfoghat egy kapcsolatkérést és maga továbbíthatja a célgép számára. Ezután az áldozat tudtán kívül kapcsolatot teremt egy rossz géppel, mivel a másik végpont átveszi a legális célgép helyét.

A köztes támadás legegyszerűbb formáját lehallgatásnak (sniffing) hívják– a támadó „csak” figyeli az átmenő hálózati forgalmat. Összetettebb támadás, ha a „köztes” támadó egy már felépített kapcsolatot próbál meg átvenni (eltérítés). Ehhez a támadónak elemeznie kell egy ideig a csomagokat, hogy meg tudja jósolni a kapcsolathoz tartozó TCP-sorozatszámokat. Amikor a támadó végül átveszi a célgép szerepét, az áldozat észreveszi, mivel hibaüzenetet kap, amely jelzi, hogy a kapcsolat hiba miatt megszakadt. Az eltérítéssel szemben titkosítással nem védett protokollok, amelyek csak egy egyszerű hitelesítési eljárást hajtanak végre a kapcsolat létrehozásakor, leegyszerűsítik a támadók dolgát.

A hamisítás (spoofing) egy olyan támadás, amelyben a csomagok módosításra kerülnek, hogy hamis forrásadatokat (legtöbbször IP-címet) tartalmazzanak. A támadás aktívabb formái ilyen hamis csomagok küldésére épülnek – ilyet Linux-gépen csak az adminisztrátor (a root) tehet.

Az említett támadások nagy részét DoS támadással együtt hajtják végre. Ha egy támadó lehetőséget lát arra, hogy egy adott gépet váratlanul leterheljen – hacsak egy rövid időre is – akkor ez egyszerűbbé teszi számára egy aktív támadás végrehajtását, mivel a gép egy ideig nem tud beavatkozni a támadásba.

DNS-hamisításDNS-hamisítás

A DNS-hamisítás azt jelenti, hogy a támadó módosítja a DNS-kiszolgáló gyorsítótárát azáltal, hogy hamisított DNS-válaszcsomagokkal válaszol és megpróbálja rábírni a kiszolgálót bizonyos adatok küldésére a kiszoltálótól információt kérő áldozatnak. Számos kiszolgáló IP-címek vagy gépnevek alapján bizalmi kapcsolatokat tart fenn más gépekkel. A támadónak jól kell ismernie a gépek közötti bizalmi kapcsolat tényleges felépítését ahhoz, hogy magát megbízható gépnek álcázza. A támadó a szükséges információ megszerzéséhez általában elemez a kiszolgálótól kapott néhány csomagot. A támadónak gyakran egy jól időzített DoS támadást kell indítania a névkiszolgálón is. Védekezzen ez ellen úgy, hogy csak titkosított kapcsolatokat használ, amelyek képesek ellenőrizni a túloldali gépnek az azonosságát.

FérgekFérgek

A férgeket (worm) általában keverik a vírusokkal, pedig a kettő között világos különbség van. A vírusokkal ellentétben a férgeknek a működéshez nem kell megfertőzniük a gép valamely programját. Ehelyett arra specializálódtak, hogy a lehető leggyorsabban terjedjenek a hálózati struktúrákban. A régebben megjelent férgek, mint például a Ramen, a Lion vagy az Adore, a kiszolgálóprogramok – például bind8 vagy lprNG – jól ismert biztonsági réseit használják ki. A férgek elleni védekezés viszonylag könnyű. Mivel a biztonsági rés felfedezése és a féreg támadása között eltelik egy kis idő, jó esély van arra, hogy az érintett program frissített változata időben megjelenjen. Ez csak akkor hasznos, ha az adminisztrátor a kérdéses rendszeren valóban telepíti a biztonsági frissítéseket.