Linux hálózatbiztonság
avagy miként védjük Linux kiszolgálóinkat, hálózatunkat, és felhasználóinkat
A tanfolyam során a hallgatók ismereteket szereznek a hálózatokat és a Linux kiszolgálókat érintő legelterjedtebb támadásokról és azok elleni védekezésről. A hálózati támadások hátterének ismerete fontos eleme a védekezésnek, hogy megértsük, miért működnek, és mivel lehet a leghatékonyabban védekezni ellenük. A képzés folyamán a hálózati szolgáltatások, a webalkalmazások, lokális hálózatok, az operációs rendszer biztonsága és a különöbző kliens operációs rendszerek védelme is terítékre kerül.
VIDEÓ!!! Április 21-én a képzés oktatója, Deim Ágoston (Agó), tartott egy kis bemutató-oktatást a tanfolyamból. A felvételt itt tekintheted meg, a hozzá tartozó virtuális gépet pedig innen töltheted le. (Volt amúgy MySQL-es előadás is, ami szintén visszanézhető.)
Kinek ajánljuk?
Mindazon adminisztrátoroknak és felhasználóknak, akiket érdekel a Linux kiszolgálók hálózati szolgáltatásainak biztonsága.
Szükséges előismeretek
Középszintű Linux felhasználói és adminisztrátori ismeretek, parancssor használata, hálózati protokollok alapvető ismerete.
A tanultak hasznosítása a való világban
A hallgatók képesek lesznek a Linux alapú kiszolgálóikat olyan védelemmel felvértezni, melynek segítségével nem csak az operációs rendszer, de bizonyos esetekben a webalkalmazások, adatbázisok és ezzel együtt a kliensek adatai is magasabb szintű védelemmel rendelkezzenek.
Információ a virtuális gépekről
A gyakorlatokat a hallgatók virtuális gépeken végzik, amihez VirtualBox virtualizációs szoftverre lesz szükség. A virtuális gépeket díjmentesen biztosítjuk a hallgatók részére.
Az előadások online követéséhez minimum 2 GB RAM-os gépre lesz szükség. Processzort illetően egy CoreDuo már jó kell, hogy legyen, de ha Core 2 Duo, vagy erősebb, az még jobb. (HW virtualizáció nem szükséges.)
A platform lehet Windows és Linux is, de Windows az ajánlott.
Az internet sávszélesség legyen minimum 1MBit.
A képzés kiegészítéseként a BalaBit jóvoltából minden hallgató ingyenesen igényelhet egy 5 szerver licenccel rendelkező, terméktámogatás nélküli egyéves SyslogNG Premium Edition előfizetést, melynek értéke 100.000 Ft. (Az igényeket az oktató gyűjti majd be.)
A tanfolyam hossza
40 óra
Magánszemélyek részére (bruttó) 69 000 Ft, cégek, intézmények részére 69 000 Ft + áfa
Ha ketten jelentkeztek, mindketten kaptok 10% ikerkedvezményt.
Részletes tematika és videók
Az első alkalommal áttekintjük egy elképzelt kis iroda hálózatát, és megtervezzük az alap infrastruktúrát, amiből kiindulva folyamatosan fejlesztjük a hálózat védelmét, mind a külső, mind a belső támadások ellen.
A hálózati védelem tervezés utáni első lépése a hálózati határvédelem megtervezése és megalkotása, mely a belső hálózatot és kiszolgálóinkat védi a külső támadásoktól. A kivitelezése első lépéseként az átjárót telepítjük, és felkészítjük a tűzfalfunkciók ellátására. Ennek első lépése a megfelelő telepítés és partícionlálás, a minimálisan szükséges csomagok telepítése, a felesleges csomagok elhagyása.
- Tervezés, szoftverkiválasztás
- Átjáró telepítése
- IPTables csomagszűrő felépítése, megismerése: szabályok, táblák, láncok
- Alapértelmezett szabályok és láncok elhelykezédése
- Alapértelmezett táblák és szerepük, táblák létrehozása, törlése
- Modulok és használatuk
- Állapotok és értelmezésük
- Saját láncok létrehozása
Az IPTables alapjainak megismerése után sort kerítünk a védelem megtervezésére és kivitelezésére is.
- Csomagszűrő-szabályok létrehozása, modulok használata, saját szabályok megtervezése és létrehozása
- Csomagszűrő naplózásának beállítása
- Csomagok jelölésének használata (MARK)
- Több portra vonatkozó szabályozás beállítása
- NAT – címfordítás – beállításai, lehetőségei
- Egyszerű DoS, DDoS és brute-force támadás elleni védelem létrehozása
A csomagszűrők mellett fontos szerep jut az alkalmazásszintű proxyknak is. Amíg a csomagszűrő-alkalmazások a legtöbb nem érvényes forgalom és támadás kiszűrésére, a forgalom iránya és típusa szerinti döntéshozatalra képesek, addig mélyebb szűrésre az alkalmazásszintű szűrőket, úgynevezett proxykat használunk. Elsőként a HTTP-forgalom védelmét tekintjük át egy népszerű és egy kevésbé ismert alkalmazás segítségével, melynek segítségével a HTTP-protokollban végezhetünk tartalomszűrést – vírus, és nem engedélyezett forgalom – valamint vezethetünk be több korlátozást is.
- SQUID proxy alapbeállítása
- Engedélyezett portok
- ACL-ek használata: idő, ip címek, címtartomány, azonosított felhasználók szerint
- ClamAV víruskereső beállítása tartalomszűréshez (szűrés, automatikus frissítés)
- HAVP beüzemelése a HTTP forgalomban történő víruskereséshez
- HAVP és SQUID együttműködése
A HTTP-forgalom mellett több protokoll szűrését is el kell végeznünk. A harmadik alkalommal a következő protokollok alkalmazásszintű szűrését vezetjük be: FTP, POP3, SMTP.
- POP3 szűrés beállítása P3Scan segítségével
- FTP szűrés beállítása FROX segítségével
- SMTP szűrés beállítása ClamSMTP-vel
- SMTP szűrés beállítása Postfix segítségével
A védelem kiépítésénél kiemelt fontosságú a naplózás megfelelő kiépítése. Fontos azért, hogy lássuk a próbálkozásokat, tudjunk hibát keresni, és végül esetleges biztonsági incidensek esetén is tudjunk előzményt keresni. A biztonságos naplózás alapfeltétele, hogy ne csak lokális, hanem távoli kiszolgálón is tároljuk a naplóállományokat. Biztonsági incidens esetén a lokális állományok is áldozatul eshetnek a támadásnak, törlődhetnek. Ezért távoli naplószervereket – log szervereket – állítunk be. A megoldásra két szoftvert is alkalmazunk. A disztribúciókban alapesetben települő Rsyslog alkalmazást és a másik kitűnő – magyar fejlesztésű – megoldást, a Syslog-NG-t.
- Rsyslog telepítése
- Modulok beépítése
- Kliensoldali konfiguráció
- Kiszolgálóoldali konfiguráció
- Naplóállományok szűrése
- TCP-alapú titkosított adatátvitel konfigurációja
- Diszkalapú cache, hálózati hiba esetére
- Naplóállományok adatbázisba helyezése
- Webalapú napló böngészés és szűrés
- Syslog-NG OSE telepítése ügyfél- és kiszolgálóoldalon
- Távoli naplózás alapszintű beállítása Syslog-NG-vel
A Syslog-NG távoli naplózási és szűrési lehetőségeit tekintjük át.
- Syslog-NG adatforrások
- Szűrök létrehozása
- Célállományok kijelölése
- Makrók, sablonok használata, kliensek és dátum szerinti levállogatás, valamint tárolás
- Titkosított adatátvitel
- Naplóbejegyzések adatbázisba helyezése
- Webalapú naplóböngészés és szűrés
A létrejött naplóbejegyzések automatikus ellenőrzése is rendkívül fontos. Ehhez a logcheck és logwatch automatizált eszközöket használjuk.
- Logcheck telepítése
- Logcheck felépítése
- Logcheck beállítása, szűrések, riasztás
- Logwatch telepítése, használata
- Logwatch beállítása
A legjobb felkészülés ellenére is megeshet, hogy valamilyen hiba által kiszolgálónk áldozatul esik és ezt nem vesszük észre. Ezt megelőzendő lokális behatolásellenőrző eszközt is csatasorba állítunk. Ez az alkalmazás jelez, amennyiben a kiszolgálón valamilyen nem megengedett változás zajlott le.
- Samhain behatolásellenőrző telepítése
- Baseline konfiguráció és adatbázis létrehozása
- Központi naplózás, tárolás és jelentés beállítása
- Adatbáziskapcsolat és -tárolás létrehozása
- Jóváhagyások, riasztások
A Linux-kiszolgáló több olyan beállítással is rendelkezik, melyet a sysctl alkalmazással módosíthatunk, így a Linux-kiszolgálót további védelemmel ruházzuk fel.
- sysctl.conf beállítása
- hálózati védelmi beállítások
- lokális védelmi beállítások
A lokális hálózatokon belül is számos veszély leselkedik a felhasználókra, többek között az ARP poisoning – a legnépszerűbb támadások egyike – melynek segítségével a támadók adatlopást valósíthatnak meg. Ennek érzékelését és részleges kivédését tekintjük át a hatodik alkalom harmadik részben.
- Az ARP poisoning elmélete
- Kivitelezés
- Észlelés és riasztás beállítása
- Védelmi lehetőségek és beállítások
Általános brute force védelem bevezetésére is lehetőség van, ezt is áttekintjük a modul során.
- Brute-force támadási elleni védelem kiválasztása
- fail2ban beüzemelése
Egyik szoftver sem hiba nélküli, de a hálózaton távolról is elérhető szolgáltatások különösen veszélyeztetettek, hiszen távolról rendkívül széles körben elérhetőek. Az alkalmazásszintű szűrők sokat segítenek, de minden hibát ezek a megoldások sem képesek kiszűrni. Ezért vezették be a Mandatory Access Controll (MAC) rendszereket. Ezek a megoldások a megszokott operációs rendszer-védelmek – pl. fájlhozzáférés – további korlátozásokat is képesek meghatározni – csak portok használata például -, melyek még a root felhasználó számára is kötelezőek. Ennek a megoldásnak egyik példája Linux kernelhez az AppAromor, melyet az Ubuntu rendszerek is használnak. A modul célja, hogy a hallgatók képesek legyenek az alapvető használatot elsajátítani.
- Az AppArmor felépítése
- Használati módok
- Használati módok átkapcsolása (engedélyezés, tiltás)
- Szabályok, profilok listázása
- Állapotlistázás
- Naplóállomány vizsgálata, a működés ellenőrzése
- Szabály, profil megváltoztatása
- Új profil létrehozása
A SELinux alapjait az NSA – USA nemzetvédelmi hivatala – rakta le, és több Linux rendszer is használja biztonsági megoldásként. Ez is egy MAC rendszer és főleg a RedHat, Fedora, CentOS rendszerek használják, de a többi disztribúcióban is elérhető. A nyolcadik alkalom célje ennek a rendszernek az alapszintű megismerése, a legfontosabb kezelési lépések és alapvető használat elsajátítása. A modul célja nem a teljes SELinux referencia bemutatása - ahhoz egy teljes tanfolyamra is szükség lenne –, hanem az alapszintű, biztonságos használat, mely a kiszolgálóalkalmazások védelmét erősíti, ezzel nagyban növeli a biztonságot.
- Az SELinux felépítése
- Biztonsági modellek
- Be- illetve kikapcsolás
- Típusok, szerepkörök, Type Enforcement
- Makrók
- Címkézés
- Auditnaplók, vizsgálatuk
- Menedzsmenteszközök
- Szabályok engedélyezése és tiltása
- Új szabály létrehozása
A biztonságos távoli elérést az úgynevezett virtuális magánhálózatok teszik lehetővé. Képesek mind hálózatokat, mind a távoli klienseket és a céges hálózatot összekötni. Két módját is áttekintjük és a szükséges beállításokat is elvégezzük.
- IPSec és SSL VPN megoldások működésének áttekintése
- IPSec szoftver kiválasztása, telepítése
- Hálózatok összekapcsolása
- Kliensek
- OpenVPN telepítése
- Hálózatok összekapcsolása OpenVPN segítségével
- Kliensek csatlakoztatása OpenVPN alapú VPN segítségével
- Tanúsítványalapú, kliensekhez rendelt egyedi konfiguráció
A legjobb tűzfal, biztonsági szabályok, kiegészítő szoftverek és behatolásellenőrző beüzemelése esetén is előfordulhat, hogy további lehetséges behatolási pontok maradnak. Ez főleg webalkalmazásoknál fordulhat elő, ahol az alkalmazások sokszor egyediek és több hibát is tartalmazhatnak.
- Az SQL-adatbázisok védelmének lehetőségei
- GreenSQL telepítése
- A GreenSQL beállítása
- Webalkalmazások alapszintű védelme
- ModSecurity telepítése
- A ModSecurity működésének alapjai
- Alapértelmezett szabályok használata
- Saját szabályok létrehozása
- Naplózás