Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verzeObě strany příští revize | ||
navody:fc6bezpecnost [2007/02/24 19:12] – macky | navody:fc6bezpecnost [2007/03/04 10:07] – macky | ||
---|---|---|---|
Řádek 74: | Řádek 74: | ||
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 ==== | ||
- | Tato kapitola vznikla na základě následujících článků: | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | === Úvod do teorie === | ||
- | |||
- | //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 tyto aplikace provádět. Bezpečnostní přínos // | ||
- | |||
- | //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// - (**L**inux **S**ecurity **M**odule). Od verze 2.4 je podporován formou patche, od verze 2.6 je pak 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 pojem " | ||
- | 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 // | ||
- | 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, jací uživatelé a procesy (v terminologii // | ||
- | V praxi to znamená, že kdyby se útočník " | ||
- | //SELinux// také umožňuje implementaci tzv. //MLS// (**M**ulti-**L**evel **S**ecurity model). Filozofií tohoto modelu je přiřazení jednotlivých objektů (tj. souborů) do tzv. bezpečnostních vrstev. Tyto vrstvy jsou hierarchicky uspořádány a platí obecné pravidlo, že informace může být předána pouze z vyšší bezpečnostní vrstvy do nižší. | ||
- | |||
- | === Vypnutí/ | ||
- | |||
- | * Přečtěte si kapitolu [[navody: | ||
- | |||
- | {{ selinux.png }} | ||
- | |||
- | Bezpečnostní omezení daná // | ||
- | |||
- | //SELinux// má tři základní módy - '' | ||
- | |||
- | Všechny tři módy se dají nastavit prostřednictvím nabídky //Aplikace -> Systém -> Správa -> Úroveň zabezpečení a firewall//. V okně // | ||
- | |||
- | Jednotlivé módy // | ||
- | |||
- | # This file controls the state of SELinux on the system. | ||
- | # SELINUX= can take one of these three values: | ||
- | # enforcing - SELinux security policy is enforced. | ||
- | # | ||
- | # disabled - SELinux is fully disabled. | ||
- | SELINUX=enforcing | ||
- | # SELINUXTYPE= type of policy in use. Possible values are: | ||
- | # targeted - Only targeted network daemons are protected. | ||
- | # strict - Full SELinux protection. | ||
- | SELINUXTYPE=targeted | ||
- | | ||
- | # SETLOCALDEFS= Check local definition changes | ||
- | SETLOCALDEFS=0 | ||
- | |||
- | **Poznámka: | ||
- | |||
- | === Bezpečnostní kontext === | ||
- | |||
- | Bezpečnostní kontext lze charakterizovat jako bezpečnostní sadu pravidel, která se váží ke konkrétnímu procesu nebo souboru. V případě souborů se někdy můžete setkat s ekvivalentním pojmem // | ||
- | |||
- | == Struktura bezpečnostního kontextu == | ||
- | |||
- | V případě, že máte povolený // | ||
- | |||
- | ps -e --context | ||
- | |||
- | popř. | ||
- | |||
- | ps -auxZ | ||
- | |||
- | získat následující výstup pro aktuálně spuštěné procesy | ||
- | |||
- | PID CONTEXT | ||
- | 1 system_u: | ||
- | 2 system_u: | ||
- | 3 system_u: | ||
- | 4 system_u: | ||
- | 5 system_u: | ||
- | 6 system_u: | ||
- | 7 system_u: | ||
- | 53 system_u: | ||
- | 54 system_u: | ||
- | 131 system_u: | ||
- | 132 system_u: | ||
- | 135 system_u: | ||
- | 137 system_u: | ||
- | 161 system_u: | ||
- | 162 system_u: | ||
- | 163 system_u: | ||
- | 164 system_u: | ||
- | 329 system_u: | ||
- | 346 system_u: | ||
- | 382 system_u: | ||
- | ... | ||
- | |||
- | Pro soubory lze podobný výpis získat pomocí příkazu | ||
- | |||
- | ls -e --context | ||
- | |||
- | popř. pomocí | ||
- | |||
- | ls -laZ | ||
- | | ||
- | -rw-rw-r-- | ||
- | drwxr-xr-x | ||
- | drwxrwxr-x | ||
- | drwxr-xr-x | ||
- | -rw-r--r-- | ||
- | -rw-r--r-- | ||
- | -rw-rw-rw- | ||
- | |||
- | Bezpečnostní profil aktivního uživatele získáte příkazem | ||
- | |||
- | /usr/bin/id -Z | ||
- | | ||
- | user_u: | ||
- | |||
- | V všech případech získáte informaci o tzv. bezpečnostním kontextu. Konkrétně se jedná o část výpisu ve tvaru '' | ||
- | |||
- | **Typ** je nejdůležitější složkou // | ||
- | Další složkou je **role**. Ta má smysl pouze v případě subjektů (tj. uživatelů a procesů). Soubory mají vždy přiřazenu roli '' | ||
- | Poslední složkou je **uživatel**. Na uživatele lze pohlížet jako na množinu rolí. Bezpečnostní profil uživatele lze vytvořit totiž tak, že konkrétnímu uživateli přiřadíme přiřadíme konkrétní role. Defaultně v // | ||
- | |||
- | **Tip:** Jestliže budete chtít nalézt soubor, který má příslušný bezpečnostní kontext, stačí zadat analogický příkaz | ||
- | |||
- | find / -context " | ||
- | |||
- | == Konfigurační soubory == | ||
- | |||
- | Konfigurační soubory // | ||
- | |||
- | ... | ||
- | SELINUXTYPE=targeted | ||
- | ... | ||
- | |||
- | Adresář ''/ | ||
- | |||
- | ls -la / | ||
- | | ||
- | drwxr-xr-x 5 root root 4096 úno 24 09:09 . | ||
- | drwxr-xr-x 3 root root 4096 úno 16 18:34 .. | ||
- | drwxr-xr-x 4 root root 4096 úno 24 09:09 contexts | ||
- | drwxr-xr-x 4 root root 4096 úno 24 09:09 modules | ||
- | drwxr-xr-x 2 root root 4096 úno 24 09:09 policy | ||
- | -rw-r--r-- 1 root root 598 úno 16 18:26 setrans.conf | ||
- | -rw-r--r-- 1 root root 176 úno 24 09:09 seusers | ||
- | |||
- | Adresář '' | ||
- | Adresář '' | ||
- | Dalším adresářem je '' | ||
- | V adresáři je také uložen ''/ | ||
- | Jednotlivé bezpečnostní úrovně //MLS//, na které se odkazuje soubor '' | ||
- | |||
- | === Změna nastavení bezpečnostního kontextu === | ||
- | |||
- | == Základní změna nastavení == | ||
- | |||
- | Elementární změny bezpečnostního profilu lze provádět přes nabídku //Aplikace -> Systém -> Správa -> Úroveň zabezpečení a firewall// na záložce // | ||
- | |||
- | == setools == | ||
- | * Přečtěte si kapitolu [[navody: | ||
- | * Přečtěte si kapitolu [[navody: | ||
- | |||
- | Poněkud podrobnější nastavení umožňuje sada aplikací // | ||
- | |||
- | yum -y install setools-gui | ||
- | |||
- | V nabídce //Aplikace -> Systém -> Správa// následně přibudou tři položky: //SELinux Audit Log Analysis//, //SELinux Policy Analysis// a //SELinux Policy Difference// | ||
- | Pomocí //SELinux Audit Log Analysis// je možné analyzovat hlášení // | ||
- | |||
- | { seaudit.png }} | ||
- | |||
- | //SELinux Policy Analysis// umožňuje modifikovat bezpečnostní politiky. To znamená, že umožňuje definovat nové typy, role a uživatele. | ||
- | |||
- | { apol.png } | ||
- | |||
- | Nástroj //SELinux Policy Difference// | ||
- | |||
- | { sediff.png } | ||
===== ===== | ===== ===== | ||
[[navody: | [[navody: |