LPS:Linux/SELinux

Z HelpDesk
< LPS:Linux
Verze z 4. 10. 2019, 09:03, kterou vytvořil Svamberg (diskuse | příspěvky) (aktualizace)

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
 ce /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