SEBSD - Secure FreeBSD

strict warning: Only variables should be passed by reference in /app/www/honza/www/drupal-new/modules/book/book.module on line 559.
Podobně jako je na Linuxu rozšíření SELinux, existuje podobná záležitost i pro FreeBSD. V rámci projektu TrustedBSD je i pro FreeBSD vytvořeno SEBSD. Jedná se o port NSA architektury FLASK/TE. V první řadě je nutné si položit otázku, co je tato architektura zač a jaký je rozdíl proti již existujíci verzi.



Architektura
Flux Advanced Security Kernel (FLASK) zajišťuje základní rámec pro vynucení různých druhů systémových politik a možností odpovídajícího účetnictví provozu. Systémové politiky jsou založeny na konceptech jako je DTE (Domain Type Enforcement), RBAC (Role Based Access Control) a MLS (Multi-Level Security). Cílem je zajistit minimání potřebná práva pro splnění požadovaného úkolu.Další informace o SELinux-u a různých metodách správy práv lze najít na domovských stránkách projektu, stránkách NSA nebo na Wikipedii.



Instalace
SEBSD je modul instalovaný do jádra systému. V současnosti existují tři verze, pro FreeBSD 5.1/6.0/7.0 Tyto moduly je možné stáhnout ze stránek projektu Trusted BSD, pro instalaci vyžadují pár zásahů a rekompilaci systému. Postup je proveden z větší části podle dokumentace.Pro verzi 7.0 může být postup následující:
1) V single user modu povolit multilabel.
tunefs -l enable /

2) V multiuser modu (normální běh systému) je potřeba provést následující kroky:
portinstall gmake gawk python
wget http://www.trustedbsd.org/downloads/20060705-7.0-SEBSD-supfile


Uvedeny suppfile pro pouze přidává možnost stáhnout mezi source pro systém následující moduly, jejich specifikace je na stránkách projektu. Jako zdroj musí být uveden cvsup10.FreeBSD.org:
#p4-cvs-trustedbsd-audit3
#p4-cvs-trustedbsd-cap
#p4-cvs-trustedbsd-mac
#p4-cvs-trustedbsd-openbsm
p4-cvs-trustedbsd-sebsd

3) Update CVS zdrojů pomocí CVSUpdate a úprava připraveného konfiguračního souboru. Tento soubor se nachází na /usr/src/sys/architecture/conf/MAC

4) Kompilace systému:
cd /usr/src
make buildworld && make buildkernel KERNCONF=MAC
make installworld && make sebsd_bootstrap
installkernel KERNCONF=MAC INSTKERNNAME=MAC


5) Změny konfigurace v souboru /etc/fstab, které nastavují parametry pro mount a je nutné povolit multilabel. Zde se do "Option" místo defaultního "rw" vloží "rw,multilabel", případně další parametry dle požadavků.

6) Zkontrolovat, zda v /boot/loader.conf existují záznamy:
kernel="MAC"
sebsd_load="YES"


Pokud je nutné nabootovat standadní kernel, stačí okomentovat tyto dva záznamy a přestartovat systém.



Aktivace připravených politik
Bezpečnostní politiky se nacházejí v adresáři /etc/security/sebsd/targeted/src/policy, zkompilované verze pak v /etc/security/sebsd/targeted/policy/policy.20. Aktivovat je možné pouze kompilované politiky. SEBSD obsahuje portované bezpečnostní politiky ze SELinuxu, které jsou dostupné i na stránkách projektu Reference policy. Před kompilací je vhodné je projít a případně upravit. Jejich aktivace probíhá následovně:

1) Kompilace politik do binárního tvaru
cd /etc/security/sebsd/targeted/src/policy && gmake && gmake install

2) Načtení politik do kernelu
/usr/sbin/load_policy /etc/security/sebsd/targeted/policy/policy.20

3) Relabel systému
cd /etc/security/sebsd/targeted/src/policy && gmake relabel

4) Restart systému

5) Testování politik. Standardně je systém v módu, kdy se všechny rozpory zaznamenávají, ale politiky nejsou vynuceny. V tomto stavu by měl být ověřen provoz. Následně by měla být provedena aktivace do stavu, aby byla politika vynucována.
Vynucení:
sysctl security.mac.sebsd.enforcing=1
Záznamy rozporů:
sysctl security.mac.sebsd.enforcing=0



Konfigurace politik



To be continued ...

Powered by Drupal - Design by artinet