UNIX/Linux kiszolgálók üzemeltetése
A tantárgy angol neve: UNIX/Linux Server Administration and Maintenance
Adatlap utolsó módosítása: 2011. november 7.
Tantárgy lejárati dátuma: 2015. június 30.
Mérnök informatikus szak
Villamosmérnöki szak
Szabadon választható tantárgy
TCP/IP hálózatok alapjai;
UNIX/Linux alapjai (alapvető shell-scriptelési ismeretek; kernel, userspace fogalma; stb.);
angol műszaki szöveg értése.
A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.
A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.
Informatika I. (VIIIA202), Informatika II. (VIAUA203), Operációs rendszerek (VIMIA219), Számítógép-hálózatok (VIHIA215), Rendszerintegráció (VIFO4367).
Nem vehetik fel akik hallgatták a vitmav28 (UNIX/Linux kiszolgálók üzemeltetése) tárgyat
A tárgy célja, hogy a hallgatókat olyan módszerekkel, folyamatokkal és protokollokkal kapcsolatos ismeretek birtokába juttassa, amelyek birtokában egyszerűbben, hatékonyabban és biztonságosabban üzemeltethetnek Unix-jellegű operációs rendszert futtató hálózati kiszolgálókat.
A tárgy elméleti része univerzálisan hasznosítható; a gyakorlati tematika a GNU/Linuxra és más nyílt forráskódú, szabad szoftverekre (pl. OpenBSD, FreeBSD), valamint az x86/x86_64 architektúrára összpontosít.
1. hét
IP- és UNIX-alapok átismétlése, néhány fontos részlet kiemelésével (ARP biztonsági vonatkozásai; path MTU discovery működése; TCP SYN támadás működése és az ellene való védekezés módszerei; UNIX processz állapottere; capability-rendszer; signalok kezelése; jobkezelés a UNIX-ban).
2. hét
A DNS (Domain Name System) működése részletesen (autoritativitás fogalma; névfeloldás menete; rekordítpusok és felhasználásuk; SOA-mezők jelentése; TTL megválasztásával kapcsolatos kérdések; NXDOMAIN jelentése; DNS elleni támadások működése, a védekezés lehetőségei; a DNS architekturális problémái: glueless delegációk, CNAME-láncok, kezelhetetlen méretűvé váló bizalmi háló stb.).
3. hét
Az SMTP működése. A nem kívánt kereskedelmi e-mailek (spam) szűrésének módszerei részletesen (nolisting, greylisting, RBL, RHSBL, SPF, HashCash stb.). A HTTP rövid áttekintése: fejlécek, hibakódok, virtualhoszting, SNI. Az FTP működése röviden; „FXP” és biztonsági kérdései.
4. hét
Háttértár-kezelés. RAID. RAID-szintek jelentése, előnyeik, hátrányaik. Hardveres és szoftveres megvalósítások összehasonlítása. Bithibaráták hatása nagy tömbök helyreállítása sikerességének valószínűségére. A Linux softraid-megvalósításának használata. Logikai kötetkezelés: fogalmak; snapshot („pillanatfelvétel”) használata.
5. hét
A unixos fájlrendszerek sajátosságai (sparse file, symlink, hardlink, FIFO, fork, bővített attribútum stb.). Modern fájlrendszerekkel kapcsolatos fogalmak (késleltetett allokáció, extent-alapú allokáció, log-struktúrájú fájlrendszer, dinamikus inode-allokáció, POSIX ACL-ek, journaling, auditing, XIP, tail packing stb.) A Linux által támogatott fájlrendszerek tulajdonságai (ext2, ext3, ext4, xfs, jfs, reiserfs). Bind mount. DAC, MAC.
6. hét
A bootfolyamat részletes bemutatása. SystemV init. Runlevel fogalma. A daemonizált szolgáltatások kezelésével kapcsolatos problémák, versenyhelyzetek. A runit, mint initet helyettesítő megoldás architektúrája. A runit komponensei. Szolgáltatásspecifikus naplózás, naplóüzenetek szűrése és riasztások generálása az svlogd segítségével.
7. hét
A shell-programozás alapjainak felfrissítése. Shell-típusok (Bourne, csh, tcsh, Korn, bash, zsh). Alapvető vezérlési szerkezetek (if, for, case); függvények. Néhány haladó shellscript-megoldás: reguláris kifejezések, sed, GNU findutils; parancssori kapcsolók feldolgozása, konfigurálható shellscriptek írása.
8. hét
Naplózás. Dátumábrázolás problémái. TAI64. Használható naplóüzenetek tervezése. Konkrét naplózómegoldások bemutatása: syslog, syslog-ng, socklog. Naplófájlok kezelése: rotáció (ezzel kapcsolatos problémák, versenyhelyzetek), skálázható elemzés, utófeldolgozás. Hálózati naplózás.
9. hét
Tűzfalak: csomagszűrő, állapotkövető csomagszűrő, proxy-alapú tűzfal. Nevezetes topológiák (bastion host, DMZ stb.) Zónaszemlélet. Tervezési szempontok. A Linux Netfilter működése, használata. Behatolásjelző rendszerek típusainak rövid áttekintése.
Zárthelyi.
10. hét
Linuxos tűzfalscriptek írása. Lehetséges megközelítések. Összevetés az OpenBSD-vel. Esettanulmányok.
Hitelesítés és felhasználókezelés modern UNIX-rendszereken: PAM; NSS; LDAP-alapú címtárak, felhasználásuk.
11. hét
Szervermonitorozás: SNMP (röviden), munin, nagios. Architekturális kérdések (polling, pull vs. push, redundáns monitorozás, skálázhatóság; terheléscsúcsok problematikája stb.). Riasztások kezelése; eszkaláció. Az rrdtool működése; adatforrások típusai, jellegzetességeik; munin pluginok írása.
12. hét
Hálózatmonitorozás. Kitekintés: statisztikai módszerek. A NetFlow alapjai és felhasználási lehetőségei. Anomáliák keresése NetFlow-adatokban; lehetséges okaik feltárása. Példák. A NetFlow korlátai, kerülgetésük módszerei (pl. egyetlen TCP-kapcsolathoz tartozó folyamok azonosítása; alkalmazásszintű protokoll heurisztikus azonosítása).
13. hét
Virtualizációs technikák, technológiák: wine, VirtualBox, VMWare, UML, xen, vserver, OpenVZ, KVM, qemu, BSD jail összehasonlítása. Emuláció vs. izoláció. Háttértár-virtualizáció. Vserver-alapú rendszerek tervezésének részletei: háttértár-kezelés, hálózatkezelés stb.
14. hét
Az UCSPI-mechanizmus és a hozzá kapcsolódó architekturális szemlélet. Az ipsvd működése; előnyei és hátrányai az inetd-hez képest. Néhány további konkrét minimalista rendszerprogram bemutatása (pl. djbdns, qmail).
Elővizsga.
A zárthelyi dolgozat a pótlási időszakban, különeljárási díj fizetése mellett, másodszor is pótolható. Pótzárthelyi dolgozatok megírására a pótlási időszakban van lehetőség. A házi feladat a pótlási időszak végéig különeljárási díj mellett pótolható.
Igény szerint, az oktatóval egyeztetve.