Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze |
navody:fc6bezpecnost [2007/02/17 15:01] – macky | navody:fc6bezpecnost [2022/11/14 11:25] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 |
---|
**Poznámka: ** Tímto způsobem je ošetřen pouze případ, kdy uživatel zadá smazání více souborů pomocí ''rm'' z příkazové řádky. S výše definovaným aliasem bude třeba potvrdit smazání každého jednotlivého souboru.\\ | **Poznámka: ** Tímto způsobem je ošetřen pouze případ, kdy uživatel zadá smazání více souborů pomocí ''rm'' z příkazové řádky. S výše definovaným aliasem bude třeba potvrdit smazání každého jednotlivého souboru.\\ |
Mělo by se jednat o defaultní nastavení, a proto by nemělo být zapotřebí definovat výše uvedený alias. | Mělo by se jednat o defaultní nastavení, a proto by nemělo být zapotřebí definovat výše uvedený alias. |
| |
| |
==== SELinux ==== | ==== SELinux ==== |
| SELinux (Security Enhanced Linux) zvyšuje bezpečnost Vašeho systému Fedora Core tak, že omezuje množinu souborů, se kterými mohou aplikace pracovat a množinu úkonů, které mohou tyto aplikace provádět. Bezpečnostní přínos SELinuxu tak spočívá v tom, že implementuje mechanismus kontroly přístupů. Více o //SELinux//u se dočtete v samostatné [[navody:fc6selinux|kapitole]]. |
Tato kapitola vznikla na základě následujících článků: | |
* [[http://en.wikipedia.org/wiki/Selinux|Wikipedia - SELinux]] | |
* [[http://www.samag.com/documents/s=7835/sam0303a/0303a.htm|SELinux od K.Thompsona]] | |
* [[http://www.crypt.gen.nz/selinux/faq.html| UnOfficial FAQ]] | |
* [[http://fedoraproject.org/wiki/SELinux/Understanding|SELinux for dummies]] | |
| |
=== Úvod === | |
| |
//SELinux// (**S**ecurity **E**nhanced **Linux**) zvyšuje bezpečnost Vašeho systému //Fedora Core// tak, že omezuje množinu souborů, se kterými mohou aplikace pracovat a množinu úkonů, které mohou aplikace provádět. Bezpečnostní přínos //SELinux//u tedy spočívá v tom, že implementuje mechanismus kontroly přístupů.\\ | |
| |
//SELinux// byl vyvinut agenturou //NSA// (U.S. **N**ational **S**ecurity **A**gency) ve spolupráci s firmami jako např. //NAI Labs//, //Secure Computing Corp.// a //MITRE Corp.//. Pro potřeby komunity byl uvolněn 22. prosince 2000. //SELinux// má formu jádrového modulu //LSM// - od verze 2.4 je podporován formou patche, od verze 2.6 je přímo součástí jádra. //SELinux// je zahrnut také do distribuce //Fedora Core// a to od její druhé verze.\\ | |
| |
== Modely kontroly přístupů == | |
| |
V praxi existují různé tzv. modely kontroly přístupů. V unixových systémech se tradičně používá tzv. //DAC// (**D**iscretionary **A**ccess **C**ontrol) mechanismus. Hlavní myšlenka tohoto přístupu spočívá v tom, že každý uživatel má plnou kontrolu nad všemi svými procesy((Zjednodušeně lze pod pojmem "proces" chápat jako spuštěnou aplikaci. Jestliže tedy např. spustíte textový editor, inicializovali jste tímto nový proces.)) a soubory((Adresář je ve své podstatě také soubor. Jediným rozdílem mezi klasickým souborem a adresářem je ten, že adresář má přesně danou strukturu.)) Některá práva k těmto procesům a souborů pak může poskytnout také jiným uživatelům. Slabým místem této filozofie je tzv. superuživatel((Velice často se namísto pojmu "superuživatel" můžete setkat s pojmem "root". Tyto pojmy jsou ekvivalentní.)). Jedná se o uživatele, který má administrátorská práva k celému systému, což v praxi znamená, že má absolutní práva ke všem procesům a soborů v systému. Jestliže se tedy někomu podaří "ovládnout" proces, který patří superuživateli, stává se v rámci systému neomezeným vládcem. //SELinux// pak v této situaci umožňuje minimalizovat možné škody, které může takovýto útočník spáchat. | |
Druhou možností kontroly přístupů je tzv. //MAC// (**M**andatory **A**ccess **C**ontrol). Tento mechanismus je implementován právě v rámci //SELinux//. V tomto případě jsou přístupová práva definovaná administrátorem a nemohou být změněna jiným uživatelem. To, k jakým souborům mohou jednotlivé procesy přitupovat, je dáno sadou striktních pravidel. Obecné pravidlo zní, že co není povoleno je zakázáno. Použití koncepce //MAC// v unixových systémech výše popsaným způsobem by bylo však příliš složité, protože by to vyžadovalo definovaní práv pro každého uživatele. | |
Rozšířením myšlenky //MAC// je tak //RBAC// (**R**ole-**B**ased **A**ccess **C**ontrol). Zde administrátor vytvoří tzv. role, pro které následně definuje sadu pravidel. Jednotlivým uživatelům pak přiřadí konkrétní role. | |
| |
== Implementace SELinuxu == | |
| |
//SELinux// implementuje //MAC// a //RBAC// do jádra ve formě modulu //LSM//. Administrátor může prostřednictvím tzv. bezpečnostního serveru nastavit, jaké procesy mohou přistupovat k jakým souborům. V praxi celý mechanismus funguje tak, že nejprve je zkoumáno, zda-li má uživatel práva k požadovanému souboru dle //DAC// (tj. jestli má právo čtení, zápisu apod.). Je-li tato podmínka splněna, následuje kontrola splnění podmínek definovaných v rámci //MAC// (tj. zda-li má příslušný proces oprávnění k danému souboru). V praxi to znamená, že kdyby se útočník "zmocnil" procesu vlastněného superuživatelem, mohl by manipulovat pouze se soubory, ke kterým má tento proces oprávnění. Potenciální škoda, kterou by takto mohl napáchat je nesrovnatelně menší než v případě, že by byl implementován pouze //DAC//. V //SELinux//u je výše popsaný proces nazýván jako //TE// (**T**ype **E**nforcement). | |
| |
=== Vynutí/zapnutí SELinuxu === | |
| |
* Přečtěte si kapitolu [[navody:fc6Obsah|Obecné poznámky]]. | |
| |
| |
{{ selinux.png }} | |
| |
Tato omezení občas mohou způsobovat, že nelze do systému přidávat např. pluginy nebo ovladače, které nepocházejí se standardních repozitářů pro //Fedora Core//. | |
| |
//SELinux// má tři základní módy - ''Enforcing'' (Vynucovací), ''Permissive'' (Uvolněný), ''Disabled'' (Vypnutý). Všechny tři se dají nastavit prostřednictvím nabídky //Aplikace -> Systém -> Správa -> Úroveň zabezpečení a firewall//. V okně //Nastavení úrovně zabezpečení//, zvolte záložku //SELinux//. Jednotlivé módy je pak možné zvolit v roletkové nabídce položky //Nastavení SELinux//. | |
| |
Pokud jste měli //SELinux// vypnutý a zapnete jej, bude třeba systém restartovat a při startu systému počkat, až //SELinux// "označkuje" všechny soubory na disku. | |
| |
**Upozornění:** Pokud //SELinux// vypnete (Disabled), vystavujete se většímu riziku napadení vašeho systému. | |
| |
===== ===== | ===== ===== |
[[navody:fc6obsah|Hlavní stránka]] | [[navody:fc6obsah|Hlavní stránka]] |