LPS:Linux/SELinux
Z HelpDesk
Zakladni postupy jak pracovat se SELinuxem.
Jak vytvořit a přidat nový modul
Získání záznamu
Ten je možné získat z audit2why -lb nebo z /var/log/audit/audit.log. Zajímají nás AVC záznamy:
audit2why -lb | grep AVC cat /var/log/audit/audit.log | grep AVC
V nich musíme najít správný záznam, například podle jména pracoesu nebo typu souboru.
Vytvoření politiky
Používá se příkaz audit2allow -M <modul> kdy na STDIN pošleme AVC záznamy. Doporučuji přidat postfix _zcu abychom odlišili standardní moduly od systémových:
mkdir /tmp/selinux cd /tmp/selinux grep 'comm="cron"' /var/log/audit/* | grep 'type=AVC' | audit2allow -M cron_zcu
Tím se vytvoří soubory cron_zcu.te a cron_zcu.pp, potřebovat budeme oba.
Testování
Dle nápovědy zavedeme modul
semodule -i fail2ban_zcu.pp
a otestujeme, zda se funkcionalita opravila.
- nepomohlo: nenašli jsme správný log a můžeme začít znova. Modul není třeba odinstalovat, při dalším testu se aktualizuje sám.
- funguje: zavedeme jej v dalším kroce do cfenginu
Pokud se stalo něco zlého, modul lze odebrat:
semodule -r fail2ban_zcu
Instalace modulu do CF3
Soubor .te stačí přidat do /root/cf/templates/etc/selinux/local/ cfengine si jej rozkopiruje, zkompiluje a zavede. To same platí o odebrání nebo aktualizaci modulu.
cd /root/cf/ cp /tmp/fail2ban_zcu.te templates/etc/selinux/local/ git add templates/etc/selinux/local/failb2ban_zcu.te git commit templates/etc/selinux/local/failb2ban_zcu.te git push