Hlavní navigace

Sedem základných tipov pre zabezpečenie FreeBSD

Juraj Šípoš 10. 11. 2010

FreeBSD okrem možnosti doinštalovania rôznych aplikácií pre zabezpečenie systému má pravdaže i vyspelé natívne komponenty, pomocou ktorých si užívateľ i administrátor vybuduje stenu voči okoliu. Možnosti základného zabezpečenia zhrnieme do siedmych tipov v duchu, „ako s FreeBSD začať“.

FreeBSD zabezpečíme nasledovne:

  1. Firewall
  2. šifrovanie swapu
  3. jail (pre administrátorov)
  4. kernel securelevels (bezpečnostné úrovne jadra)
  5. auditing portov
  6. zablokovanie Ctrl-Alt-Del (lokálne zabezpečenie)
  7. chflags

Firewall

FreeBSD má tri natívne komponenty pre firewalling – IPFILTER (IPF), IPFIREWALL (IPFW) a PF (Packet Filter) z OpenBSD. FreeBSD má takisto aj nástroje pre bandwidth kontrolu (kontrola priepustnosti dát), ktoré sú súčasťou firewallu (altq – PF; dummynet – IPFW).

IPFILTER môže byť ľahšie konfigurovateľný s ohľadom na niektoré vlastnosti (NAT). Viac možností firewallingu napokon urýchľuje aj prácu. V prípade, že ste ste zvykli na PF, budete mať jeden z najvyspelejších firewallov.

Všetky tri možnosti firewallu v skratke aktivujete pomocou kldload: kldload ipf (IPFILTER, konfiguračný súbor: /etc/ipf.rules); kldload pf (OpenBSD Packet Filter, konfiguračný súbor: /etc/pf.conf); kldload ipfw (IPFIREWALL, konfiguračný súbor: /etc/rc.firewall a /etc/ipfw.rules). ipfw spustíte cez rc.conf ( firewall_enable="YES" a pomocou firewall_script uvediete cestu k súboru) alebo manuálne ( sh /etc/ipfw.rules).

Pravidlá pre firewall IPFW na konci tejto stránky môžete ihneď použiť, treba len zmeniť riadok odkazujúci sa na sieťovú kartu („pif“), ktorou ste pripojení k internetu.

Na internete je veľa vzorových konfiguračných súborov pre PF. PF aktivujete (pokiaľ je modul pf načítaný v jadre): pfctl -e (deaktivujete ho: pfctl -d) a pravidlá načítate zo súboru:  pfctl -f /etc/pf.conf.

Politika pravidiel pre firewall je najskôr všetko zakázať a potom postupne povoliť to, čo potrebujete. Základný pf.conf súbor, ktorý možno hneď použiť, nájdete na stránkach OpenBSD.

Šifrovanie swapu

Šifrovanie swapu je vo FreeBSD od verzie 5.3-RELEASE a nie je implicitne aktívne ako v OpenBSD. Do swapu sa však ukladajú citlivé dáta, ktoré je niekedy nutné šifrovať. FreeBSD pre šifrovanie swapu ponúka dva spôsoby, ale jeden z nich je tak trochu ešte experimentálny (informuje manuálová stránka gbde). Pre šifrovanie swapu použite geli  – stačí pridať riadok do /boot/loader.conf: geom_eli_load="YES" a potom do /etc/fstab (resp. upraviť existujúci riadok s odkazom na swap – vždy s písmenkom „b“):

(pôvodný)
/dev/ad0s1b         none            swap    sw              0       0
(upravený)
/dev/ad0s1b.eli     none            swap    sw              0       0

Povahu šifrovania možno neskôr dolaďovať pomocou /etc/rc.conf, napríklad: geli_swap_flags="-e blowfish -l 128 -s 4096 -d"

Pre overenie, či šifrovanie naozaj funguje, použite swapinfo (prípona „eli“ znamená, že šifrovanie swapu je aktívne):

$ swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ad0s3b.eli    819200        0   819200     0%

Jail

Jail je mechanizmus podobný virtualizácii, pomocou ktorého administrátori rozdelia systém na menšie minisystémy, ktoré sa nazývajú jaily. Jaily uplatňujú najmä administrátori (pre ftp, www server alebo iné služby).

Úrovne jadra – „kernel securelevels“

FreeBSD používa bezpečnostný mechanizmus, pri aktivácii ktorého jadro sa k niektorým úlohám správa reštriktívne a nepovolí ich ani administrátorovi. Administrátor dá niektorým súborom napríklad atribút „immutable“ (nezmeniteľný). Keď je aktivovaná istá úroveň securelevel, vlastnosť súborov s atribútom „immutable“ nemôže odobrať ani administrátor.

Ak si chcete pozrieť, aký je aktuálny štatút securelevel vo vašom systéme, zadajte: sysctl kern.securelevel

FreeBSD používa niekoľko úrovní securelevel, pre obšírnejšie informácie pozrite do manuálovej stránky ( man securelevel). V skratke ich môžeme zhrnúť:

a) –1 (bez bezpečnosti)
b) 0 (tiež bez úrovne bezpečnosti – používa sa však pri zavádzaní systému, v ktorom už sú aktivované bezpečnostné úrovne; túto úroveň nie je potrebné špeciálne nastaviť)
c) 1 (úroveň bezpečnosti, kedy nikto nemôže odobrať atribút „immutable“, ale ani moduly načítať do jadra)
d) 2 (vysoká úroveň bezpečia – úroveň 1 je v platnosti, ale rozšírená o zákaz zápisu na disk, teda nepôjde ani newfs)
e) 3 (sieťová úroveň bezpečia, tiež vysoká, aktivovaná je úroveň 1 i 2 a nemožno meniť ani pravidlá firewallingu)

Úrovne jadra môžete hneď (bez reštartu) otestovať napríklad pomocou sysctl kern.securelevel=1. Zápis do /etc/rc.conf si vyžaduje reštart počítača:

kern_securelevel_enable="YES"
kern_securelevel=1

Pokiaľ systém beží a vy aktivujete jednu úroveň securelevel, potom môžete postupovať už len do vyšších úrovní. V prípade, že chcete úroveň znížiť, nutný je reštart.

Auditing portov

Nástroj portaudit kontroluje zraniteľnosť softvéru tretích strán (ports) pomocou databázy, ktorá sa pravidelne aktualizuje. Z bezpečnostných dôvodov je teda vždy lepšie inštalovať balíčky iba pomocou ports ( make install). Nástroj nájdete v /usr/ports/ports-mgmt, odkiaľ si ho môžete inštalovať. Príkazom portaudit -F túto databázu stiahnete z internetu a hneď budete mať najnovšie informácie o tom, aký softvér a kde má diery: portaudit -a. Jedným z takýchto varovaní je napríklad:

Affected package: opera-10.10.20091120_2
Type of problem: opera -- Data URIs can be used to allow cross-site scripting.
Reference: http://portaudit.FreeBSD.org/77b9f9bc-7fdf-11df-8a8d-0008743bf21a.html

Na stránke portaudit.fre­ebsd.org nájdete všetko pohromade.

6) Deaktivácia Ctrl+Alt+Del

Ctrl+Alt+Del predstavuje lokálne riziko, kedy užívateľ môže reštartovať počítač a z bezpečnostných dôvodov sa odporúča reštart pomocou kláves Ctrl+Alt+Del zablokovať: sysctl hw.syscons.kbd_reboot: 1 -> 0. Zákaz však musíte mať najskôr zakompilovaný v jadre:  options SC_DISABLE_REBOOT

Chflags

Podľa požiadaviek i intenzity obáv je vhodné niektorým systémovým súborom priradiť atribút „immutable“ – súbor s takým atribútom (nezmeniteľný) nemôže nikto zmeniť okrem vás, pričom vo vyšších bezpečnostných úrovniach securelevel vylúčite aj samého seba. Na serveri to má niekoľko veľkých výhod:

chflags schg /etc/sysctl.conf # atribút priradíte
chflags noschg /etc/sysctl.conf # atribút odoberiete

Bezpečnostné tipy na záver

Logy vo FreeBSD sa nachádzajú v adresári /var/logs a treba ich priebežne sledovať. Niektoré ďalšie tipy pre zabezpečenie sú: použiť blackhole, čím skomplikujete portscanning ( man blackhole). Keď príde požiadavka na pripojenie k portu, na ktorom nebeží nijaká služba, systém, ktorý sa pripája, dostane správu „Connection refused“; ak nastavíte hodnotu blackhole na „2“, FreeBSD sa bude správať ako „čierna diera“ (black hole) a skenujúci systém nedostane nijakú správu, že na danom porte nič nebeží:

sysctl net.inet.tcp.blackhole=2
sysctl net.inet.udp.blackhole=1

Vhodné je aktivovať aj „process accounting“ – budete vedieť, aké procesy bežali v systéme. Aktivujete ho v /etc/rc.conf: accounting_enable="YES" a predchádzajúce aktivity vášho systému zobrazíte príkazmi ako sa a lastcomm.

Napokon je vhodné skryť procesy. Pokiaľ vo FreeBSD zadáte príkaz ps, v každom účte uvidíte všetky spustené procesy. Vo viacužívateľskom prostredí tak môže ktokoľvek sledovať iného užívateľa, preto sa odporúča toto zablokovať:

sysctl security.bsd.see_other_uids=0
sysctl security.bsd.see_other_gids=0

Zámenou „0“ za „1“ sa ps bude správať ako predtým. Rôzne príkazy sysctl je najlepšie zapísať do /etc/sysctl.conf.

Odkazy

Niektoré aplikácie tretích strán pre auditing a zabezpečenie FreeBSD

Našli jste v článku chybu?

14. 11. 2010 10:03

Trident (neregistrovaný)

Boot ze san jsme zkouseli i produkcne a zamitli pro prilisnou komplexnost a single point of failure problemu.Servery s dedikovanymi vlastnimi systemovymi disky jsou spolehlivejsi. Nemusi se resit taky ruzna geometrie(napr.IBM vs HITACHI) v pripade migrace na jinou storage.
Navic nam pri bootu nefungoval multipathing na Qlogicech-coz je v produkci docela pruser. V pripade chcipnuti SAN pole je cele prostredi v haji. Po restoru pole a restartu clusteru dojde k velmi vysokemu trafficu, kdyz se vsec…

11. 11. 2010 9:13

Buki (neregistrovaný)

jednoduche - protoze zblblej z woken na firemnim pocitaci prijdes k serveru a budes se chtit "prihlasit" trojhmatem a ejhle! jses v prdeli jak Bata s drevakama...

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Root.cz: 250 Mbit/s po telefonní lince, když máte štěstí

250 Mbit/s po telefonní lince, když máte štěstí

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Vitalia.cz: Často čůrá a má žízeň? Příznaky dětské cukrovky

Často čůrá a má žízeň? Příznaky dětské cukrovky

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Vitalia.cz: Manželka je bio, ale na sex moc není

Manželka je bio, ale na sex moc není

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR