Před spuštěním se musíte naučit následující koncepty:
Předměty: procesy nebo uživatelé.
Objekty: soubory nebo souborové systémy.
Vynucení typu: na SELinuxu mají všechny subjekty a objekty identifikátor typu končící _t. "Vynucení typu je představa, že v povinném systému kontroly přístupu je přístup řízen proclením na základě sady pravidel subjektu-přístupu-objektu.
V SELinuxu je vynucování typu implementováno na základě štítků předmětů a objektů. SELinux sám o sobě nemá pravidla, která by to řekla / bin / bash může vykonat / bin / ls. Místo toho má pravidla podobná „Procesy se štítkem user_t mohou spouštět běžné soubory s označením bin_t.”(Zdroj https: // wiki.gentoo.org / wiki / SELinux / Type_enforcement)
Diskrétní řízení přístupu (DAC): DAC je systém vlastnictví a oprávnění, který používáme v systému Linux ke správě přístupu k objektům, jako jsou soubory nebo adresáře. Diskrétní řízení přístupu nemá nic společného se SELinuxem a je jinou vrstvou zabezpečení. Další informace o DAC najdete na stránce Vysvětlení oprávnění systému Linux.
Povinná kontrola přístupu (MAC): je typ řízení přístupu, který omezuje přístup subjektů k interakci s objekty. Na rozdíl od DAC s MAC uživatelé nemohou měnit zásady.
Subjekty a objekty mají bezpečnostní kontext (atributy zabezpečení) sledovaný SELinuxem a spravovaný podle bezpečnostních zásad vytvořených pravidly, která mají být vynucována.
Role Based Access Control (RBAC): je typ řízení přístupu na základě rolí, lze jej kombinovat s MAC i DAC. Zásady RBAC usnadňují správu mnoha uživatelů v organizaci na rozdíl od DAC, které lze odvodit v jednotlivých přiřazeních oprávnění, usnadňují auditování, konfiguraci a aktualizace zásad.
Režim vynucování: SELinux omezuje přístup subjektů k objektům na základě zásad.
Povolující režim: SELinux zaznamenává pouze nelegitimní aktivity.
Mezi funkce SELinuxu patří (seznam Wikipedie):
- Čisté oddělení politiky od prosazování
- Dobře definované rozhraní zásad
- Podpora aplikací dotazujících se na zásady a vynucování řízení přístupu (například, crond spouštění úloh ve správném kontextu)
- Nezávislost konkrétních zásad a jazyků politik
- Nezávislost na konkrétních formátech a obsahu bezpečnostních štítků
- Jednotlivé štítky a ovládací prvky pro objekty a služby jádra
- Podpora změn zásad
- Samostatná opatření na ochranu integrity systému (typu domény) a důvěrnosti údajů (víceúrovňové zabezpečení)
- Flexibilní politika
- Ovládá inicializaci a dědičnost procesu a provádění programu
- Ovládá souborové systémy, adresáře, soubory a otevírá deskriptory souborů
- Ovládá zásuvky, zprávy a síťová rozhraní
- Kontroly používání „schopností“
- Informace o rozhodnutích o přístupu do mezipaměti pomocí Access Vector Cache (AVC)
- Default-deny zásada (vše, co není v zásadě výslovně uvedeno, je zakázáno).
Zdroj: https: // en.wikipedia.org / wiki / Security-Enhanced_Linux # funkce
Poznámka: uživatelé se liší v systémech SELinux a passwd.
Nastavení SELinuxu na Debian 10 Buster
V mém případě byl SELinux na Debian 10 Buster deaktivován. Udržování SELinux povoleno je jedním ze základních kroků k zajištění bezpečnosti zařízení Linux. Chcete-li zjistit stav SELinuxu ve vašem zařízení, spusťte příkaz:
/ # sestatus
Zjistil jsem, že SELinux byl deaktivován, abyste jej mohli povolit, musíte nainstalovat nějaké balíčky před, po apt aktualizace, spusťte příkaz:
/ # apt install selinux-basics selinux-policy-default
Na požádání stiskněte Y pokračujte v procesu instalace. Běh apt aktualizace po dokončení instalace.
Chcete-li povolit SELinux, spusťte následující příkaz:
/ # selinux-Activate
Jak vidíte, SELinux byl správně aktivován. Chcete-li použít všechny změny, musíte restartovat systém podle pokynů.
Příkaz getenforce lze použít ke zjištění stavu SELinuxu, pokud je v tolerantním nebo vynucujícím režimu:
/ # getenforce
Povolený režim lze nahradit nastavením parametru 1 (permisivní je 0). Můžete také zkontrolovat režim v konfiguračním souboru pomocí příkazu méně:
/ # méně / etc / selinux / config
Výstup:
Jak vidíte, konfigurační soubory ukazují tolerantní režim. lis Q ukončit.
Chcete-li zobrazit kontext zabezpečení souboru nebo procesu, můžete použít příznak -Z:
/ # ls -Z
Formát štítku je uživatel: role: typ: úroveň.
semanage - nástroj SELinux Policy Management
semanage je nástroj SELinux Policy Management. Umožňuje správu booleanů (které umožňují měnit proces za běhu), uživatelské role a úrovně, síťová rozhraní, moduly zásad a další. Semanage umožňuje konfigurovat zásady SELinux bez nutnosti kompilace zdrojů. Semanage umožňuje propojení mezi uživateli OS a SELinux a bezpečnostními kontexty určitých objektů.
Další informace o semanage naleznete na manuálové stránce na adrese: https: // linux.zemřít.net / man / 8 / semanage
Závěr a poznámky
SELinux je další způsob, jak spravovat přístup z procesů k systémovým prostředkům, jako jsou soubory, oddíly, adresáře atd. Umožňuje spravovat obrovská oprávnění podle role, úrovně nebo typu. Jeho povolení je nutností jako bezpečnostní opatření a při jeho používání je důležité pamatovat na jeho vrstvu zabezpečení a po povolení nebo zakázání restartovat systém (zakázání se kromě konkrétních testů vůbec nedoporučuje). Někdy je přístup k souborům blokován, i když jsou udělena oprávnění systému nebo OS, protože to SELinux zakazuje.
Doufám, že vám byl tento článek o SELinuxu užitečný jako úvod do tohoto bezpečnostního řešení, sledujte LinuxHint pro další tipy a aktualizace pro Linux a síť.
Související články:
- Výukový program pro SELinux na Ubuntu
- Jak zakázat SELinux na CentOS 7
- Kontrolní seznam pro posílení zabezpečení systému Linux
- Profily AppArmor na Ubuntu