LINUXSOFT.cz
Username: Password:     
    CZ UK PL

> Linuxová bezpečnost z pohledu uživatele (1)

Dnes si uděláme malou odbočku od internetového bankovnictví, protože to nemá s nezabezpečeným počitačem smysl ...

27.4.2004 08:00 | Ondřej Čečák | read 18989×

DISCUSSION   

Bezpečnost je tak důležitá, jak jsou pro vás důležitá vaše data a vše, co souvisí s počítačem, se kterým pracujete. Pokud je váš počítač připojen k internetu, máte velice dobrý důvod se o bezpečnost zajímat, protože rizika jsou opravdu podstatná.

I. Úvod

GNU/Linux může být bezpečný systém

Ačkoli původní Unix nebyl přímo navržen s ohledem na bezpečnost, lze dnes unixové systémy včetně Linuxu zabezpečit poměrně dobře. Díky otevřenosti zdrojových kódu jádra a programů lze poměrně snadno prozkoumávat výhody a slabiny programů na té nejnižší úrovni a díky licenci GNU GPL tyto slabiny opravit nebo možnost jejich výskytu omezit. Nicméně, používání bezpečných programů je jen část úkolu – neméně důležité je služby také správně nakonfigurovat.

Uživatelé a jejich skupiny

Linux je víceuživatelský systém, jednotlivé uživatele lze navíc sdružovat do skupin. Obvyklé je, že určitá skupina má nějaké oprávnění (přístup k adresáři s důvěrnými dokumenty, možnost pracovat se zvukovou kartou atp.).

Od obyčejných uživatelů se trochu liší superuživatelský účet root, který obvykle má téměř absolutní vládu nad systémem (obvykle proto, že dnes již existují možnosti, jak moc roota omezit nebo rozdělit). Proto je velice důležité, aby byl tento účet používán pouze na věci, na které je nezbytné ho používat. Pokud existuje činnost, kterou může vykonávat obyčejný (nebo k tomu určený) uživatel a přesto ji dělá root, jde o čistou ignoraci bezpečnostních pravidel (extrémem může být např. spouštění KDE jako root). Všechny programy můžou obsahovat chyby (nebo úmyslné skryté funkce), které v případě spuštění uživatelem může ohrozit pouze data, ke kterým má právo zápisu, ale v případě spuštění rootem celý systém.

Práva souborů

Práva k souborům a adresářům umožňují určit, kdo bude mít k datům přístup a to na několik úrovních – čtení, zápis a spouštění a to pro různé uživatele nebo skupiny. Další možností jak omezovat možnosti práci se soubory jsou atributy (pouze na určitých filesystémech) nebo ACL (Advanced Control List, více článek na root.cz), které umožňují jemnější a komplexnější nastavení oproti klasickým unixovým právům (také to vyžaduje podporu filesystému, kterou ale většina moderních filesystémů už má).

I vy můžete být obětí útoku

Rozhodně není dobrý nápad myslet si, že jestli je moje internetové připojení pomalé, tak mi nehrozí žádné nebezpečí. Právě naopak, díky vašemu špatnému přístupu je nebezpečí naopak velké – existují automatické nástroje, které testují celý rozsah veřejných IP a zkouší bezpečnost – nejčastěji jednu určitou díru, přes kterou se pak zlý uživatel pohodlně a rychle dostane.

A k čemu mu takový systém bude? I když by ho teoreticky mohli zajímat vaše data, spíš se váš desktop stane satelitní základnou pro další útoky. Když už váš počítač nebude scanovat síť, může být použit k útoku tak, že případné stopy budou vést k vám. A nebo může dělat cokoli co ho napadne – pokud by vás bavilo sledovat, co by takový člověk dělal, nainstalujte si honeypot nebo něco podobného (honeypot je jeden nebo více virtuálních strojů, které mají za úkol nalákat potencionální crackery na nějakou bezpečnostní slabinu a následně toho nějak využít).

II. Základní věci

V této kapitole se pokouším vysvětlit alespoň pár dobrých (bezpečnostních) návyků.

Heslo a práce s ním

Několik věcí je opravdu zcela základních (a přitom zásadních), třeba heslo. Heslo by mělo být zvoleno optimálně – ani moc krátké (heslo tak chvíli odolá útoku, při kterém se zkoušejí všechny možnosti), ani moc jednoduché (další z možných útoků funguje tak, že zlý útočník vezme nějaký slovník a hesla jako křestní jména, existující slova apod. jsou rychle prolomena), ale také by nemělo být moc složité, protože pak není jednoduché si takové heslo zapamatovat – a pokud si ho napíšete na papírek, který následně umístíte na monitor nejlépe spolu s jménem a názvem služby, nemůžete pro někoho se zlými úmysly pohybující se fyzicky poblíž vašeho počítače udělat víc. Přesto se ale vyplatí dát do hesla sem tam nějaké to číslo nebo speciální znak, pokud je třeba jeden uprostřed hesla, není zas takový problém se zapamatováním. Také není špatný nápad heslo měnit v intervalu podle důležitosti služby.

Jak tedy volit heslo:

  • nemělo by být: krátké, jednoduché (existující slova, filmové postavy, ...)
  • pokud bude dlouhé, je důležité si ho pamatovat a ne někam psát (nebo si ho napsat, ale uložit na bezpečné a především počítačem nedosažitelné místo)
  • sem tam použít třeba číslo nebo speciální znak
  • heslo pravidelně měnit

Další věcí je, jak se správně s nějakým heslem chovat. První důležitou věcí je zvolit si různá hesla pro různé služby (nebo alespoň rozdělit služby do skupin podle toho, jak je daná věc důležitá, nebo podle toho, kdo bude heslo znát, protože v případe získání hesla u jedné stejně důležité služby by admin nebo cracker získal přístup k další stejně důležité službě). Pokud budete používat jedno heslo pro různé služby, útočníkovi stačí získat přístup k jediné službě a rázem má kontrolu téměř nad vším a vaše snaha vytvářet a pamatovat si bezpečná hesla je rázem zcela zbytečná.

Ke správné práci s heslem patří i správné zadávání hesla. Je dost nerozumné přihlašovat se na důležitou službu z internetové kavárny, kde se hodně lidí baví tím, že si zaznamenávají všechny stisknuté klávesy včetně vašich autentizačních údajů. To samé ale platí také pro všechny ostatní počítače, vždy byste měli přemýšlet, jestli počítač "známého" není pastí ...

Pokud už heslo zadávám do klávesnice, měl bych se také ujistit jestli mi zvědavý kolega (nebo vtipně umístěná kamera) nekouká přes rameno, případně jestli je bezdrátová klávesnice opravdu připojena ke správnému počítači :o).

Před každým zadáním hesla se opravdu vyplatí myslet. Vždy se vyplatí zvážit možná rizika odposlechu hesla (komunikace může být nešifrovaná nebo přes nedůvěryhodné počítače, ...) nebo jiné způsoby podvodu. A už vůbec by se vám nemělo stát, že se vám při zadávání hesla stane, že místo hesla pro relativně nedůležité služby zadáte to nejtajnější ...

Obecně není zadávání hesla moc bezpečné, protože obvykle vždy existují nějaká rizika odhalení. Existují také jiném možnosti autentizace, např. přihlašování pomocí certifikátů, jednorázových hesel, USB tokenů apod. Pokud se přihlašujete především díky certifikátům, také není špatný nápad zvolit si dlouhá a složitá hesla, která budou pro případ nutnosti uložena na rychle dostupném a bezpečném místě (v ideálním případě napsaná jinak než s použitím počítače a také uložena na místě, kam se použitím počítače nelze dostat).

Hesla také můžete ukládat v nějakém programu, který je bude všechny šifrovat a k přístupu ke všem heslům bude třeba hesla jednoho. Samozřejmě je jasné, že takový program musí běžet na co nejlépe zabezpečeném počítači a heslo, které slouží pro přístup k ostatním musí být logicky co nejbezpečnější – pokud tedy rovnou nebudete používat klíč, který budete nosit s sebou na nějakém médiu (nezapomínejte také na možnost ztráty apod.).

Hesla, která jsou uložené v konfiguračních souborech také nejsou dobrý nápad, pokuste se zkonfigurovat služby tak, aby takovéto soubory neexistovaly. Pokud to není dost dobře možné, nastavte práva tak, aby právo pro čtení pro soubor náleželo pouze vám (pozor, to že je váš home dostupný pouze pro vás nemusí znamenat bezpečí, protože může existovat program, který není bezpečný a útočníkovi umožní restriktivní práva na domovském adresáři obejít).

Software je obvykle děravý

Obvykle (existují nepatrné výjimky) je v každém větším programu spousta chyb. Nebudu rozebírat jak vznikají nebo jakých jsou typů – prostě jsou. A jejich nejjednodušší dělení je na objevené a neobjevené.

Pokud používáte programy, ve kterých jsou známé bezpečnostní chyby, tak je rozumné chybu nějakým způsobem odstranit – upgradovat na verzi programu, kde chyba už není nebo použít záplatu (patch), který chybu opraví. Každá "větší" linuxová distribuce má webové stránky (příp. emailové konference) o bezpečnosti a obvykle se zde oznamují nalezené chyby a jejich opravy. Vyplatí se tyto konference sledovat nebo systém pravidelně upgradovat tak, aby byl pokud možno bezpečný.

To, že jsou v programech chyby, které ještě nikdo neobjevil, není zas takové neštěstí, ale přesto je rozumné vhodně se bránit. Protože od doby, kdy je odhalena trochu důležitější bezpečností slabina do doby opravy je váš počítač potencionálně zranitelný. Proto se vyplatí stanovit nějakou bezpečnostní politiku, která podobným věcem zabrání (wrappery, firewall apod., těmto věcem se budu věnovat později).

III. Co chráníme

Proč se vůbec zabývat bezpečností? Jak jsem zmínil úplně v úvodu, bezpečnost je stejně důležitá jako vaše data a jako služby, na které se spoléháte. Kromě vlastního zabezpeční aplikací ale také musíte věnovat pozornost dalším věcem – (pokud je to nutné) zálohování zdroje el. energie, konektivity k síti (internetu). Zkuste si představit, co by se stalo v případě výpadku nebo selhání určité komponenty, zamyslete se nad tím a pokud to bude nutné, udělejte patřičná opatření.

Osobní bezpečnostní politika

Vaše chování by mělo být promyšlené, protože v bezpečnosti obvykle platí, že bezpečnost celku je stejně velká jako bezpečnost nejslabšího místa. A těchto slabých míst je několik, ať už slabá hesla, nebo děravý software.

Proto byste měli dodržovat několik následujících doporučení:

  • jak bylo zmíněno výše, správně se chovat s hesly a záplatovat software; neumožnit svým chováním lehký postup pro útočníka – nesmí se stát, že nějaký zlý uživatel najde jednu chybičku a rázem má přístup ke všemu.
  • dobře zabezpečit důvěrná data v počítači nebo je tam vůbec nezadávat (pokud chcete pracovat s opravdu důvěrnými daty, vyplatí se vyhradit zvláštní počítač, který nebude připojen k síti – tzn. všechna data přenášet ručně).
  • rozhodně se nepřihlašovat z nedůvěryhodných počítačů (počítače, u kterých si nemůžete být jisti bezpečností – může tam běžet keylogger, tj. program na zaznamenávání kláves, síťový provoz může být odposloucháván atp.). Existuje sice např. možnost přihlásit se jednorázovým heslem, ale útočník stále může ovládat nebo zcela unést vaší relaci (obvykle je ale vaše legitimní session relace ukončena, takže to je důvod k neklidu).
  • snažte se chovat tak, abyste nevytvářeli body, jejichž získáním získá útočník úplně vše – nebo takové body opravdu dobře zabezpečte.

Zabezpečení domácího počítače

Zabezpečení domácího počítače je poměrně jednoduché, zakažte všechny služby, které standardně běží a které nepotřebujete (třeba zakomentováním v /etc/inetd.conf a podobně), ty které potřebujete lokálně spusťte tak, aby nebyly dostupné po síti a u těch služeb, u kterých je potřeba, aby po síti běžely, omezte přístup (použijte iptables a/nebo tcpwrappers).

Firewall je přímo v linuxovém jádře a definuje, jak se jádro bude chovat k provozu přes síťová zařízení (filtruje pakety a rozhoduje, jestli je nechá projít, jestli je odmítne a nebo zahodí). Podrobný popis firewallu je ale mimo rámec tohoto článku. O firewallu si můžete přečíst v článku na tomto serveru nebo ve zdařilém seriálu na root.cz.

Tcpwrapper umožňuje rozhodnout, jestli bude služba s protějškem komunikovat. V Linuxu ho může mít nějaká služba buď vlastní a nebo používat standardní, který se konfiguruje editací souborů /etc/hosts.allow a /etc/hosts.deny.

Další informace o firewallech a tcpwrappers najdete třeba v security quickstart howto.

Jak už jsem poznamenal výše, vyplatí se pravidelně záplatovat software a používat silná hesla.

Zálohování

Ačkoli v porovnání s ostatním může být zálohování trošku nudnou záležitostí, v okamžiku, kdy o nějaká data nějak přijdete (selhání lidského faktoru, software, hardware; počítačový útok), si uvědomíte, jak důležité zálohování je. Ne nadarmo se říká, že data se dělí na dvě skupiny: data, která pravidelně zálohujeme a data, o která jsme ještě nepřišli.

Než se vrhnu na popis způsobů zálohování, další možnost je zajistit určitou redundanci dat na disku a do určité míry předejít potřebě odstavení systému a obnovování dat ze zálohy. Protože mluvím o discích, linuxové jádro umí tzv. RAID – jednotlivé disky můžou být zrcadleny, takže v případě selhání jednoho může systém běžet dál nebo alespoň nepřijdete o data apod. Více informací najdete v článku na root.cz.

Poměrně dost možností máte ve výběru, jak a kam zálohovat:

  • zálohovat můžete kompletně všechno
  • můžete dělat přírůstkové (inkrementální) zálohy, kdy zapisujete ta data, která se od minulé zálohy změnila (důležité je mít dostupnou a funkční poslední zálohu)
  • vypalovat data na optické disky, nebo ukládat na nějaké jiné externí zařízení
  • ukládat data po síti na nějaký další počítač

Pár doporučení:

  • jediná data, která se nevyplatí zálohovat jsou ta, která dokážete velice rychle a jednoduše obnovit (nebo jejich cena je nižší než cena zálohování a obnovy)
  • je dobré myslet také na ostatní faktory, je třeba počítat s krádeží nebo živelnou katastrofou – proto je vhodné umisťovat zálohy v bezpečné vzdálenosti od počítače, udělat více záloh a umístit je na jiném místě apod.
  • zálohy, které vytvoříte budete jednou možná potřebovat, takže by neměl být problém s hledáním nebo dostupností (jak jsem ale naznačil v předchozím bodu, položit zálohy na monitor není moc dobrý nápad)
  • vyplatí se zálohy vhodným způsobem popisovat, i když každé záloze můžete dát nějaký název elektronicky, můžete mít pak problém najít správné médium
  • mějte na vědomí, že CDčka a diskety nejsou moc spolehlivá média
  • zálohování by mělo být pravidelné

Zálohování v Linuxu

Kromě klasických programů, jakými jsou dump/restore a tar existuje řada sofistikovanějších nástrojů (počínaje např. amandou a konče Tivoli). Existují také věci, které je lepší zálohovat jinak, než prostým zkopírováním souborů   například dump databáze a podobně. Seznam programů můžete najít v adresáři Utility – zálohování.

To je prozatím vše, v druhé (a současně závěrečné) části se podíváme na možnosti útoku a to jak lokální, tak vzdálené.

Za konzultace bych chtěl poděkovat Honzovi Houšťkovi.

 

DISCUSSION

For this item is no comments.

Add comment is possible for logged registered users.
> Search Software
> Search Google
1. Pacman linux
Download: 4882x
2. FreeBSD
Download: 9069x
3. PCLinuxOS-2010
Download: 8566x
4. alcolix
Download: 10952x
5. Onebase Linux
Download: 9664x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6250x

1. xinetd
Download: 2421x
2. RDGS
Download: 937x
3. spkg
Download: 4770x
4. LinPacker
Download: 9974x
5. VFU File Manager
Download: 3202x
6. LeftHand Mała Księgowość
Download: 7206x
7. MISU pyFotoResize
Download: 2815x
8. Lefthand CRM
Download: 3568x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3127x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz