User Tools

Site Tools


freebsd:freebsd_biztonsag

====FreeBSD Biztonság==== ====Rendszerbiztonság==== ===terminálok megfigyelése=== A watch programmal egy másolatot hozhatunk létre egy terminálról. Ebben a terminálban csak figyelni lehet a munkát nem lehet beavatkozni. Pl, a 2 virtuális terminál figyelése: % watch ttyv2 Jól jöhet akkor is ez a módszer ha X felületet használunk és kíváncsiak vagyunk a x.org terminálra küldőt üzeneteire. Ctrl+G paranccsal lépünk ki a megfigyelésből. ===A root és a személyzeti (staff) fiókok biztosítása=== ===A root által futtatott szerverek és suid/sgid programok biztosítása=== ===A felhasználói fiókok biztosítása=== ===A jelszó fájl biztosítása=== ===A kernel, a memória, a raw device-ok és a fájlrendszer biztosítása=== A kernelek legtöbbjében van hálózati 'csomaglehallgató' (sniffing device). FreeBSD alatt ez a 'bpf'. A behatolók gyakran használják ezt a feltört gépeken. Ezt megakadályozandó, kerüljük a bpf eszköz kernelbe fordítását: a [[DHCP]], vagy [[PF|pflog]]-ot nem használó rendszernek nincs is szüksége erre. Kernel szinten tilthatjuk a ctrl+alt+del használatát, a kernelbe elhelyezett options SC_DISABLE_REBOOT beállítással. Egy ügyes támadó a kldload eszközt használja arra, hogy betöltse saját bpf eszközét vagy más csomaglehallgató programját, mint kernelmodult. Hogy mindezeket kivédjük, a kernelt a legmagasabb biztonsági szinten kell futtatnunk, legalább 1-es szinten. A biztonsági szintet a kern.securelevel kernelváltozó határozza meg, amit az /etc/rc.conf fájlban állíthatunk be a következő két sorral: kern_securelevel="1" és a kern_securelevel_enable="YES". Az 1-es biztonsági szinten a kernel nem enged írni a raw device-okra, illetve az olyan speciális chflags jelzők, mint a 'schg' használata kötelezővé válik. Ezt az opciót futási időben nem lehet állítani, ugyanakkor 0 nagyobb szint esetén sokminden tiltva van, pl: X, installworld, dátum állítás. Ezekenkívül tilthatjuk, hogy a felhasználok megnézhessék a többi csoport, vagy felhasználó futó processzeit. Ezzel kicsit megnehezítjük az userként behatoló betörő munkáját. Ezeket a tulajdonságokat a security.bsd.see_other_gids és a security.bsd.see_other_uids változok 0-ra állításával érjük el. További nehezítést jelent a PID-ek véletlenszerű kiosztása. Ezt vagy a sysctrl.conf fájlban elhelyezett kern.randompid=175 beállítással érhetjük el. A kernelbe forgatott options RANDOM_IP_ID opcióval, és a sysctl.conf-ba elhelyezett net.inet.ip.random_id=1 véletlenszerű ID kerül az IP fejlécbe. ==Összességében== kernelconf fájl device bpf # a DHCP és a pflog megköveteli, hogy ez az opció a kernelben legyen options SC_DISABLE_REBOOT options RANDOM_IP_ID # ezt a /etc/sysctrl.conf fájlban is be kell állítani párhuzamosan. /etc/sysctrl.conf kern.coredump=0 security.bsd.see_other_gids=0 security.bsd.see_other_uids=0 kern.randompid=175 net.inet.ip.random_id=1 # ezt a kernelbe be kell állítani párhuzamosan. /etc/rc.conf kern_securelevel="1" kern_securelevel_enable="YES" ===A fájlok integritásának ellenőrzése: binárisok, konfigurációs fájlok, stb.=== A védelem utolsó és talán a legfontosabb szintje: a detektálás. A rendszer fájljainak ellenőrzése egyetlen elfogadható módon valósítható meg: egy másik, még biztonságosabb rendszerről. Nem nehéz biztonságos rendszert felállítani: egyszerűen nem szabad semmilyen szolgáltatást futtatni rajta. Egy helyben felállított biztonságos rendszerből [[:SSH]]-n keresztül elérést biztosíthatunk már rendszerek root területeihez. Bár ez biztonsági résnek tűnhet, valamiben azért meg kell bízni, s ameddig valaki nem csinál olyan butaságokat, hogy mindenféle szervert futtat egy adott gépen, összehozható egy biztonságos rendszer. Naplózás lsd: [[freebsd naplozás]] ====Hálózatbiztonság==== A hálózatvédelemnél is van lehetőségünk biztonságosabbá tenni az alaprendszert. Először is ajánlatos azokat a csomagokat eldobni, melyek olyan portra érkeznek ahova nincs démon indítva. Sajnos ezzel a beállítással lehetnek problémák a hálózati rendszerrel. Ezért ajánlott inkább csomagszüret felrakni helyettük, és mégis inkább 0-ra állítani ezt a két opciót. Szokás még két ICMP kérést is eldobni biztonsági okokból. A redirect üzeneteket, ez lényegében az amikor egy gép egy routeren (R1), és egy másik routeren (R2) át akar elküldeni egy csomagot, és van közvetlen út a géptől R2-íg, akkor a redirect értesíti a gépet erről az útról. A másik a logolási kérelmek eldobása. A harmadik beállítása amit szokás elvégezni az azoknak a TCP csomagoknak ez eldobása ahol a syn és a fin bit egyaránt 1. Ez a két bit együtt hálózati csomagban leginkább csak az [[nmap]] által generált, az operációs rendszer kitalálására szolgáló scan-ben használatos. A beállításhoz először a kernelbe el kell helyezni a options TCP_DROP_SYNFIN kifejezést, majd a rc.conf fájlban a tcp_drop_synfin="YES" sort. ==Összegezve== Kernel: options TCP_DROP_SYNFIN /etc/sysctl.conf net.inet.tcp.blackhole=1 # ha nincs csomagszűrő net.inet.tcp.blackhole=2 # ha nincs csomagszűrő /etc/rc.conf tcp_drop_synfin="YES" icmp_drop_redirect="YES" icmp_log_redirect="YES" ===Kapupásztázás=== lsd. [[nmap]] ===SSH=== lsd. [[SSH]] ==denyhosts== lsd. [[denyhosts]] ====Kapcsolódik==== [[http://www.bsd.hu/?q=mansecurity|security manual]] eredetileg Matt Dillon írta, s a FreeBSD 3.1-ben jelent meg, 1998-ban.

freebsd/freebsd_biztonsag.txt · Utolsó módosítás: 2008/10/09 21:55 (külső szerkesztés)