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 19173×
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
|
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ů
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|