LPS:Linux/SELinux

Z Support
< LPS:Linux(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Vytvoření politiky: fix typo)
(oprava syntaxe)
Řádka 4: Řádka 4:
 
==Získání záznamu==
 
==Získání záznamu==
 
Ten je možné získat z <tt>audit2why -lb</tt> nebo z <tt>/var/log/audit/audit.log</tt>. Zajímají nás ''AVC'' záznamy:
 
Ten je možné získat z <tt>audit2why -lb</tt> nebo z <tt>/var/log/audit/audit.log</tt>. Zajímají nás ''AVC'' záznamy:
  audit2why -lb | grep AVC
+
audit2why -lb | grep AVC
  cat /var/log/audit/audit.log | 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.
 
V nich musíme najít správný záznam, například podle jména pracoesu nebo typu souboru.
Řádka 11: Řádka 11:
 
==Vytvoření politiky==
 
==Vytvoření politiky==
 
Používá se příkaz <tt>audit2allow -M &lt;modul&gt;</tt> kdy na STDIN pošleme AVC záznamy. Doporučuji přidat postfix <tt>_zcu</tt> abychom odlišili standardní moduly od systémových:
 
Používá se příkaz <tt>audit2allow -M &lt;modul&gt;</tt> kdy na STDIN pošleme AVC záznamy. Doporučuji přidat postfix <tt>_zcu</tt> abychom odlišili standardní moduly od systémových:
  mkdir /tmp/selinux
+
mkdir /tmp/selinux
  cd /tmp/selinux
+
cd /tmp/selinux
  grep 'comm="<font color="red">cron</font>"' /var/log/audit/* | grep 'type=AVC' | audit2allow -M <font color="red">cron</font>_zcu
+
grep 'comm="<font color="red">cron</font>"' /var/log/audit/* | grep 'type=AVC' | audit2allow -M <font color="red">cron</font>_zcu
 
Tím se vytvoří soubory <tt>cron_zcu.te</tt> a <tt>cron_zcu.pp</tt>, potřebovat budeme oba.
 
Tím se vytvoří soubory <tt>cron_zcu.te</tt> a <tt>cron_zcu.pp</tt>, potřebovat budeme oba.
  
 
==Testování==
 
==Testování==
 
Dle nápovědy zavedeme modul
 
Dle nápovědy zavedeme modul
  semodule -i fail2ban_zcu.pp
+
semodule -i fail2ban_zcu.pp
 
a otestujeme, zda se funkcionalita opravila.  
 
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.
 
* '''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.
Řádka 24: Řádka 24:
  
 
Pokud se stalo něco zlého, modul lze odebrat:
 
Pokud se stalo něco zlého, modul lze odebrat:
  semodule -r fail2ban_zcu
+
semodule -r fail2ban_zcu
  
 
==Instalace modulu do CF3==
 
==Instalace modulu do CF3==
 
Soubor <tt>.te</tt> stačí přidat do <tt>/root/cf/templates/etc/selinux/local/</tt> cfengine si jej rozkopiruje, zkompiluje a zavede. To same platí o odebrání nebo aktualizaci modulu.
 
Soubor <tt>.te</tt> stačí přidat do <tt>/root/cf/templates/etc/selinux/local/</tt> cfengine si jej rozkopiruje, zkompiluje a zavede. To same platí o odebrání nebo aktualizaci modulu.
  cd /root/cf/
+
cd /root/cf/
  cp /tmp/fail2ban_zcu.te templates/etc/selinux/local/
+
cp /tmp/fail2ban_zcu.te templates/etc/selinux/local/
  git add templates/etc/selinux/local/failb2ban_zcu.te
+
git add templates/etc/selinux/local/failb2ban_zcu.te
  git commit templates/etc/selinux/local/failb2ban_zcu.te
+
git commit templates/etc/selinux/local/failb2ban_zcu.te
  git push
+
git push

Verze z 07:58, 11 září 2020

Zakladni postupy jak pracovat se SELinuxem.

Obsah

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
Osobní nástroje
Jmenné prostory

Varianty
Zobrazení
Akce
Kdo jsem
Navigace
Často hledaná témata
Nástroje