Košík je prázdný

SELinux (Security-Enhanced Linux) je bezpečnostní modul Linuxového jádra, který poskytuje mechanismus pro podporu řízení přístupu ke zabezpečení. SELinux může omezit přístup služeb a procesů k souborům, adresářům a dalším systémovým zdrojům. Pokud služba nemůže přistupovat k určitému souboru nebo adresáři kvůli politikám SELinux, může se zobrazit chybová zpráva "avc: denied". Tento článek vám ukáže, jak tuto chybu opravit na systému CentOS 7.

Příčiny chyby "avc: denied"

SELinux rozlišuje procesy a soubory na základě bezpečnostních kontextů. Když proces s jedním bezpečnostním kontextem se pokusí přistupovat k souboru nebo adresáři s jiným bezpečnostním kontextem, a politika SELinux toto neumožňuje, operace selže a systém zaznamená "avc: denied" chybu.

Identifikace problému

  1. Zkontrolujte logy: Nejprve zkontrolujte logy SELinux, které se obvykle nacházejí v /var/log/audit/audit.log, abyste zjistili podrobnosti o chybě "avc: denied".

  2. Použití audit2why: Pro lepší pochopení chyby můžete použít nástroj audit2why. Tento nástroj vám poskytne vysvětlení, proč byl přístup zamítnut, a může navrhnout řešení. Příkaz může vypadat takto:

    ausearch -m avc -ts recent | audit2why
    

 

Oprava chyby

  1. Změna bezpečnostního kontextu souboru nebo adresáře: Pokud je problém ve špatném bezpečnostním kontextu souboru nebo adresáře, můžete jej změnit pomocí příkazu chcon. Například, pokud služba potřebuje přístup k logovacímu souboru, můžete použít:

    chcon -t httpd_log_t /cesta/k/souboru.log
    

    Tento příkaz změní bezpečnostní kontext souboru na httpd_log_t, což je typicky povolen pro webové servery.

  2. Vytvoření vlastní politiky SELinux: Pokud změna kontextu není vhodná nebo pokud potřebujete trvalé řešení, můžete vytvořit vlastní politiku SELinux pomocí audit2allow. Tento nástroj vytvoří modul politiky SELinux z logů "avc: denied" chyb.

    ausearch -m avc -ts recent | audit2allow -M mojepolitika
    semodule -i mojepolitika.pp
    

Tento postup generuje a nainstaluje modul politiky SELinux, který povolí dříve zamítnuté operace.

Důležité upozornění

Při úpravách SELinux politik je důležité zachovat opatrnost, abyste neoslabili bezpečnostní stav systému. Změny by měly být prováděny pouze po důkladné analýze a s pochopením možných důsledků. Vždy testujte změny v bezpečném prostředí před nasazením do produkčního prostředí.

 

Chyby "avc: denied" mohou být frustrující, ale zároveň slouží jako připomenutí důležitosti bezpečnostních politik v Linuxových systémech. Správným postupem a opatřením můžete tyto problémy vyřešit a zároveň udržet systém bezpečný.