LPS:Linux/SELinux

Z HelpDesk
< LPS:Linux
Verze z 11. 9. 2020, 07:20, kterou vytvořil Svamberg (diskuse | příspěvky) (→‎Vytvoření politiky: oprava)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

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
egrep 'cron' /var/log/audit/* | 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