SELinux

Výukový program pro SELinux na Ubuntu

Výukový program pro SELinux na Ubuntu

Úvod

SELinux je modul povinného řízení přístupu (MAC) sídlící na úrovni jádra linuxových systémů. Jedná se o společný vývoj Redhat a NSA vydaný kolem roku 1998 a stále udržovaný komunitou nadšenců. Ve výchozím nastavení používá Ubuntu AppArmor a ne SeLinux, který je podobný z hlediska výkonu, ale spíše populární z hlediska jednoduchosti. Je však známo, že SeLinux je díky zapojení vládní agentury docela bezpečný. SELinux je aplikace s otevřeným zdrojovým kódem, která chrání hostitele izolováním každé aplikace a omezováním jejích činností. Ve výchozím nastavení jsou procesy blokovány v provádění jakýchkoli aktivit, pokud není uděleno výslovné povolení. Modul nativně poskytuje dvě pravidla pro správu na globální úrovni: Permissive a Enforcing, která jednotlivě zaznamenávají každé porušené pravidlo a odepírají přístup ke konkrétnímu požadavku odeslanému z procesu. Tento výukový program ukazuje, jak jej snadno používat v Ubuntu.

Jak nainstalovat a povolit

SeLinux je velmi složitá aplikace k instalaci, protože pokud není správně nakonfigurován před prvním restartováním, způsobí, že celý operační systém nebude možné spustit, což znamená, že cokoli nad počáteční zaváděcí obrazovkou bude běžnými prostředky prakticky nedostupné.

Jak již bylo uvedeno výše, Ubuntu již má propracovaný systém povinné kontroly přístupu na vysoké úrovni známý jako AppArmor, a proto musí být před instalací SeLinuxu deaktivován, aby nedocházelo ke konfliktům. Pomocí následujících pokynů zakažte AppArmor a Enable SeLinux.

sudo / etc / init.d / apparmor stop apt-get update && upgrade -yuf apt-get install selinux nano / etc / selinux / config 'nastavit SELINUX na tolerantní, SELINUXTYPE na výchozí' restartovat 

Tuto konfiguraci souboru lze otevřít pomocí libovolného textového editoru a provádět změny. Důvodem pro přiřazení permisivního pravidla SETLINUXU je zpřístupnění operačního systému při ponechání povoleného SeLinuxu. Důrazně doporučujeme použít tolerantní možnost, protože je bezproblémová, ale zaznamenává porušená pravidla nastavená v SeLinuxu.

Dostupné možnosti

SELinux je komplexní a komplexní modul; proto obsahuje mnoho funkcí a možností. Jak již bylo řečeno, většina z těchto možností nemusí být pro svou exotickou povahu užitečná pro každého. Následující možnosti jsou některé ze základních a užitečných možností v tomto modulu. Jsou více než dost na to, aby SELinux zprovoznili.

Zkontrolujte stav:  Stav SELinuxu lze zkontrolovat přímo přes okno terminálu, které zobrazuje základní informace, jako je to, zda je povolen SeLinux, kořenový adresář SELinuxu, načtený název zásady, aktuální režim atd.  Po restartu systému po instalaci SeLinuxu použijte následující příkaz jako uživatel root s příkazem sudo. Pokud je uvedeno, že SeLinux je povolen ve stavové sekci, znamená to, že je spuštěný na pozadí.

[chráněno e-mailem]: / home / dondilanga # sestatus

Změňte globální úroveň oprávnění: Globální úroveň oprávnění uvádí, jak se chová SELinux, když narazí na pravidlo. Ve výchozím nastavení se SeLinux nastavuje na vynucení, které účinně blokuje všechny požadavky, ale může být změněno na tolerantní, což je vůči uživateli trochu shovívavé, protože umožňuje přístup, ale zaznamenává všechna porušená pravidla do svého souboru protokolu.

nano / etc / selinux / config 'nastavit SELINUX na tolerantní nebo vynucující, SELINUXTYPE na výchozí' 

Zkontrolujte soubor protokolu: Soubor protokolu, který uvádí porušená pravidla každým požadavkem.  Toto uchovává protokoly pouze v případě, že je povolen SeLinux.

grep selinux / var / log / audit / audit.log

Povolit a zakázat zásady a jaké ochrany nabízejí: Toto je jedna z nejdůležitějších možností v SeLinuxu, protože umožňuje povolit a zakázat zásady. SeLinux má velké množství předem připravených zásad, které určují, zda je zadaný požadavek povolen či nikoli. Některé z těchto příkladů jsou allow_ftpd_full_access, který určuje schopnost služby FTP přihlásit se k místním uživatelům a číst zápis všech souborů v systému, allow_ssh_keysign, který umožňuje použití klíčů při přihlášení k SSH, allow_user_mysql_connect, který umožňuje uživatelům připojit se k mysql „httpd_can_sendmail, která určuje schopnost služby HTTP odesílat e-maily atd.… V následujícím příkladu kódu nainstaluje policycoreutils-python-utils, který ve skutečnosti pomůže s vypsáním jednotlivých zásad popisným způsobem, dále vypíše všechny dostupné zásady terminálu , nakonec učí, jak zapnout nebo vypnout zásady, allow_ftpd_full_access je název zásady, jak je znázorněno v terminálu vráceném semanage,

apt-get install policycoreutils-python-utils semanage boolean -l setsebool -P allow_ftpd_full_access ON 

Pokročilé možnosti

Pokročilé možnosti jsou možnosti, které pomáhají při rozšiřování funkcí v SELInuxu. Kvůli komplexní povaze SeLinuxu existuje obrovské množství kombinací, takže tento článek uvádí některé z významných a užitečných z nich.

Role Based Access Control (RBAC): RBAC umožňuje správcům přepnout na způsob založený na rolích, aby omezili oprávnění aplikací. Co to znamená, že je uživateli určité skupiny uživatelů povoleno provádět nebo provádět určité předdefinované akce. Pokud je uživatel součástí role, je to v pořádku. To je stejná věc jako přepnutí na root při instalaci aplikací na Linuxu s administrátorskými právy.

semanage login -a -s 'myrole' -r 's0-s0: c0.c1023 ' 

Uživatelé mohou přepínat svou roli pomocí následujícího příkazu.

sudo -r new_role_r -i

Uživatelé se také mohou vzdáleně připojit k serveru pomocí SSH s rolí povolenou při spuštění.

ssh / [chráněno e-mailem]

Povolit službě naslouchat nestandardnímu portu: To je docela užitečné při přizpůsobování služby, například když se změní port FTP na nestandardní, aby se zabránilo neoprávněným přístupům, musí být SELinux odpovídajícím způsobem informován, aby umožnil průchod těchto portů a fungoval jako obvykle. Následující příklad umožňuje portu FTP naslouchat portu 992. Podobně jakákoli služba vrácená uživatelem semanage port -l lze vyměnit.  Některé oblíbené porty jsou http_port_t, pop_port_t, ssh_port_t.

semanage port -a -t    semanage port -a -t ftp_port_t -p tcp 992 

Jak zakázat

Zakázání SELinuxu je jednodušší, protože je povoleno a nainstalováno. V zásadě existují dva způsoby, jak jej deaktivovat. Dočasně nebo trvale. Deaktivace dočasného SeLinuxu způsobí, že se na chvíli deaktivuje až do dalšího spuštění a jakmile se počítač znovu zapne, restartuje se stav. Na druhou stranu, trvalé zakázání SeLinuxu jej vypne a úplně jej vystaví hrozbám; proto je rozumnou volbou obnovit výchozí AppArmor Ubuntu alespoň z důvodu bezpečnosti systému.

Následující příkaz na terminálu jej dočasně vypne:

setenforce 0 

Chcete-li trvale zakázat úpravy / etc / selinux / config a nastavte SELINUX na vypnuto.

Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...
Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...
Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...