LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> 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 | Články autora | přečteno 15932×

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.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

13.9.2017 8:00 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tentokrát netradičně v pondělí: 18. září od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

3.9.2017 20:45 /Redakce Linuxsoft.cz
PR: Dne 21. září 2017 proběhne v Praze konference "Mobilní řešení pro business". Hlavní tématy konference budou: nejnovější trendy v oblasti mobilních řešení pro firmy, efektivní využití mobilních zařízení, bezpečnostní rizika a řešení pro jejich omezení, správa mobilních zařízení ve firmách a další.
Přidat komentář

15.5.2017 23:50 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 18. května od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.5.2017 16:42 /Honza Javorek
PyCon CZ, česká konference o programovacím jazyce Python, se po dvou úspěšných ročnících v Brně bude letos konat v Praze, a to 8. až 10. června. Na konferenci letos zavítá např. i Armin Ronacher, známý především jako autor frameworku Flask, šablon Jinja2/Twig, a dalších projektů. Těšit se můžete na přednášky o datové analytice, tvorbě webu, testování, tvorbě API, učení a mentorování programování, přednášky o rozvoji komunity, o použití Pythonu ve vědě nebo k ovládání nejrůznějších zařízení (MicroPython). Na vlastní prsty si můžete na workshopech vyzkoušet postavit Pythonem ovládaného robota, naučit se učit šestileté děti programovat, efektivně testovat nebo si v Pythonu pohrát s kartografickým materiálem. Kupujte lístky, dokud jsou.
Přidat komentář

2.5.2017 9:20 /Eva Rázgová
Putovní konference československé Drupal komunity "DrupalCamp Československo" se tentokrát koná 27. 5.2017 na VUT FIT v Brně. Můžete načerpat a vyměnit si zkušenosti z oblasti Drupalu 7 a 8, UX, SEO, managementu týmového vývoje, využití Dockeru pro Drupal a dalších. Vítáni jsou nováčci i experti. Akci pořádají Slovenská Drupal Asociácia a česká Asociace pro Drupal. Registrace na webu .
Přidat komentář

1.5.2017 20:31 /Pavel `Goldenfish' Kysilka
PR: 25.5.2017 proběhne v Praze konference na téma Firemní informační systémy. Hlavními tématy jsou: Informační systémy s vlastní inteligencí, efektivní práce s dokumenty, mobilní přístup k datům nebo využívání cloudu.
Přidat komentář

15.4.2017 15:20 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě IoT a radiokomunikace? Přijď na sraz spolku OpenAlt, který se bude konat ve středu 19. dubna od 18:30 v Šenkovně (Sokolská 60, Praha 2).
Přidat komentář

5.3.2017 19:12 /Redakce Linuxsoft.cz
PR: 23. března proběhne v Praze konferenci na téma Cloud computing v praxi. Hlavními tématy jsou: Nejžhavější trendy v oblasti cloudu a cloudových řešení, Moderní cloudové služby, Infrastruktura současných cloudů, Efektivní využití cloudu, Nástrahy cloudových řešení a jak se jim vyhnout.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

18.9.2017 14:37 / Rojas
high security vault

15.9.2017 7:33 / Wilson
new zealand childcare jobs

31.8.2017 12:11 / Jaromir Obr
Re: ukůládání dat ze souboru

30.7.2017 11:12 / Jaromir Obr
Národní znaky

27.7.2017 12:24 / Jaromir Obr
Cteni/zapis

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2017) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze