Vybráno pro vás
 
Hiearchie článků
 
Základní zabezpečení linux serveru / How to secure linux server

Rád bych hned na začátek uvedl, že nejsem profesionál v oboru bezpečnosti, ale rád bych zde zveřejnil článek pojednávající o základním zabezpečením linux serveru. Článek vychází z nastudované literatury a tak nějak i ze zkušeností.

Příchodem Raspberry Pi, Cubieboard nebo Banana Pi se rozmohla možnost mít doma i vlastní server. Ano, zní (a je) to naprosto super, mít vlastní stránky u sebe na serveru a pokud máte veřejnou IP adresu, nic vám nebrání se dostat na vaše stránky i z jiné, než lokální sítě. S tímto počinem ale přicházejí i rizika a nejsou vůbec malá. Ve světě internetu existují stovky, tisíce, milióny robotů zkoušející se dostat na nejrůznější servery a stejně tak i lidé, kteří to chtějí zkusit sami.
Další částí možných útočníků jsou sousedi, kteří to mohou zkusit také - student střední nebo i základní školy chce "hacknout" všechno :-)

Vycházejme z modelové situace, aby to vysvětlování bylo alespoň trochu účelné (mnoho informací lze však převést i na jiné situace).
Máme doma server s Raspberry Pi (Banana Pi, BeagleBone, Cubieboard aj.) a nainstalovaným OS Raspbian (Cubian, Debian, Ubuntu, arcOS aj). Zabezpečení samotných stránek je jedna věc, druhá je přístup do serveru.

1.) Heslo
Ano, heslo, ač si to myslet nemusíte, je jedno z nejdůležitější informací. Nejenom, že útočník získá přístup k vašemu serveru, on to heslo bude zkoušet i na jiné služby na celém webu. Heslo volte dostatečně dlouhé s množstvím "vychytávek". Použití písmen, číslic, interpunkce (, ! @ .) a mimo jiné i kombinaci malých a velkých písmen. Ale v souhrnu, pokud použijete heslo: heslo12345, není to nic moc. Naproti tomu heslo: ToJeMujServer!2000. Už je znatelně lepší. Čeština má i tu výhodu, že velké množství robotů pracuje tzv. slovníkovým útokem (seznam hesel, která se používají při prolamování hesel), a tak české slovní spojení byste tam moc často nepotkali.

2.) Aktualizujte programy - UPDATE & UPGRADE
Aktualizace programů je velmi důležitá. V opravných balících jsou řešeny různé problémy od nahlášených "bug" až po bezpečnostní záplaty.

3.)Méně je více
Bezpečností problémy, které by se mohly zneužít jsou častější u softwaru třetích stran než samotného systému. Proto používejte jenom ty nejnutnější, a pokud možno i "nejkvalitnější", software.

4.) Zapomeňte na protokol telnet, rlogin, rsh nebo podobné
Tudy cesta nevede. Základem je šifrované spojení. Tyto programy neposkytují dostatečnou ochranu mezi klientem a serverem ať už je to samotné šifrované spojení, ověřování či jiné ochranné prvky.
Co tedy použít, a linuxové distribuce tím disponují, je použití SSH (Secure Shell) protokolu. U použití SSH protokolu je velké množství nastavení, jak lépe zabezpečit samotný server:
změnit SSH port. SSH protokol komunikuje defaultně na portu 22.
Změnu portu provedete v souboru /etc/ssh/sshd_config na řádce: Port 22. Při zadávání nového portu buďte patrní abyste nepoužili port, na kterém pracuje jiný program - třeba OS Cubian má výchozí port 36000.
použijte SSH Protokol 2. Tato verze protokolu je bezpečnější než verze před ní.
Zamezte přistup loginu root. První, co bude robot zkoušet, bude login s názvem root. V /etc/ssh/sshd_config se nachází příkaz: PermitRootLogin yes. Ten přepište na no.
Povolte pouze některé uživatele, kteří se mohou přihlásit přes SSH v AllowUsers UserName.
Chcete-li zvýšit zabezpečení, můžete zvolit IP adresu nebo rozsah IP adres, na kterých bude SSH server naslouchat - ListenAddress.
Nebo v souborech /etc/hosts.allow a /etc/hosts.deny můžete nastavit, které konkrétní IP adresy mají přístup k jakým službám.
/etc/hosts.allow:
ALL: localhost #povoleni pristupu ke vsem sluzbam z localhost
ALL: 192.168.100.101 #povoleni pristupu ke vsem sluzbam z teto IP adresy
sshd: 110.120.130.140 #povoleni pristupu k SSH z teto IP adresy

/etc/hosts.deny:
ALL: 10.13.14.15 #pro tuto IP adresu je zakazan pristup ke vsem sluzbam
sshd: 100.101.102.103 #povoleni pristupu k SSH serveru pro tuto IP adresu

Budete-li používat server v negrafickém prostředí, zakažte spouštění softwaru v X modu - X11Forwarding yes přepište na no.
Pokud vám šifrované heslo posílané přes půlku světa nepřipadá dost bezpečné, zvolte cestu přihlašování skrze SSH klíč. Velmi hezký článek vyšel na stránce root.cz - Jak se přihlašovat na SSH bez zadávání hesla.
Jak bylo zmíněno, používejte šifrované spojení: místo telnet, použijte ssh. Místo FTP použijte SFTP.

5.) Vytvořte si svého uživatele a smažte toho přednastaveného: pi, cubie atp
Na stránce linux-mint-czech.cz naleznete podrobný návod jak na to.

6.) Pouze jeden uživatel může mít všechna práva
Nepřidávejte každého uživatele do sudoers se všemi právy (sudo visudo).

7.) Zdržení vás nezabije
Pokud máte v nastavení sudo mcedit /etc/login.defs nějaké zdržení po několika neúspěšných pokusech o přihlášení, je to jenom dobře. Čas k prolomení hesla se několikanásobně zvětší. To samé platí o počtu špatných hesel. Nastavte proto rozumnou hodnotu - např. počet opakování hesla 3, čas k pokusu o opětovné přihlášení 60 (60s).

8.) Informace o hesle
Je dobré vědět, jak dlouho je vaše heslo už v provozu nebo zda máte nastavenou expiraci hesla. To vše zjistíte pomocí příkazu chage -l UserName. Zároveň toto můžete změnit skrze terminál opět přes příkaz chage, výsledek a hash hesla se uloží v /etc/shadow. Jak použít příkaz chage se dozvíte pomocí příkazu chage --help.

9.) Připojená jednotka nemusí vše
Při automatickém mount v /etc/fstab jednotky můžete nastavit, co vše se má dovoleno připojené zařízení vykonat.
noexec - znemožní spouštět soubory na tomto médiu
nodev - nepovolí speciální znak zařízení na partition
nosuid - nenastaví přístup na partition
modelové použití: /dev/sda5 ext3 defaults,noexec,nosuid,nodev 1 2
svazek | souborový systém | upřesňující volba | zálohování souborů (program dump) | pořadí, v jakém nástroj fsck kontroluje oddíly (1 - kořenový systém souborů, 2 - všechny ostatní)


Máte nějaké další rady a nápady jak lépe zabezpečit server? Nebo jste v článku našli chybu/y? Kontaktujte nás, prosím, na: chiptron(a)seznam(dot)cz

zdroje: http://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-prakticke-rady-pro-zabezpeceni
http://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-prakticke-rady-pro-zabezpeceni-ssh
http://cs.wikipedia.org/wiki/Fstab
http://www.cyberciti.biz/tips/linux-security.html
http://www.tecmint.com/linux-server-hardening-security-tips/

Diskuze
 
Upozornění
Administrátor těchto stránek ani autor článků neručí za správnost a funkčnost zde uvedených materiálů. Administrátor těchto stránek se zříká jakékoli odpovědnosti za případné ublížení na zdraví či poškození nebo zničení majetku v důsledku elektrického proudu, chybnosti schémat nebo i teoretické výuky. Je zakázané používat zařízení, která jsou v rozporu s právními předpisy ČR či EU.

Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tato nekomerční stránka nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ.