Kiszolgálók üzemeltetése Iványi Péter
Biztonság Nincs abszolút biztonság Csak negyon nehézzé tehetjük a betörést Idő aszimmetria Fejlesztő ideje Betörő ideje Minnél biztonságosabbá tesszük a rendszert annál inkább befolyásolja a használatot Egy rendszert a használhatatlanságig biztonságossá tehetünk. Egyensúlyozni kell
Biztonság fő ellenség a felhasználó Social engineering Nem kell technikai ismeret Pl. adminisztrátornak adjuk ki magunkat Kevin Mitnick Érdemes tudni, hogy ki miért tör be
Intruders csoportok A kiváncsi: milyen rendszer fut, milyen adatok vannak rajta A rossz indulatú: tönkre akarja tenni a rendszert, web oldalt (deface) High-profile: a rendszert arra akarja használni, hogy hírnevet szerezzen, pl képességeinek hirdetése A versenytárs: az adatainkra kiváncsi
Intruders csoportok A kölcsönző: az erőforrásainkat akarja saját céljaira használni, irc, chat szervert futtat nálunk Leapfrogger: arra használja a rendszerünket, hogy egy másikba törjön be, különösen akkor ha sok kapcsolattal rendelkezik a gépünk
Alapelv Egy felhasználó a lehető legkisebb kárt tehesse vagyis A felhasználó csak olyan jogokkal rendelkezzen amelyek feltétlenül szükségesek a feladat ellátásához
Külső támadás lehetséges okai A cég imázsának, jó hírének lerombolása, tönkretétele Üzleti információk megszerzése, kémkedés Unaloműző károkozás Rosszindulatú károkozás Ugródeszka más gépek felé
Portscan Külső támadások fajtái Az összes lehetséges portot végigpróbálják, hogy felmérjék a gépen futó szolgáltatásokat Ezután lehet eldönteni, hogy melyik szolgáltatást érdemes feltörni Sniffing Ethernet működéséből fakad Egy belső hálózaton, rendszergazdaként a hálózati kártya promiscuous módba kapcsolható Minden csomagot elkaphatunk, elolvashatunk
DoS Külső támadások fajtái Denial of Service A szolgáltatás lelassítása, megszakítása TCP kvótával kivédhető DDoS Distributed Denial of Service DoS egy fajtája, ahol sok ártatlan gépre feltöltött programokkal történik a támadás (a tulajdonos engedélye nélkül)
Külső támadások fajtái Spoofing DNS és IP Például a kliens lekéri egy web oldalt egy ál DNS szervertől a nem valódi szerver címét kapjuk vissza, hanem egy másik gépét a másik gép eltárolhat pl. hitelkártya adatokat, majd esetleg átirányítja a kérést az eredeit oldalra
Buffer overflow Belső támadások fajtái Programozási hiba, memória vagy verem hiba Egy root shell-t futtatnak végül known temp file attack Ismert időleges file támadás Megfigyelik, hogy a program hol hozza létre az időleges file-okat, ezt használják ki
Exploit Belső támadások fajtái Előregyártott programocskák, Szakértelem nélkül használható és root jogosultságot ad rootkit
Fizikai védelem Alapelvek Szerver gép elzárt szobában, (légkondicionálóval) Csak az illetékesnek legyen kulcsa Takarító nem járhat be Tűzvédelem (porral oltó, víz nem jó!!!!) Ráccsal védett ablak Biztonsági mentések máshol!!! Másik helység, épület
BIOS jelszóval védve Alapelvek Csak merevlemezről lehessen bootolni Felesleges hardware elemeket le kell tiltani (soros port, floppy, stb) Boot loader védelem Jelszó védelem linux init=/bin/sh rw
Alapelvek Hivatalos működési szabályzat a cég szabályzat része Hatókörök, felelősségek meghatározása RFC1244, Site Security Handbook http://www.faqs.org/rfcs/rfc1244.html Hálózati tervezés Ne keveredjenek az egymással nem kapcsolatos szegmensek, kliensek, hálózatok Security through obscurity nem működik Egy alkalmazást nem a szabványos porton üzemeltetünk portscan
Minimum elv: Alapelvek Csak azok a programok, szolgáltatások legyenek felinstallálva és fussanak amelyekről tudjuk micsoda és feltétlenül szükséges Mindent tilos, kivéve amit szabad elv Tűzfalon és egyéb biztonsági rendszerekben mindent letiltunk, és azt kapcsoljuk vissza amit szabad Jelszó Min 8 karakter, szöveg, szám és speciális karakter Semmi személyes információ
Őrizetlen terminál Alapelvek Ne hagyják őrizetlenül a bekapcsolt terminált Csak az kapjon shell-t akinek tényleg kell Nem biztonságos szolgáltatások helyettesítése telnet, ftp ssh, scp Folyamatos mentés Teljes vagy részleges mentés
Alapelvek Rendszernaplók nyomon követése Alapos ok nélkül egy program új verzióját nem szabad installálni Egy jól működó rendszerhez nem szabad hozzányúlni A pokolhoz vezető út is jó szándékkal van kikövezve Jó szándék alapján installáljuk, de esetleg hibás Csak letesztelt, kipróbált változatot installáljunk Azért 2 évnél idősebb programot ne hasznájunk Biztonsági frissítéseket nagyon figyeljük
Alapelvek Mail szerveren ne legyen web szerver és fordítva FTP szerveren ne legyen web szerver és fordítva Web szerver látógatóknak lehetőséget adni a titkosított adatcserére (SSL)
Új felhasználók Csak a szükséges jogokat kapja meg Ha szükséges ellenőrizzük hogy honnan jelentkezhetnek be Nem aktív felhasználókat töröljünk vagy zároljunk last parancs Ugyanazt az Uid-t használja minden gépen
root felhasználó Komplex parancs esetén próbáljuk ki előbb Az rm parancsot állítsuk be úgy, hogy kérdezzen törlésnél (alias) root-ként csak egy dolgot csináljunk, a kitalálást egyszerű felhasználóként végezzük Az elérési útvonal legyen korlátozva Soha ne használjuk: rlogin, rsh, rexec szolgáltatásokat
root felhasználó Az /etc/securettyfile tartalmazza azon terminálok listáját ahonnan a root beléphet Mindig óvatosan és megfontoltan viselkedjünk root-ként! Nem kell elsietni dolgokat!
Tűzfalak Mint várak esetén a felvonóhíd Ellenőrzi a személyek áramlását, ki- bemenő forgalmat Csomagszűrés
Csomagszűrés Ma már szükséges Minden operációs rendszeren van Windows-on is Rendszermag része iptables ipchains ipfwadm
Csomagszűrés Más számítógép felé tartó csomagok input hová FORWARD ouput INPUT OUTPUT Helyi számítógépre érkező csomagok Helyi folyamat Helyi folyamat csomagot akar küldeni
Bemenet és kimenet Csomagszűrés Nem a halózati kártyát jelenti Bemenet az a pont ahol a kernel megkapja a csomagot Kimenet az a pont ahol egy csomag elhagyja a kernelt
iptables Listázás: iptables --list iptables -L INPUT -n Alap stratégia Olyan csomagok esetén alkalmazandó amelyekre egyetlen szabály sem illeszkedik ACCEPT: elfogad DROP: eldob
Táblák ürítése iptables --flush Új szabály létrehozása iptables iptables --append név szabály iptables --insert név szabály iptables --replace név szabály
--protocol iptables szabályok Melyik protokoll: tcp, udp, icmp, all --source --destination --jump sors Mi legyen a sorsa a csomagnak: ACCEPT: elfogadva DROP: csomagot eldobja, a küldő nem kap értesítést REJECT: csomagot eldobja, de ICMP csomagot küld vissza
iptables példa Minden olyan csomagot kitiltunk ami nem egy adott hálózatból érkezett iptables --insert INPUT --source 127.17.1.4/24 --jump DROP A táblázatban az első helyre kerül Még mindig tud továbbítani csomagokat Ez az első szűrő, minden más szabály utána jön
Web szerver helye
Web szerver helye A demilitarizált, semleges zóna Publikus szolgáltatás ne keveredjen a belső használatra kialakított szolgáltatással Tűzfal (firewall) Csomagszűrés Proxy
Specializált feladatok Feladatok felosztása Egyszerű eset Web személyzet Általános hardware/software admin Adatbázis admin Web szerver admin
Rendszergazda Hálózatot szerel Web személyzet telepít, karbantart szoftvereket Biztonsági másolatok Csak web szerver és adatbázis szerver adminoknak ad hozzáférést általába Adatbázisrendszergazda Felügyeli az adatbázisokat Adatbázis felhasználókat hoz létre, jogosultságokat módosít
Web személyzet Web-tervező Arculat, struktúra, összefogja a stábot Grafikus Arculat grafikai elemeinek elkészítése Web-programozó Dinamikus web oldalak programozása Titkárnő Szövegek bevitele Adatbázis feltöltése Webmester/webgazda Elhelyezi, karbantartja a web oldalakat, fájl struktúra
Web szerver Ne legyen fordító és fejlesztő eszköz Ne legyenek NFS exportok Ne legyen NIS Ne legyen FTP Ne legyenek RPC szolgáltatások Semmilyen szerver ne fusson, talkd, ircd Ne szolgáltassunk felhasználói információt fingerd, identd
Web szerver Rendszeresen ellenőrizzük, hogy mely programok rendelkeznek SUID és vagy SGID bit-ekkel. find / -type f \( -perm -04000 -o -perm -02000 \) Rendszeresen ellenőrizzük, hogy mely fájloknak nincsen tulajdonosuk. find / -nouser -o -nogroup -print Keressük meg az.rhosts fájlokat. Ezek betöréshez könnyen felhasználhatóak find /home -name.rhosts -print
Web alkalmazások biztonsága Cookie poisoning Süti mérgezés A web szerverről a felhasználó gépén, a későbbi azonosításhoz kisebb file-ok tárolódnak, sütik Állandó (lemezen levő) vagy nem állandó (memóriában levő) Szöveges file-ok, könnyen módosíthatók Védekezés Titkosítás, SSL csatorna
Web alkalmazások biztonsága Űrlap manipuláció A letöltött űrlap módosítása és úgy küldik vissza Általában több elemet tartalmaz mint várható Valamilyen parancsot próbál meg elindítani Védekezés Űrlap és adatok integritásának ellenőrzése Több űrlap esetén egyes űrlapok kihagyása Érvénytelen adatbázis rekord generálása Védekezés Csak ha minden adat megérkezett, akkor dolgozzuk fel
Web alkalmazások biztonsága Direkt adatbázis lekérdezések A nyelv ismerete esetén speciális lekérés megfogalmazása Védekezés Szűrés Könyvtárlistázás Web könyvtárak listázása, web alkalmazás kódjához való hozzáférés Betörési pont keresés
Biztonsági mentés (backup) Ritkán tartják be, pedig nagyon fontos tud lenni Mentési stratégiát rögzíteni kell Milyen célra Milyen gyakorisággal Milyen eszközzel Mely file rendszereket kell elmenteni
Mentés célja Hardwer hiba miatt a teljes összeomlás esetén gyors visszaállítás Biztonsági tartalék betörés ellen Betörés és károkozás történetének felderítése Felhasználói adatok helyreállíthatósága hiba esetén Nincs undo Számlázási vagy jogi vita esetére
Telepítés utáni mentés Nincs felhasználói adat Gyors helyreállítás Teljes mentés Minden adat Inkrementális mentés Mentési típus Az utolsó mentés után megváltozott file-ok mentése
Követelmények Mentés technikája Sokáig őrizze meg az adatot, legyen hibatűrő Szabványos, kompatibilis, sokáig fennmaradó technológia Többször felhasználható, nagy kapacitású
Egyéb követelmények Legyen felcímkézve, dátumozva Fizikai védelem páncélszekrény
Technológia crontab-al végezzük el a feladatot!! CD-ROM Újraírható lemez vagy cserélni kell Max 640 MB Szallagos egység (tape) Nagy méretűek lehetnek, > 2GB Drágák lehetnek
tar cpio dump Szoftver Közvetlenül olvas, nem a file rendszeren keresztül Hatékonyabb File rendszerhez kötődik Főleg szallagos egységhez való Professzionális termékek
Egyéb biztonság
Integritás ellenőrzés Ellenőrizni, hogy a file-ok megváltoztak-e Pl. betörés során Ellenőrző összeget tárolunk a file-okról Szoftver: tripwire: www.tripwire.org aide: http://www.cs.tut.fi/~rammer/aide.html Osiris: http://www.shmoo.com/osiris/ Program és adatbázis nem írható médiára kerüljön Floppy CD-ROM
Kerberos Autentikációs rendszer MIT Athena project A felhasználó belép jelszóval Továbbiakban biztosítja, hogy az azonosítás automatikus legyen, akár nem biztonságos közegen keresztül is titkosítást használva Elég komplex tud lenni, minden alkalmazást módosítani kell
Irodalom http://szabilinux.hu/bw/bw00.html