Skusal som raz FreeBSD (tusim 5.3), pretoze ma zaujimalo, v com je lepsie v bezpecnosti. Otazku nemyslim ohladom jadra, ale ohladom celej distribucie. Jedine, co som si vsimol, bolo, ze FreeBSD ma tusim po instalacii vsetky sluzby (ako napr. sshd) defaultne vypnute a firewall je nastaveny maximalne restriktivne. Co je ale myslim otazka skor instalacneho programu nez rozdielu Linux/BSD/iny OS.
Ako je to napr. s bezpecnostou portov? Mam pocit, ze ked niekto portne nejaky soft, tak ho s najvacsou pravdepodobnostou portne aj so vsetkymi chybami. T.j. pochybujem, ze by precital zdrojove kody a hladal v nich chyby. Skor mozno co najde nahodne.
to je zajimava vec. Procedura komitovani portu probiha pomoci utility sendpr. Pokud nekdo naportuje libovolny program na FreeBSD (opatchuje, rozchodi zakladni funkce portu - make fetch/configure/install/package atd.) posle port pomoci sendpr k revizi. Samozrejme pochybuji, ze pri revizi dochazi k bezpecnostni analyze celeho produktu. Po revizi se program commitne do cvs a je pres porty pristupny k instalaci.
Dale alae existuji databaze bezpecnostnich chyb, ktere se napriklad kontroluji pri instalaci. Takze pokud se vyskytne bezpecnostni chyba v nejakem konkretnim baliku, a vy ho chcete nainstalovat, system vam to nepovoli, protoze jsou v teto verzi bezpecnostni rizika.
Samozrejme tuto kontrolu muzete vypnout, ale pak je to na vas.
Temito utilitami muzete testovat i nainstalovany software, jestli se u neceho neobjevila chyba.
Samozrejme podobne databaze exploitu existuji pro software nezavisle na platforme, ale tady je jejich kontrola integrovana do spravy systemu (o cemz jsem u jinych systemu neslysel)
Napr. gentoo ma tieto informacie o bezpecnostnych chybach priamo v portage tree. Pri instalacii to tusim este nekontroluje automaticky (pretoze glsa-check je zatial v beta fazi), ale da sa to skontrolovat rucne. Zatial to mam spravene tak, ze kazdy den sa mi pusti emerge sync && glsa-check -t all (update portage tree a check na chyby).
Aha, to je dobre. Gentoo jsem zatim nezkousel, ale spousta lidi si ho chvali prave pro jeho portage system.
Jinak info v portage tree (nebo v ports tree) ale postrada smysl prave proto, ze ta informace je aktualni az v momente, kdy je aktualni port. Ve FreeBSD jde prave o to, ze kdyz se pokusite nainstalovat stary port (protoze mate neauktualni ports tree, nebo potrebujete specifickou starsi verzi), tak se podiva do aktualni databaze exploitu! Pokud updatnete port, tak uz se tam treba ty rizika nevyskytuji a nainstalovat to muzete.
Primo v ports tree jsou flagy BROKEN/IGNORE, ktere take zpusobi to, ze se port nenainstaluje. Obvykle se pouzivaji pro pripady, kdy jsou problemy s kompilaci na nekterych verzich systemu, nebo maji spatne info pro package apod.
na portage/emerge sa mi paci prehladnejsie vypisanie balikov, ktore budu instalovane kvoli zavislostiam spolu s ich velkostou a stavom vsetkych kompilacnych moznosti..
Takze ak to chapem spravne, tak FreeBSD pri instalacii portu pozrie do online databaze bezpecnostnych chyb? V Gentoo treba vediet, ze portage tree musi byt aktualny, napr. synchronizovat pravidelne cez cron.
Ako je vo FreeBSD vyrieseny check uz nainstalovanych portov na chyby?
Inak zrejme Gentoo sa inspirovalo tym FreeBSD systemom, namiesto broken/ignore su flagy masked/hard-masked. Prvym sa typicky oznacuju baliky, ktore este bud nie su dostatocne otestovane pre danu platformu (maskovat sa da per-platform) alebo maju este nejake bugy. Hard-masked su tie baliky, ktore su jasne nestabilne, casto sa v nich nachadzaju rozne buffer overflowy sposbujuce segfaulty a ine neprijemne chyby.