Košík je prázdný

SELinux (Security-Enhanced Linux) představuje klíčový bezpečnostní mechanismus v distribucích Linuxu založený na politikách, který poskytuje podporu pro přístupovou kontrolu zabezpečení. Při práci s Docker kontejnery na systému CentOS 7 může SELinux způsobovat problémy s přístupem k volume mountům, protože implicitně omezuje, které procesy mohou přistupovat k souborům na hostitelském systému. V tomto článku se dozvíte, jak nakonfigurovat SELinux tak, aby umožňoval spuštění Docker kontejnerů s vlastními volume mounty.

Přehled postupu

Konfigurace SELinux pro povolení Docker kontejnerů s vlastními volume mounty zahrnuje několik kroků, včetně nastavení správných kontextů SELinux na sdílené adresáře a přizpůsobení politik SELinux pro Docker. Tento průvodce vás provede celým procesem krok za krokem.

Krok 1: Zjištění stavu SELinux

Nejprve je potřeba zjistit, zda je SELinux aktivní. To lze provést pomocí následujícího příkazu:

getenforce

Pokud příkaz vrátí Enforcing, SELinux je aktivní a vynucuje politiky bezpečnosti.

Krok 2: Nastavení kontextů SELinux

Pro povolení přístupu k volume mountům je nutné nastavit správný kontext SELinux na adresáře, které budou mountovány do kontejnerů. Použijte příkaz chcon pro nastavení kontextu svirt_sandbox_file_t, který umožňuje kontejnerům přístup:

chcon -Rt svirt_sandbox_file_t /cesta/k/volume

Nahraďte /cesta/k/volume skutečnou cestou k adresáři, který chcete použít jako volume.

Krok 3: Použití pravidel boolean SELinux

SELinux nabízí tzv. boolean proměnné, které umožňují jemnější ovládání přístupových práv. Pro Docker jsou relevantní například:

  • docker_can_network
  • container_manage_cgroup

Pro povolení spuštění Docker kontejnerů s vlastními volume mounty může být potřeba povolit následující boolean:

setsebool -P container_manage_cgroup on

Krok 4: Audit a ladění

Při problémech s přístupem můžete použít nástroj audit2allow pro analýzu logů auditu a identifikaci potřebných změn v politikách SELinux. Tento nástroj může také generovat modul SELinux, který můžete nainstalovat pro řešení specifických problémů s přístupem.

 

Konfigurace SELinux pro práci s Docker kontejnery na CentOS 7 vyžaduje pozornost k detailům a porozumění základním principům SELinux. Nastavením správných kontextů a použitím boolean proměnných SELinux můžete zajistit, že vaše Docker kontejnery budou moci bezpečně přistupovat k volume mountům. V případě potřeby neváhejte použít audit logy pro další ladění a přizpůsobení politik SELinux.