navody:fc6bezpecnost

Toto je starší verze dokumentu!


Hlavní stránka

Bezpečnost svého systému můžete výrazným způsobem zvýšit dodržováním několika vcelku jednoduchých pravidel. Zde jsou některá z nich.

  • Ujistěte se, že BIOS Vašeho počítače je nastaven tak, aby jako první bootoval z pevného disku. Zabráníte tak tomu, aby někdo např. nabootoval Linux z CD/DVD mechaniky a získal tak práva superuživatele ke všem datům uloženým na Vašem disku.
  • Ujistěte se, že BIOS je zabezpečen heslem. Tímto způsobem předejdete tomu, aby bylo možné triviálně změnit bootovací sekvenci jednotlivých zařízení.
  • Ujistěte se, že je počítač uložen a bezpečném místě a že je zamezen přístup všem nepovolaným osobám - takto lze zabránit krádeži disku popř. vyjmutí baterie ze základní desky s cílem vymazat heslo chránící nastavení BIOSu.
  • Ujistěte se, že heslo, které je vyžadováno pro přístup do systému, není triviální. Vaše heslo by mělo mít minimálně osm znaků, obsahovat malá i velká písmena a číslice popř. také speciální znaky (např. @, #, $ apod.).
  • Ujistěte se, že je zakázána interaktivní editace pro zavaděče GRUB. Zabráníte tak tomu, aby někdo modifikoval parametry jádra při jeho zavádění a získal tak práva superuživatele. Přečtěte si kapitolu Zakázání interaktivní editace zavaděče GRUB.
  • Ujistěte se, že je zákázáno prohlížení historie v módu konsole - takto lze zabránit, aby bylo možné prohlížet dříve spuštěné příkazy. Přečtěte si kapitolu Zakázání zobrazování historie v konzolovém módu.
  • Ujistěte se, že je zakázána „trojkombinace“ Ctrl+Alt+Del v módu konsole. Zabráníte tak tomu, aby bylo možné restartovat počítač bez potřebných oprávnění. Přečtěte si kapitolu Zakázání restartování počítače pomocí Ctrl+Alt+Del v konzoli.
  • Ujistěte se, že je v konzolovém módu nastaveno vynucené potvrzování pro přesun, přepsání souborů popř. adresářů. Tímto způsobem lze předejít nechtěnému přesunutí nebo přepsání souboru / adresáře. Přečtěte si kapitolu Vynucené potvrzování pro přesun / přepsání souborů a adresářů.
  • Do systému se přihlašujte jako superuživatel pouze v případě, že je to nezbytně nutné. Pro standarní činnost se přihlašujte jako běžný uživatel. Předejte tak nechtěnému smazání / modifikaci systémových souborů a adresářů. Přečtěte si kapitolu Přidání, editace a mazání uživatelů a skupin.
  • Zakažte účet superuživatele a používejte namísto něj příkaz sudo. Tento způsob poskytuje auditní stopu (/var/log/auth.log). Přečtěte si kapitolu Zakázání účtu superuživatele (root).
  • Nainstalujte firewall. Firewall sice nezaručuje absolutní bezpečnost, avšak představuje první linii obrany proti útokům ze sítě. Přečtěte si kapitolu Instalace firewallu (Firestarter) a Otevření/Uzavření portů.
  • Otestujte míru „zranitelnosti“ Vašeho systému. Vynikající aplikací k těmto účelům je Nessus, který provádí řadu testů zaměřených na známé bezpečnostní problémy. Přečtěte si kapitolu Instalace aplikace pro testování bezpečnosti systému (Nessus).
rm -f $HOME/.bash_history
touch $HOME/.bash_history
chmod 000 $HOME/.bash_history

Zazálohujte soubor inittab

cp /etc/inittab /etc/inittab_backup

a otevřete jej pomocí textového editoru

gedit /etc/inittab

V souboru inittab nalezněte řádek

...
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
...

nahraďte ho následujícím řádkem

#ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

a uložte soubor. Níže uvedeným příkazem načtěte opětovně soubor inittab.

/sbin/telinit q

Zazálohujte konfigurační soubor bash.bashrc.

cp /etc/bashrc /etc/bashrc_backup

Otevřete tento soubor pomocí

gedit /etc/bashrc

na jeho konec přidejte

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

a soubor uložte.

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.

Tato kapitola vznikla na základě následujících článků:

Úvod

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 aplikace provádět. Bezpečnostní přínos SELinuxu tedy spočívá v tom, že implementuje mechanismus kontroly přístupů.

SELinux byl vyvinut agenturou NSA (U.S. National Security Agency) 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 (Discretionary Access Control) mechanismus. Hlavní myšlenka tohoto přístupu spočívá v tom, že každý uživatel má plnou kontrolu nad všemi svými procesy1) a soubory2) 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živatel3). 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 (Mandatory Access Control). 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 (Role-Based Access Control). 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 SELinuxu je výše popsaný proces nazýván jako TE (Type Enforcement).

Vynutí/zapnutí SELinuxu

Bezpečnostní omezení daná SELinuxem 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 - Vynucující (Enforcing), Tolerantní (Permissive), Zakázán (Disabled). V rámci módu Vynucující je bezpečnostní politika SELinuxu aktivně vynucována. To znamená, že procesy mohou přistupovat pouze k souborů, které jsou jim v rámci pravidel přiřazeny. Mód Tolerantní znamená, že SELinux posílá varovné zprávy do souboru :!: doplnit :!:, avšak dodržování bezpečnostních pravidel nevyžaduje. V režimu Zakázán nejsou pravidla SELinuxu aplikována vůbec.

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ě 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.

Poznámka: 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 zakážete, vystavujete se většímu riziku napadení vašeho systému.


1)
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.
2)
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.
3)
Velice často se namísto pojmu „superuživatel“ můžete setkat s pojmem „root“. Tyto pojmy jsou ekvivalentní.
  • Poslední úprava: 2022/11/14 10:09
  • (upraveno mimo DokuWiki)