Pred začatím sa musíte naučiť nasledujúce koncepty:
Predmety: procesov alebo používateľov.
Predmety: súbory alebo súborové systémy.
Vynútenie typu: na SELinux majú všetky subjekty a objekty identifikátor typu končiaci _t. „Presadzovanie typu je predstava, že v povinnom systéme kontroly prístupu sa prístup riadi prostredníctvom klírensu na základe súboru pravidiel subjektu - prístupu - objektu.
V SELinuxe je vynucovanie typu implementované na základe štítkov subjektov a objektov. Samotný SELinux nemá stanovené pravidlá / bin / bash môže vykonať / bin / ls. Namiesto toho má pravidlá podobné „Procesy s označením user_t môžu vykonávať bežné súbory s označením bin_t.”(Zdroj https: // wiki.gentoo.org / wiki / SELinux / Type_enforcement)
Diskrétna kontrola prístupu (DAC): DAC je systém vlastníctva a povolení, ktorý používame v systéme Linux na správu prístupu k objektom, ako sú súbory alebo adresáre. Diskrétna kontrola prístupu nemá nič spoločné so SELinuxom a je to iná bezpečnostná vrstva. Ďalšie informácie o DAC nájdete na stránke Vysvetlenie oprávnení systému Linux.
Povinná kontrola prístupu (MAC): je typ riadenia prístupu, ktorý obmedzuje prístup subjektov k interakcii s objektmi. Na rozdiel od DAC s MAC nemôžu používatelia meniť zásady.
Subjekty a objekty majú bezpečnostný kontext (bezpečnostné atribúty) monitorovaný SELinuxom a sú spravované podľa bezpečnostných politík vytvorených pravidlami, ktoré sa majú vynútiť.
Role Based Access Control (RBAC): je typ riadenia prístupu založený na rolách, je možné ho kombinovať s MAC aj DAC. Politiky RBAC uľahčujú správu mnohých používateľov v organizácii na rozdiel od DAC, ktoré sa dajú odvodiť pri individuálnych priradeniach povolení, uľahčujú auditovanie, konfiguráciu a aktualizácie zásad.
Režim vynútenia: SELinux obmedzuje prístup subjektov k objektom na základe zásad.
Povolený režim: SELinux zaznamenáva iba nelegitímnu aktivitu.
Medzi funkcie SELinux patria (zoznam Wikipedia):
- Čisté oddelenie politiky od vynucovania
- Dobre definované politické rozhrania
- Podpora aplikácií dotazujúcich sa na politiku a vynucovania riadenia prístupu (napríklad, crond spúšťanie úloh v správnom kontexte)
- Nezávislosť konkrétnych politík a jazykov politík
- Nezávislosť od konkrétnych formátov a obsahu bezpečnostných štítkov
- Jednotlivé štítky a ovládacie prvky pre objekty a služby jadra
- Podpora pre zmeny politiky
- Samostatné opatrenia na ochranu integrity systému (typu domény) a dôvernosti údajov (viacúrovňové zabezpečenie)
- Flexibilná politika
- Ovláda inicializáciu a dedenie procesu a vykonávanie programu
- Kontroly nad súborovými systémami, adresármi, súbormi a otvorením deskriptory súborov
- Ovláda zásuvky, správy a sieťové rozhrania
- Kontroly nad využívaním „schopností“
- Informácie o rozhodnutiach o prístupe do pamäte cache pomocou vyrovnávacej pamäte Vector Vector (AVC)
- Predvolene-odmietnuť politika (čokoľvek, čo nie je v politike výslovne uvedené, je zakázané).
Zdroj: https: // en.wikipedia.org / wiki / Security-Enhanced_Linux # funkcie
Poznámka: používatelia sa líšia v systémoch SELinux a passwd.
Nastavenie SELinux na Debian 10 Buster
V mojom prípade bol SELinux na Debian 10 Buster zakázaný. Udržiavanie povoleného SELinuxu je jedným zo základných krokov na zaistenie bezpečnosti zariadenia Linux. Ak chcete zistiť stav systému SELinux vo svojom zariadení, spustite príkaz:
/ # sestatus
Zistil som, že SELinux je vypnutý, aby ste ho mohli aktivovať, musíte si nainštalovať nejaké balíčky pred, po a apt aktualizácia, spustite príkaz:
/ # apt nainštalovať selinux-basics selinux-policy-default
Na požiadanie stlačte Y pokračovať v procese inštalácie. Bež apt aktualizácia po dokončení inštalácie.
Ak chcete povoliť SELinux, spustite nasledujúci príkaz:
/ # selinux-activated
Ako vidíte, SELinux bol správne aktivovaný. Ak chcete použiť všetky zmeny, musíte reštartovať systém podľa pokynov.
Príkaz getenforce možno použiť na zistenie stavu SELinuxu, ak je v tolerantnom alebo vynútiteľnom režime:
/ # getenforce
Povolený režim je možné nahradiť nastavením parametra 1 (permisívny je 0). Režim môžete skontrolovať aj v konfiguračnom súbore pomocou príkazu menej:
/ # menej / etc / selinux / config
Výkon:
Ako vidíte, konfiguračné súbory ukazujú povolený režim. Stlačte Q ukončiť.
Ak chcete zobraziť kontext zabezpečenia súboru alebo procesu, môžete použiť príznak -Z:
/ # ls -Z
Formát štítku je užívateľ: rola: typ: úroveň.
semanage - nástroj SELinux Policy Management
semanage je nástroj SELinux Policy Management. Umožňuje spravovať booleany (ktoré umožňujú meniť proces za behu), užívateľské role a úrovne, sieťové rozhrania, moduly politiky a ďalšie. Semanage umožňuje konfigurovať politiky SELinux bez potreby kompilácie zdrojov. Semanage umožňuje spojenie medzi používateľmi OS a SELinux a bezpečnostnými kontextami určitých objektov.
Ďalšie informácie o semanage nájdete na manuálovej stránke: https: // linux.zomrieť.net / man / 8 / semanage
Záver a poznámky
SELinux je ďalší spôsob, ako spravovať prístup z procesov k systémovým prostriedkom, ako sú súbory, oddiely, adresáre atď. Umožňuje spravovať obrovské privilégiá podľa roly, úrovne alebo typu. Jeho povolenie je nevyhnutnosťou ako bezpečnostné opatrenie a pri jeho používaní je potrebné pamätať na jeho vrstvu zabezpečenia a po jej povolení alebo zakázaní reštartovať systém (zakázanie sa okrem špecifických testov vôbec neodporúča). Prístup k súborom je niekedy zablokovaný, aj keď sú udelené povolenia systému alebo OS, pretože to SELinux zakazuje.
Dúfam, že vám tento článok o SELinuxe poslúžil ako užitočný pri predstavovaní tohto bezpečnostného riešenia. Postupujte podľa pokynov v LinuxHint, kde nájdete ďalšie tipy a aktualizácie týkajúce sa systému Linux a sietí.
Súvisiace články:
- Výukový program pre SELinux na Ubuntu
- Ako zakázať SELinux na CentOS 7
- Kontrolný zoznam pre posilnenie zabezpečenia systému Linux
- Profily AppArmor na Ubuntu