Ovo je opis konfiguracijskih opcija kernela koje se odnose na sigurnost i objašnjene njihove funkcije i korištenja.
Zbog toga što kernel kontrolira mrežni rad vašeg računala, važno je da je on vrlo siguran te da mu se ne može naštetiti. Kako bi spriječili neke od najnovijih mrežnih napada, trebali biste pokušati održati verziju svog kernela svježom. Nove kernele možete naći na ftp://ftp.kernel.org/.
Ova bi opcija trebala biti uključena. Source routed okviri u paketu sadrže cijeli put do svog odredišta. To znači da ruteri kroz koje paket prolazi ne moraju pregledati paket, pa ga samo proslijeđuju. To može dovesti do ulaska podataka u sustav koji možda iskorištavaju sigurnosnu rupu.
Ova je opcija potrebna samo ako ćete konfigurirati svoj stroj kao firewall, koristiti masquerading ili želite zaštititi svoju radnu stanicu koja se povezuje modemom od nečijeg ulaženja kroz PPP sučelje.
Ako uključite IP forwarding (prosljeđivanje), vaš Linux sustav u biti postaje ruter. Ako je vaš stroj na mreži, možete proslijeđivati podatke s jedne mreže na drugu, i možda potkopavati firewall koji je postavljen da to spriječi. Normalni dial-up korisnici ovo će isključiti, a ostali bi se korisnici trebali usredotočiti na sigurnosne implikacije. Računala koja su firewalli ovo trebaju uključeno, zajedno sa softverom za firewall.
IP prosljeđivanje možete dinamički uključivati naredbom:
root# echo 1 > /proc/sys/net/ipv4/ip_forwardte isključivati naredbom:
root# echo 0 > /proc/sys/net/ipv4/ip_forwardTa datoteka (i mnoge druge datoteke u /proc) uvijek će izgledati duge 0 znakova, ali to zapravo nije istina. Ovo je nova opcija kernela, pa provjerite da li koristite verziju 2.0.33 ili noviju.
Ova opcija pruža informacije o paketima koje je vaš firewall primio, kao što je pošiljatelj, primatelj, port, itd.
Inače je ova opcija isključena, ali ako postavljate firewall ili masquerading, trebat ćete ju uključiti. Kada se podaci šalju od jednog do drugog računala, nisu uvijek poslani u jednom paketu, nego fragmentirani u više komada. Problem s time je što se broj porta pohranjuje samo u prvom fragmentu. To znači da netko može ubaciti informacije u ostale pakete za vašu vezu, koje tamo ne bi smjele biti.
SYN napad je DoS (Denial of Service -- poricanje usluge) napad koji zauzima sve resurse vašeg računala, zbog čega ga vi morate ponovo dignuti. Nema razloga da ovo u normalnoj situaciji ne uključite.
Ovo je opcija iz 2.1 serije kernela koja će za veću sigurnost potpisivati NCP pakete. Obično je možete ugasiti, ali tu je ako vam je potrebna.
Ovo je stvarno zgodna opcija koja vam omogućava analizu prvih 128 bajtova paketa iz programa u korisničkom prostoru, kako bi odlučili da li ćete primiti ili odbaciti paket na osnovu njegove valjanosti.
Na Linuxu će vam u osiguranju pomoći i nekoliko blok i znakovnih uređaja.
Kroz dva uređaja /dev/random
i /dev/urandom
kernel stalno
daje slučajne podatke.
I /dev/random
i /dev/urandom
bi trebali biti dovoljno
sigurni za korištenje u generiranju PGP ključeva, SSH izazova i drugim
primjenama gdje su potrebni sigurni, slučajni brojevi. Napadači ne bi smjeli
moći predvidjeti slijedeći broj na temelju bilo kojeg početnog niza brojeva
iz tih izvora. Uloženo je mnogo napora u osiguravanju da su brojevi koje
dobijete odatle slučajni u svakom smislu riječi slučajni.
Jedina je razlika što /dev/random
-u ponestane brojeva i pa morate
čekati da ih se više nakupi. No, na nekim sustavima, može dugo čekati na
novi ulaz korisničkih podataka u sustav. Zato prije korištenja /dev/random
morate biti pažljivi. (Možda je najbolje rješenje reći korisniku
da udara po tipkovnici dok mu ne kažete "U redu, dosta je" dok generirate
osjetljive ključeve.)
/dev/random
pruža vrlo kvalitetnu entropiju, generiranu mjerenjem
vremena između interruptova i slično. Ako nema dovoljno komada
slučajnih podataka, blokira se.
/dev/urandom
je sličan, ali kada je zaliha entropije mala, dat će
vam kriptografski jaku izmjenu onoga što ima. To nije sigurno, ali je
dovoljno većini aplikacija.
Možda ćete čitati iz tih uređaja koristeći nešto kao:
root# head -c 6 /dev/urandom | uuencode -To će na konzoli ispisati šest slučajnih znakova prikladnih za generiranje lozinke.
Za opis algoritma pogledajte /usr/src/linux/drivers/char/random.c.
Hvala Theodoreu Y. Ts'ou, Jonu Lewisu i drugima s Linux-kernel mailing liste što su mi (Daveu) pomogli s ovim.