Mendelova univerzita v Brně Provozně ekonomická fakulta
Implementace serverových služeb v prostředí firmy Netajo s.r.o. Bakalářská práce
Vedoucí práce:
Vypracoval:
Ing. Ludmila Kunderová
David Pijáček
Brno 2012
Děkuji vedoucí bakalářské práce, Ing. Ludmile Kunderové za metodické vedení při zpracování závěrečné práce a za poskytnutí potřebných podkladů a cenných rad pro vypracování této bakalářské práce.
Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně s použitím literatury, kterou uvádím v seznamu práce.
V Brně dne 21. května 2012
…………………………………………..
Abstract Pijáček, D. Implementation of server services in Netajo Company. Bachelor thesis. Brno: Mendel university in Brno, 2012. This bachelor thesis deals with implementation of the backup server in Netajo s.r.o. company. The first section describes the server services, backup, and security of the remote backup host. The next section contains an implementation of a specific proposal along with the configuration of individual services. Finally, thesis is to compare the price of my proposal with a similar solution available on the market. Keywords Rdiff-backup, backup, security, IPSec, iptables, SSH Abstrakt Pijáček, D. Implementace serverových služeb ve společnosti Netajo s.r.o. Bakalářská práce. Brno: Mendelova univerzita v Brně, 2012. Tato bakalářská práce se zabývá implementací zálohovacího serveru ve firmě Netajo s.r.o. V první části jsou popsány serverové služby, problematika zálohování a možnosti zajištění bezpečnosti vzdáleného zálohování. V další části je obsažen konkrétní návrh realizace spolu s konfigurací jednotlivých služeb. V závěru práce je porovnaná cena a vlastnosti mého návrhu s obdobným řešením dostupným na trhu. Klíčová slova Rdiff-backup, zálohování, zabezpečení, IPSec, iptables, SSH
1.
Úvod .................................................................................................. 7
2.
Cíl práce ............................................................................................ 8
3.
Metodika ........................................................................................... 9
4.
Teoretická východiska..................................................................... 10 4.1. Serverové služby ................................................................................................. 10 4.1.1. Virtualizace .................................................................................................. 10 4.1.2. Apache http server ........................................................................................ 11 4.1.3. E-mail ............................................................................................................12 4.1.4. Webhosting ...................................................................................................12 4.2. Klasifikace podnikových dat ...............................................................................13 4.3. Zálohování ............................................................................................................13 4.3.1. Zálohovaná data............................................................................................13 4.3.2. Způsob zálohování databázových systémů .................................................14 4.3.3. Zálohované adresáře ....................................................................................14 4.3.4. Typy záloh ..................................................................................................... 15 4.3.5. Metody manipulace se zálohovanými daty .................................................16 4.3.6. Automatizované spouštění...........................................................................16 4.4. Nástroje pro zálohování ...................................................................................... 17 4.4.1. Dump ............................................................................................................. 17 4.4.2. Rsync ............................................................................................................. 17 4.4.3. Rdiff-Backup ................................................................................................. 17 4.5. Zabezpečení ..........................................................................................................18 4.5.1. SSH ................................................................................................................18 4.5.2. Firewall ..........................................................................................................19 4.5.3. IPSec ..............................................................................................................19 4.5.4. Blokace IP adres .......................................................................................... 20
5.
Vlastní práce ................................................................................... 21 5.1. Představení společnosti.......................................................................................21 5.1.1. O společnosti ................................................................................................. 21 5.1.2. Poskytované serverové služby .....................................................................21 5.1.3. Infrastruktura .............................................................................................. 22 5.1.4. Hardware ...................................................................................................... 22 5.1.5. Realizace služeb na serveru ........................................................................ 22 5.2. Požadavky firmy na zálohování ......................................................................... 23 5.3. Zálohovací server ................................................................................................ 23 5.3.1. Návrh zálohovacího serveru ....................................................................... 23
5.3.2. Volba zálohovacího softwaru ...................................................................... 24 5.3.3. Ohodnocení a rozdělení dat ........................................................................ 25 5.3.4. Stavba zálohovacího serveru....................................................................... 26 5.3.5. Instalace programů...................................................................................... 26 5.3.6. Konfigurace softwaru .................................................................................. 26 5.4. Zálohovaný server................................................................................................31 5.5. Instalace virtuálních serverů ..............................................................................31 5.6. Konfigurace webového serveru.......................................................................... 32 6.
Zhodnocení řešení na komerční a nekomerční bázi ....................... 33 6.1. Komerční řešení .................................................................................................. 33 6.2. Nekomerční řešení.............................................................................................. 33 6.2.1. Kalkulace nákladů ....................................................................................... 33 6.2.2. Návratnost investice .................................................................................... 35 6.3. Porovnání řešení ................................................................................................. 36
7.
Závěr ............................................................................................... 37
8.
Literatura ........................................................................................ 38
Přílohy ..................................................................................................... 40 A.
crontab...........................................................................................................41
B.
rdiff-backup...................................................................................................41
C.
/.ssh/config .................................................................................................. 42
D.
virt-install ..................................................................................................... 42
E.
/etc/racoon/racoon.conf............................................................................. 42
F.
www_netajo ................................................................................................. 43
Úvod
7
1. Úvod Ještě před několika lety v době kdy vývoj výpočetní techniky a především osobních počítačů teprve začínal, byla možnost propagace čehokoli pro širokou veřejnost značný problém. Propagace a zviditelnění bylo řešeno pomocí novinových článků, rozhlasového a výjimečně televizního vysílání. Až s příchodem osobních počítačů s možnostmi využití internetového připojení se možnosti prezentace a předání informací začali rapidně zlepšovat. Internet otevřel možnost nového druhu osobní a komerční prezentace informací určených široké veřejnosti včetně obrovských možností obchodu s podporou webových systémů. S možnostmi webových prezentací, ke kterým se postupem času přidala možnost provozu elektronického nakupování, vzniklo na trhu nové odvětví podnikání. To se zaměřilo na nabídku tvorby webových prezentací a elektronických obchodů (eshopů). Takové společnosti mývají daleko větší zkušenosti s webovou tvorbou než většina zájemců o webové stránky. Těmto zájemcům jsou určeny nabídky těchto společností, které dokážou zajistit vše potřebné od grafického návrhu po zajištění webového prostoru pro umístění vytvořených stránek tak, aby byly kdykoli a komukoli dostupné. S postupným vývojem serverových technologií a služeb rostou požadavky na serverové služby, které už dlouho nezahrnují pouze zobrazování jednoduchých webových stránek. Poskytovatelé webhostingových služeb proto musí implementovat široké spektrum poskytovaných serverových služeb od implementace poštovních serverů přes databázové systémy a mnohé další, tak aby uspokojili rostoucí poptávku na trhu. Spolu s velkou popularitou využití webových služeb přichází i zodpovědnost za data, která jsou na webových serverech skrze webové stránky ukládána. Velmi často jsou provozovatelé webových stránek přímo závislý na poskytovaných datech od uživatelů, které využívají ve prospěch svého podnikání. Právě kvůli cenným datům provozovatelů webových stránek je na poskytovatele webhostingových služeb vyvíjen tlak na zajištění bezpečnosti těchto dat. Největšími riziky na veřejných serverech pro ukládaná data jsou zvláště chyby způsobené hardwarovými komponenty, nedostatečným zabezpečením serveru a chybami způsobenými lidským faktorem. Proto je důležité tyto data vhodnými způsoby zabezpečit, aby se pravděpodobnost jejich možné ztráty blížila co nejvíce nule.
Cíl práce
8
2. Cíl práce Cílem práce je seznámení se s hardwarovým zázemím společnosti Netajo s.r.o. včetně služeb jimi poskytovanými a provést návrh s následnou realizací zálohovacího serveru v rámci firemní sítě. Zálohovací server by měl poskytovat dodatečné zabezpečení veškerých důležitých dat na firemním serveru, který je umístěn mimo prostory společnosti v prostorech komerčního datového centra. Při zadání práce byl ze strany společnosti kladen důraz na minimalizaci celkových nákladů řešení. Proto při implementaci řešení bude využito především open-source produktů.
Metodika
9
3. Metodika Pro vypracování této bakalářské práce začnu jako první s výběrem vhodné literatury a jejím následným studiem. Jelikož je práce zaměřena na využití aplikací fungujících na open-source softwaru pro platformu Unix/Linux, bude ve velké míře využito informací z manuálových stránek a webových zdrojů konkrétních programů a utilit. Všechny využité zdroje včetně knižních publikací budou uvedeny v závěru práce. Tato práce bude rozdělena na tři hlavní části. V teoretické části se budu zabývat obecným popisem serverových služeb, spolu s různými možnostmi jejich konfigurace. V další částí práce bude uveden výběr a obecná nastavení jednotlivých služeb pro zabezpečení firemního serveru pomocí zálohování na vzdálený server spolu se zabezpečením přenášených dat skrze celosvětovou síť Internet. V části věnované praktickému popisu a řešení se zaměřím na analýzu nynějšího stavu služeb včetně dat na produkčním serveru firmy Netajo s.r.o., pro kterou v práci navrhnu a zrealizuji zálohování na vzdálený počítač. Při realizaci řešení se bude vycházet z požadavků firmy, které s firmou budou konzultovány. Při konfiguraci zálohovacího serveru bude věnována pozornost nastavení zabezpečeného propojení vzdálených počítačů a zabezpečení přenosu dat. Poslední část práce bude zaměřena na srovnání ekonomického přínosu a kalkulaci nákladů spojených s realizací a provozem zálohovacího serveru u mnou navrženého řešení a komerční alternativy. V závěru této části bude uvedena také sumarizace kladů a záporu obou variant řešení.
Teoretická východiska
10
4. Teoretická východiska 4.1. Serverové služby 4.1.1.
Virtualizace
Pod pojmem virtualizace se v IT světě obvykle rozumí uspořádání, ve kterém je možné k systémovým zdrojům přistupovat jako k množině výkonu bez ohledu na jejich fyzické charakteristiky, pomocí nichž k nim uživatelé obvykle přistupují. Pojem „server“ se tak už neomezuje na svou fyzickou podobu (počítač), ale skupinou dostupných zdrojů. Virtualizace pak umožňuje na jednom fyzickém serveru provozovat více serverů virtuálních. (Komárek, 2008) Pro vytvoření virtuálního serveru existuje několik možností virtualizace. Popis nejpoužívanějších způsobů virtualizace z hlediska pronájmu serverů: Plná virtualizace – dochází zde k emulaci hardware tak, že umožňuje běh hostovaného systému bez jakýchkoliv úprav a je tak možný použít libovolný operační systém. Je možné dokonce simulovat jiný typ procesoru. Nevýhodou je velká režie virtualizace, tj. velká část výkonu hardware je spotřebována na zajištění samotné virtualizace. (Strnad, 2010) Paravirtualizace – virtuální stroj nesimuluje hardware, ale místo toho nabídne speciální rozhraní API, které vyžaduje modifikace OS. Toto API využívá hostovaný systém při přístupu k hardware. Nevýhodou je, že hostovaný systém musí být upraven tak, aby toto API využíval. (Strnad, 2010) Virtualizace na úrovni operačního systému – virtualizace fyzického serveru probíhá na úrovni operačního systému, ten pak simuluje oddělená prostředí, která jednotlivé aplikace vnímají jako samostatný server. Nevýhodou tohoto řešení je nutnost použití stejného jádra OS pro hostitelský systém, tak i pro všechna virtuální prostředí. V praxi to znamená, že vše všude musí běžet stejný operační systém, tj. pokud je na fyzickém serveru Linux (nejčastější varianta), musí běžet i ve virtuálních serverech (můžeme ale použít různé Linuxové distribuce). Velkou výhodou je naopak minimální režie na virtualizaci. (Strnad, 2010) Obecné výhody virtualizace:
Umožňuje plné využití hardwarového výkonu infrastruktury firmy a tím slučuje více služeb na méně serverů (tzv. konsolidace serverů). Umožňuje provozovat více operačních systémů na jednom fyzickém serveru (tj. linux i windows, apod.). Zjednodušuje zálohování, obnovu záloh, disaster recovery nebo migraci systému. Umožňuje dynamické přidělování výkonu (navyšování i snižování) Šetří energii, snižuje náklady (Komárek, 2008)
Virtualizace v Netajo s.r.o. Virtualizace je ve firmě vyřešena pomocí nástroje KVM (Kernel Virtual machine) který je implementován přímo v jádře (kernelu) operačního systému. Virtuální servery jsou implementovány pomocí paravirtualizace kterou KVM podporuje. Tento
Teoretická východiska
11
způsob virtualizace je též podporován instrukcemi moderních procesorů od společností Intel (VT) a AMD (AMD-V) pro zvýšení výkonu. Jedná se dnes o jedno z nejlepších řešení pro komerční realizaci virtuálních serverů.
4.1.2.
Apache http server
Projekt Apache HTTP Serveru je výsledkem společného vývoje software, který je zaměřen na vytvoření stabilního a volně dostupného zdrojového kódu implementace HTTP (Webového) serveru. Projekt je společně řízen skupinou dobrovolníků z celého světa prostřednictvím internetu (The Apache Software Foundation, 2012). Jeho název je odvozen od anglických slov „A patchy server“ což v překladu znamená „záplatovaný server“. Apache server je celkově nejpoužívanější software pro zprostředkování webových serverů podle údajů ze serveru Net-craft (viz Graf 1). Konkrétní data o zastoupení hlavních webových serverů je v tabulce 1.
Graf 1: Podíl na trhu top serverů ve všech doménách, srpen 1995 - květen 2012. Dostupné na webových stránkách
[online] Tabulka 1: Zastoupení webových serverů na trhu. Dostupné na webových stránkách [online]
Vývojář
Duben 2012
Procentuální zastoupení
Květen 2012
Procentuální zastoupení
Změna
Apache
107,686,403
56.66%
109,278,620
57.02%
0,36
nginx
24,253,806
12.76%
23,938,754
12.49%
-0,27
Microsoft
22,813,215
12.00%
22,803,442
11.90%
-0,1
Google
15,671,026
8.25%
15,855,806
8.27%
0,03
Apache vznikl jako modifikace webového serveru NCSA, jednoho z vůbec prvních webových serverů. Projekt Apache se rozšířil z vytváření pouze webového serveru na další důležité technologie na straně serveru, jakými jsou např. Java nebo XML.
Teoretická východiska
12
(Veselský, 2003) Vývoj tohoto serveru zastřešuje společnost Apache Software Foundation.
4.1.3.
E-mail
Elektronická komunikace, zkráceně e-mail je služba, která je starší než internet, začala se rozšiřovat s vytvořením sítě ARPANET1. Termín e-mail se používá jak pro internetový systém elektronické pošty založený na protokolu SMTP (Simple Mail Transfer Protocol), tak i pro intranetové systémy, které dovolují posílat si vzájemně zprávy uživatelům uvnitř jedné společnosti nebo organizace (tyto systémy často používají nestandardní protokoly, mívají ovšem bránu, která jim dovoluje posílat a přijímat e-maily z internetu). K širokému rozšíření e-mailu přispěl zejména internet. (E-mail, 2012) SMTP – tento protokol implementuje přenos protokolem SMTP, což je nejběžnější poštovní přenosový protokol v Internetu. (Veselský, 2003) Protokol SMTP slouží pouze k zasílání elektronické pošty. Pro přístup k vlastní stránce s elektronickou poštou je potřeba využití protokolu IMAP nebo POP3 POP3 – Post Office Protocol – Version 3, určen ke stahování pošty ze serveru. Stažené zprávy na serveru maže. IMAP – Internet Message Access Protocol, obdoba protokolu POP3, stahuje pouze hlavičky zpráv, zprávy na serveru nemaže.
4.1.4.
Webhosting
Webhosting (někdy web hosting, hosting) je v dnešní době velmi populární služba, která umožňuje umístění webových stránek a provozování doplňkových služeb jako jsou e-maily, FTP, statistiky, atd. na webových serverech cizích společností bez nutnosti pořízení vlastního serveru. Jeden fyzický server je schopen zprostředkovat hosting webových služeb pro několik na sobě nezávislých subjektů. Díky tomu je tato služba v dnešní době velmi populární hlavně pro jednotlivce a menší společnosti kde se návštěvnost pohybuje v řádech tisíců přístupů za měsíc bez potřeby přenášet velké objemy dat. Mezi nejdůležitější vlastnosti webhostingu patří především: Velikost prostoru pro data – je jeden s nejvíce sledovaných parametrů při výběru webhostingových služeb. Výběr dostatečné kapacity pro uživatelská data je důležitý pro možnost nahrávání různých souborů (fotky, videa, atd.) na server. Samotné zdrojové kódy webových stránek zabírají jen minimum prostoru. Podpora serverových skriptů, databází – často u nejlevnějších nabídek webhostingů je nabízena pouze podpora PHP. U rozšířenějších nabídek bývá standardem podpora různých skriptovacích jazyků PHP, ASP apod., včetně databázových systémů. Obvykle podporovanými systémy jsou MySQL, PgSQL.
Advanced Research Projects Agency Network (ARPANET) byla počítačová síť, předcházela vzniku dnešní síťě Internet. 1
Teoretická východiska
13
E-mail – k registrované doméně patří možnost využívat také vlastní e-mailovou adresu ve formátu např. „jméno@doména.cz“. Aby bylo šlo takové adresy využívat, musí být v rámci webhostingu umožněna podpora e-mailových schránek, která bývá v levnějších variantách webhostingu omezena pouze na několik schránek. FTP/SFPT – jsou protokoly sloužící pro přenos souborů od a ke klientovi na webový server. Protokol FTP (File Transfer Protocol) již začíná nahrazovat novější protokol SFTP (Secure File Transfer Protocol) který je obdobou FTP. Jeho hlavní předností je z názvu vyplývající zajištění bezpečnosti přenášených dat pomocí jejich šifrování. FUP – nebo omezení množství přenesených dat, je množství dat která mohou ze serveru návštěvníci přenášet bez různých postihů pro provozovatele webu. Dostupnost – slouží k částečné ochraně provozovatele webhostingu před spory s klienty při výpadku dostupnosti serveru. Pro klienty to znamená, že pokud provozovatel garantuje dostupnost webového serveru a služeb pro klienty po 99 % roku, musí klient počítat s tím, že nemusí být jeho web dostupný 3,65 dne.
4.2. Klasifikace podnikových dat Klasifikace veškerých dat ukládaných na firemních serverech a počítačích se provádí zpravidla při jejich zálohování nebo archivaci. Je vhodné mít data nějakým způsobem roztřízena a ohodnocena jak podle jejich důležitosti pro podnik tak podle jejich důležitosti zda je potřeba konkrétní data zálohovat a následně archivovat. Pomocí správného ohodnocení a klasifikace lze dosáhnout značné úspory potřebné kapacity zálohovacího média. Není nutné totiž archivovat data, které během krátké doby ztrácí význam (např. databázové systémy) z důvodů častých změn. Pro zjednodušení volby jakým způsobem se budou firemní a uživatelská data zálohovat s následnou archivací, je vhodné data náležitým způsobem rozdělit a ohodnotit dle jejich významu a ceny pro podnik. Rozdělení dat dle četnosti jejich změn na data, která jsou po většinu času konstantní a data u kterých se očekává, že se budou měnit často. Takto rozdělená se dají následně ohodnotit podle jejich důležitosti případně ceny. Ohodnocena budou data hodnotami 1 – 3, kde 1 znamená nejvyšší stupeň důležitosti a 3 nejnižší hodnotu pro podnik. V poslední fázi budou data ohodnocena podle nutnosti délky jejich archivace.
4.3. Zálohování Na počítačích jsou ve většině případů tím nejcennějším data. Přijít byť jen o několikadenní práci bývá často problém, natož ztratit například rukopis knihy nebo podobně rozsáhlý dokument. Zálohy proto patří k základním činnostem, které by měli být na počítači prováděny. Pro správce serverů to platí samozřejmě dvojnásob. Existuje mnoho způsobů, jak zálohovat, leckdy stačí prostě zkopírovat nejdůležitější adresáře na jiný disk, vypálit na DVD či nahrát na jiný počítač. Při častějším zálohování je vhodné zavést automatizaci tohoto procesu. (Krčmář, 2008)
4.3.1.
Zálohovaná data
U zálohovaných dat se řeší dva odlišné problémy – zálohování dat a zálohování systémů. Zálohování dat je v praxi docela rozšířené – přece jen málo, který uživatel si dovolí riskovat natolik, aby jeho nejdůležitější data, jako jsou ekonomické údaje,
Teoretická východiska
14
dokumenty či podklady pro výrobu existovala pouze v jedné kopii. Speciální kategorií zálohovaných dat jsou databázové systémy, které nelze jednoduše zkopírovat jako ostatní statická data. Vytváření záloh systémů není dnes natolik rozšířené jako zálohování dat. Přitom dnešní možnosti zálohovacích systémů jsou natolik pokročilé, že zvládají jak zálohu dat, tak zálohování systémů. (Bínek, 2010)
4.3.2.
Způsob zálohování databázových systémů
Většina dat, která se zálohují, jsou pouze klasické soubory, u kterých při provádění záloh nehrozí nekonzistentnost. To však neplatí při zálohování databázových systémů. Ty se zálohují jako jeden velký celek. Jenže u databázových systémů se nelze zajistit, že v době kdy by se prováděla jejich záloha, zůstanou data v nich uložená konstantní, protože v průběhu zálohy může dojít ke změně dat. V případě změny dat v databázi při jejím zálohování by nastal problém s nekonzistencí, který by znemožnil jejich následnou obnovu. A to je v případě zálohování nepřípustné. Aby bylo možno provádět zálohu databázových systému je potřeba před startem zálohování vytvořit jejich přesnou kopii, která je uzamčena pro jakékoli změny. Tento postup vytvoření kopie databáze se nazývá „dump“. K jeho vytvoření se využívá přímo možností jednotlivých databázových systémů. Každý databázový systém obsahuje pro tento účel nástroj, který vytvoří konzistentní obraz databáze vhodný k zálohování. V případě databázového systému MySQL lze nad databází spustit MySQL příkaz „mysqldump“ s patřičnými parametry. U ostatních databázových systémů je příkaz obdobný. Hlavní parametry pro příkazy jsou: host – adresa/cesta k databázi user – uživatelské jméno heslo – heslo pro přístup k databázi Dumping databázového musí být prováděn s patřičnou časovou rezervou před zahájením zálohování. Proto je vhodné připravit skript, který dumping databázových systémů zajistí a zajistit jeho spouštění přidáním záznamu do nástroje cron.
4.3.3.
Zálohované adresáře
V operačních systémech jsou všechny programy a uživatelská data včetně instalovaných uživatelských programů za běžného stavu rozdělena do standardní adresářové struktury. Základní adresářové struktury jsou pro různé operační systémy odlišné. I když jsou adresářové struktury v různých operačních systémech odlišné, všechny zpravidla obsahují 4. typy adresářů, ve kterých jsou obsažena data aplikací, uživatelská data, data o nastavení jednotlivých zařízení a data operačního systému. V Operačním systému Linux/Unix jsou veškeré adresářové struktury, potomky hlavního kořenového adresáře nazývaného root (česky: kořenový adresář). Veškerými adresářovými strukturami jsou zde myšleny i veškeré připojené paměťové média s vlastními souborovými systémy. Takové souborové hierarchie lze s výhodou využít při zálohování jednotlivých systému. Pro kompletní zálohu celého systému a dat, stačí mít příslušná oprávnění na přístup ke všem souborům, pak stačí dát zálohovat jediný kořenový adresář a provede se kompletní záloha.
Teoretická východiska
15
Často je však vhodné ze zálohování vyřadit některé adresáře, které nejsou pro obnovy systému důležité a zabíraly by pouze cenné místo na zálohovacím médiu. Takovými adresáři jsou v případě unixových operačních systémů adresáře dev, proc a sys. /dev – Adresář obsahující speciální soubory pro bloková a znaková zařízení. Speciální soubory jsou vytvořeny během instalace systému a během života systému nejsou zpravidla měněny. (Vychodil, 2003) /proc – Adresář se speciálním souborovým systémem ProcFS, obsahuje soubory s informacemi o systému. (Vychodil, 2003) /sys – virtuální adresář jádra operačního systému Ostatní adresáře jsou pro rychlou možnost obnovení systému, dat a aplikací klíčové. Proto budou všechny ostatní adresáře zálohovány.
4.3.4.
Typy záloh
Pro různé podmínky se používají různé strategie zálohování. Volba správné strategie je závislá na tom, jestli je potřeba se zálohami pracovat velmi často nebo je naopak požadována maximální délka archivace zálohovaných dat. Existují i další kritéria, která odrážejí konkrétní specifické podmínky. (Zálohování dat, 2012) Nestrukturovaná Nestrukturovaným úložištěm může být větší množství disket, CD, DVD medií s minimem informací o záloze. Tento způsob je nejjednodušší, ale není příliš oblíben u větších firem. (Zálohování dat, 2012) Úplná + Inkrementální (přírůstková) Tento model má za cíl vytvořit více kopií zálohovaných dat vhodnějším způsobem. Nejdříve je provedena úplná záloha všech dat. Posléze je prováděna inkrementální záloha (ukládány jsou pouze soubory, které se změnily od předešlé úplné nebo inkrementální zálohy). Hlavní nevýhodou je, že při obnovení zálohy je potřeba pracovat s úplnou zálohou a následně se všemi inkrementy (přírůstky) až k požadovanému okamžiku zálohy, což může být velmi náročné na pracovní prostor. (Zálohování dat, 2012) Úplná + Rozdílová Rozdíl oproti předešlé metodě je v tom, že po úplné záloze se zaznamenávají pouze data, která se změnila od plné zálohy. Výhodou je, že obnova zahrnuje obnovení pouze poslední úplné zálohy, a potom její překrytí poslední rozdílovou zálohou, takže je proces obnovení více odolný vůči defektu média se zálohou. (Zálohování dat, 2012) Zrcadlová + Reverzně Inkrementální Tento model obsahuje zrcadlo reflektující stav systému po poslední záloze a historii inkrementálních záloh. Výhodou je, že máme neustále k dispozici aktuální plnou zálohu a ukládáme pouze historii změn. Každé zálohování se automaticky promítá do zrcadla a soubory, které byly změněny, jsou přesunuty do inkrementální zálohy. Tato metoda se nehodí pro přenosná media, protože každá záloha musí být provedena pomocí srovnání se zrcadlem. (Zálohování dat, 2012)
Teoretická východiska
16
Úplná záloha systému Metoda zálohuje obvykle celý počítač včetně operačního systému, vytváří obraz disku. K tomuto typu zálohování je třeba specializovaný software, jako je např. Acronis True Image. (Zálohování dat, 2012)
4.3.5.
Metody manipulace se zálohovanými daty
Při zálohování se data jen málokdy ukládají v původní podobě. Zpravidla jsou před zálohováním nějakým způsobem upravena, tak aby se zlepšila jejich manipulace případně bezpečnost. (Přibyl, 2010): Komprese dat Někdy také označovaná jako komprimace. Jedná se o proces, jehož cílem je zmenšit velikost datových souborů tím, že z nich pomocí kompresního algoritmu odstraníme nadbytečné informace. Šetří se tím prostor na zálohovacím médiu, zrychluje přenos k němu. Komprese je typicky používána u zálohování magnetickými páskami. (Přibyl, 2010) Spojování dat Často je prováděno společně s komprimací. Jde o to, že data jsou spojována do větších celků, kde se s nimi snadněji manipuluje. Spojování samo o sobě je zcela bezztrátové. Jedná se například o image disku: namísto mnoha souborů získáváme jeden jediný. (Přibyl, 2010) De-duplikace Při zálohování velkého množství souborů do jednoho místa se často stává, že je část z nich z nějakého důvodu duplicitní. Jde třeba o příklad zálohování kompletních obsahů pevných disků (image), kdy se mnoho souborů vyskytuje ve všech instancích. De-duplikací lze tato zdvojená (nebo i zvícenásobněná) data odstranit, čímž se opět šetří místo na zálohovacím médiu a zvyšuje rychlost procesu zálohování. Pozor, deduplikaci není jednoduché implementovat, protože nejde o metodu „zálohovat jen něco“, ale zpětně musíme být schopni zrekonstruovat veškerá data bezztrátově. Tzn., že záloha musí obsahovat i informace o tom, co bylo de-duplikováno, proč a jak/odkud to nahradit. (Přibyl, 2010) Duplikace dat Nejde ani tak o nějakou matematickou metodu zpracování dat, jako organizační záležitost. Principem duplikace je vytvoření dvou záloh na dvou (fyzicky) různých mediích a na různých místech. (Přibyl, 2010)
4.3.6.
Automatizované spouštění
Cron je Linux/Unix systémový nástroj, který spouští různé programy v předem definovanou dobu a intervalu (obdoba naplánovaných úloh ve Windows). Ke spouštění aplikací pomocí cronu jsou dvě možnosti. První spočívá ve zkopírování aplikace do jednoho z adresářů „/etc/cron.daily, /etc/cron.hourly, /etc/cron.weekly nebo /etc/cron.monthly“. Již z názvů těchto adresářů je jasné, jak často se budou aplikace v těchto adresářích spouštět. Pokud je potřeba definovat
Teoretická východiska
17
přesnější časování, nebo jiný interval, je nutné použít utilitu crontab. Tato utilita slouží ke správě seznamů úloh, které cron vykonává. Pro zjištění seznamu úloh lze zavolat crontab s parametrem – e, který otevře textový editor, ve kterém bude obsah seznamu úloh. V případě, že nejsou nastaveny žádné úlohy, bude seznam prázdný. Záznamy v crontab mají šest parametrů oddělenými mezerami nebo tabulátory: 1. 2. 3. 4. 5. 6.
Minuta Hodina Den v měsíci Měsíc Den v týdnu (0 – neděle, 1 – pondělí, 6 – sobota) Uživatel + cesta k programu, který má cron spustit
Pokud bude za nějaký s parametrů dosazena * (hvězdička), znamená to, že parametr není definován. Příklad zápisu do seznamu úloh: 5 1 * * * root /backup/zalohovani.sh Takový záznam znamená, že se spustí zálohovací skript denně v 1:05 ráno (Kocman, 2002).
4.4. Nástroje pro zálohování 4.4.1.
Dump
Nástroj dump patří mezi tradiční nástroje používané při zálohování v systémech Unix. Je standardní součástí většiny distribucí. Dump umí vybrat soubory, které by měli být zálohovány to lze ovlivnit pomocí nastavení tzv.: „dump-level“, kde se určuje, jak má být záloha rozsáhlá. (Kysela, 2004)
4.4.2.
Rsync
Rsync je aplikace pro unixové systémy, která dokáže synchronizovat soubory a složky z jednoho umístění do jiného. Přitom, pokud je to možné, minimalizuje objem přenášených dat pomocí delta encodingu. Rsync má např. oproti klasickému nástroji z balíku GNU utilit cp několik výhod. Tou nejvýraznější je pravděpodobně optimalizace velikosti přenášených dat. Rsync k tomuto používá speciální algoritmus, vyvinutý australským programátorem Andrewem Tridgellem, který zefektivní přenos struktury (jako např. souboru) přes komunikační linku, když má cílový počítač již jinou verzi stejné struktury. Z toho plyne, že pokud je to možné, nekopíruje celé soubory, ale jen rozdíly mezi nimi. Další výhody rsync je zachování oprávnění a vlastnické informace souborů, kopírování symbolických odkazů, atd. Při přenosu je také možné zapnout kompresi dat, což je výhodné zejména při zálohování přes síť. (Bárta, 2007)
4.4.3.
Rdiff-Backup
Rdiff-backup je zálohovací utilita pro plně automatizované reverzně inkrementální zálohy, která dokáže rekonstruovat starší zálohy vytvořené kdykoliv v minulosti. (Krčmář, 2008)
Teoretická východiska
18
Program je napsán v jazyce Python. Využívá některých vlastností programu mirror a rsync a navíc přidává podporu pro inkrementální zálohování. Podporuje ukládání podadresářů, hard linků i symbolických linků, speciálních souborů (v adresáři /dev), uchovává práva, vlastníka i skupinu souborů či adresářů, čas modifikace a rozšířené atributy souborů, rozšířená práva (ACL). Při zálohování vzdálených počítačů se využívá protokol ssh díky čemuž jsou data po síti přenášena šifrovaně. Navíc je díky schopnosti vytvářet pouze rozdíly přenášených dat šetřena přenosová kapacita linky. (Krejčík, 2007) Rdiff-backup vytváří zálohu tím způsobem, že klasicky kopíruje data z jednoho adresáře (původního) do adresáře druhého (tedy záložního). Pokud je na straně počítače, na který se zálohuje stejná funkcionalita (podpora ACL, EA, možnost změnit vlastníka souboru a podobně) jako na původním zálohovaném počítači, tak jsou zálohovaná data identická jako původní data, což je výhodné, protože lze data ze zálohy obnovit prakticky pouze jejich zkopírováním a nejsou tedy vázána na opětovné použití programu rdiff-backup. (Krejčík, 2007) Pokud počítač, na který se zálohuje, nepodporuje některé funkcionality, které jsou na zálohovaném počítači, tak jsou tyto funkcionality zapsány do souboru s metadaty, který leží v adresáři se zálohovanými daty, konkrétně v podadresáři s názvem rdiffbackup-data. V tomto podadresáři lze nalézt i další informace o dané záloze jako jsou logy, statistiky a informace o příslušných ikrementech. (Krejčík, 2007)
4.5. Zabezpečení 4.5.1.
SSH
Bezpečný shell (Secure shell) slouží ke vzdálenému přihlášení do počítačového systému, podobně jako starší protokol telnet. Mezi SSH a telnetem je ale podstatný rozdíl – SSH zajišťuje výrazně vyšší bezpečnost navázaného spojení. Program SSH tak obsluhuje šifrovanou komunikační cestu mezi dvěma hostitelskými systémy nad nedůvěryhodnou, potenciálně nebezpečnou sítí, jakou je Internet. Chrání proto uživatelská hesla a další citlivé údaje před škodlivým přenosem v nešifrované formě prostého textu. Díky tomu SSH řeší nejdůležitější bezpečnostní problém celého Internetu, kterým jsou krádeže a prolomení hesel. (Thomas, 2005) Mezi typické aplikace protokolu SSH patří vzdálený přístup neboli přihlášení k počítačovým zdrojům informací přes Internet či jinou nedůvěryhodnou (nezabezpečenou) síť. Na cílovém počítači lze využívat (Thomas, 2005):
bezpečný příkazový interpret (shell), bezpečný přenos souborů, bezpečné předávání portů.
Primárním úkolem protokolu SSH je sice vzdálené přihlášení, lze jej nicméně využít i jako obecný, univerzální kryptografický tunel pro kopírování souborů, šifrování emailových spojení a vzdálené spouštění různých programů. (Thomas, 2005)
Teoretická východiska
4.5.2.
19
Firewall
Firewall je bezpečný a důvěryhodný počítač zapojený mezi privátní a veřejnou sítí. Firewallový systém má nastavena pravidla udávající, jaký síťový provoz může propouštět a jaký má být zablokován nebo odmítnut. (Veselský, 2003) V práci bude firewall řešen softwarově pomocí nástrojů linuxového jádra přímo na zálohovacím serveru. K jeho realizaci bude použit nástroj iptables. Iptables Nástroj iptables je součástí zdrojového balíku netfilter. V Linuxu se používá od verze jádra 2.4, oproti předchozí verzi je méně složitý a zjednodušuje proces zpracování datagramů. Program iptables slouží k nastavení filtračních pravidel mechanismu netfilter. Jeho implementací je možné vytvořit klasický paketový filtr nebo stavový firewall. Jedná se o poměrně silný firewall, který je zdarma. (Milanov, 2006) Každý paket prochází systémem řetězů (chain), které tvoří filtrovací tabulku. V první fázi se snaží jádro rozhodnout, jestli je paket určen pro lokální stanici. Pokud ano, podrobuje se testu s pravidly umístěnými v INPUT řetězu. V opačném případě je podroben testu pravidly ve FORWARD řetězu. Každý paket, který vychází z místního procesu, je ověřován oproti OUTPUT řetězu. (Purchart, 2008)
4.5.3.
IPSec
Je standard navržený IETF2, který vytváří kryptograficky zabezpečenou komunikaci na síťové vrstvě IP. (Veselský, 2003) Součástí IPSec jsou zdokonalené bezpečnostní funkce, jako například vylepšené šifrovací algoritmy a obecnější autentizace. S technologií IPSec lze vybudovat nad veřejným internetem vybudovat síť VPN (Virtual Private Network) s bezpečným šifrováním a ochranou proti odposlechu dat a jiným útokům. Protokol IPSec zajišťuje v sítích následující bezpečnostní funkce:
Důvěrnost dat. Odesilatel IPSec může data před přenosem po síti zašifrovat. Integrita dat. Přijímací a koncový bod IPSec autentizuje veškeré packety od odesilatele a kontroluje tak jestli nebyla data při přenosu pozměněna. Autentizace původu dat. Příjemce IPSec může dále autentizovat zdroj odeslaných packetů IPSec. Ochrana proti opakování relace. Příjemce IPSec může detekovat opakované packety a zamítnout je. (Thomas, 2005)
V práci se setkáme s realizací IPSec komunikace v podobě vytvoření komunikačního tunelu mezi dvěma sítěmi (VPN), spojenými pomocí sítě internet. K realizaci spojení bude použita technika tunelovacího módu, který umožňuje propojení dvou sítí s neveřejnými adresami pomocí nástrojů implementovaných v jádru operačního systému. V našem případě, propojení sítí s veřejnou a neveřejnou adresou.
2
zkratka IETF- Internet Engineering Task Force (česky „Komise techniky Internetu“)
Teoretická východiska
4.5.4.
20
Blokace IP adres
Přihlašování na server s využitím protokolu SSH sebou nese velké bezpečnostní riziko spojené s možností využití slovníkového útoku či útoku hrubou silou které mají za úkol uhodnout heslo na zdrojovém stroji. Tyto útoky využívají opakované snahy o přihlášení se. Pro obranu před takovými útoky se dá využít program „Fail2ban“. Fail2ban je démon, který slouží k blokaci IP adres, ze kterých dochází k pokusu o neoprávněný přístup na server. Typicky dochází ke snahám uhádnout hesla pro získání přístupu přes SSH a FTP. Ve fail2ban lze nastavit, po kolika neúspěšných pokusech se přidá pravidlo na firewall, a na jak dlouho se IP adresa zablokuje. Dále lze nastavit mailové upozornění na výskyt pokusu o napadení. (Zabezpečení linuxového serveru pomocí fail2ban, 2009)
Vlastní práce
21
5. Vlastní práce V práci jsou na vyžádání společnosti veškeré údaje obsažené v konfiguraci, výpisech souborů a IP adresy serverů, obsahující vnitřní informace o společnosti včetně jejich klientů zaměněna za fiktivní.
5.1. Představení společnosti 5.1.1.
O společnosti
Firma Netajo s.r.o., byla založena dne 18. 11. 2010. Její hlavní podnikatelskou činností je tvorba webových prezentací, e-shopů, poskytování webhostingu a virtuálních privátních serverů.
5.1.2.
Poskytované serverové služby
Firma svým klientům nabízí v rámci webhostingu většinu běžně používaných technologií pro provozování webových stránek kterými jsou: podpora PHP, databáze MySQL a PgSQL, SFTP. V případě zájmu klienta je možnost poskytované služby rozšířit dle jeho požadavků. Veškerý přístup a dostupnost služeb klientů firma garantuje smluvně na 99 % času za rok. Reálně je dostupnost téměř 99,95 %. Dále jsou veškeré serverové služby společnosti a jimi nabízenými dostupné také přes novější verzi IP protokolu ve verzi IPv6. Nabídka webhostingových služeb a zřízení virtuálních serverů: Tabulka 2: Webhosting
Varianta
Basic
Extended
Profi
Prostor*
5GB
10GB
30GB
E-maily*
5
10
20
Služby*
HTML, PHP 5, SFTP
HTML, PHP 5, MySQL/PgSQL, SFTP
HTML, PHP 5, MySQL/PgSQL, SFTP
FUP*
20 GB
50 GB
neomezeno
* možnost individuální konfigurace
Vlastní práce
22
Tabulka 3: Virtuální servery
Varianta
Basic
Extended
Profi
Prostor*
10 GB
20 GB
40 GB
RAM*
256 MB
512 MB
512 MB
CPU*
1×3.1 GHz**
1×3.1 GHz**
1×3.1 GHz***
FUP*
10 GB
20 GB
neomezeno
Obnova starších dat*
ne
ne
ano****
* možnost individuální konfigurace ** sdílený výkon ***garantovaný výkon ****maximálně 1 měsíc nazpět
5.1.3.
Infrastruktura
Firma v současné době provozuje jeden vlastní produkční server, na kterém běží veškeré firmou nabízené služby. Server je umístěn v moderních prostorech brněnského datového centra provozovaného společností Master Internet s.r.o. V rámci smluvních ustanovení má firma od datacentra zajištěnu konektivitu internetu s rychlostí 100/100 Mbps s datovým tokem 20TB za měsíc v rámci České republiky a 500 GB měsíčně mimo Českou republiku. Dále je v rámci datacentra zajištěna neustálá dodávka elektrické energie díky záložním zdrojům v podobě akumulátorů a diesel generátorům elektrické energie pro případ delšího výpadku elektřiny v Brně.
5.1.4.
Hardware
Firemní server patřící firmě, na kterém běží veškeré firmou nabízené služby, má hardwarovou konfiguraci následující: CPU – Intel Core i5 3.1GHz, RAM – 4×4Gb, HDD – 2×1Tb Raid-1.
5.1.5.
Realizace služeb na serveru
Veškeré služby na serveru jsou z velké části realizovány pomocí vyhrazených virtuálních serverů. Na fyzickém serveru jsou spuštěny jako hlavní služby virtuální servery spolu s databázovými systémy MySQL a PgSQL. Databázové systémy jsou umístěny na hardwarovém serveru z důvodu jeho vyššího výkonu oproti výkonu virtuálních serverů, kde mají klienti zpravidla spuštěny ostatní služby.
Vlastní práce
23
5.2. Požadavky firmy na zálohování Jelikož zálohovací server bude zálohovat data společnosti, na kterých je společnost závislá, musela být provedena konzultace ohledně všech důležitých požadavků na zálohovací server. Požadavky vychází z nutnosti poskytovat garanci dostupnosti veškerých služeb a dat pro klienty po 99 % roku. To znamená, že společnost může bez nutnosti finanční či jiné kompenzace mít své služby nedostupné přibližně 3,5 dne za rok. Díky tomu vzniká časová rezerva na možnou obnovu dat a systému do provozuschopného stavu před havárií. Požadavky společnosti jsou tedy následující:
nízká pořizovací a provozní cena, využití otevřeného formátu pro ukládání zálohovaných dat, kompletní záloha veškerých dat, možnost kompletního obnovení ze zálohy včetně přístupových práv k souborům, možnost výběru data pro obnovu, možnost obnovení dat bez specializovaného softwaru, zajištění bezpečnosti přenášených dat, zajištění bezpečnosti zálohovacího serveru.
5.3. Zálohovací server 5.3.1.
Návrh zálohovacího serveru
Nároky na hardwarovou konfiguraci zálohovacího serveru nebudou vysoké z důvodu, že na serveru primárně poběží pouze zálohování spolu se službami zajišťující bezpečnost. Důležitá bude volba typu a kapacity pevných disků. Ty budou zvoleny s ohledem na spotřebu elektrické energie od výrobce Western Digital ze série úsporných disků CaviarGreen s kapacitou 1Tb. Pro zbytek hardwarových komponent by bylo dle dnešní nabídky na trhu vhodné zvolit následující konfiguraci: CPU – Intel Celeron G440 1,6GHz, RAM – 2×1GB. Díky této konfiguraci by byl zálohovací server nenáročný na spotřebu elektrické energie, dostatečně výkonný pro bezproblémový chod spuštěných aplikací spolu se zálohováním a zároveň cenově velmi dostupný. Zálohovat se na serveru budou veškerá data, jak operační systém, tak uživatelská data a nastavení aplikací. Zároveň je nutno zálohovat veškeré systémy a data klientů, která jsou zprostředkována pomocí virtuálních operačních systémů. Dle analýzy a konzultace stavu vytěžování celého systému bude zvolen čas pro provádění záloh ve čtyři hodiny našeho času ráno (tj. 4:00) a ve čtyři hodiny odpoledne (tj. 16:00) každý den. Zálohování se bude provádět pomocí programu rdiff-backup. Aby se záloha prováděla vždy v daný čas, bude se spouštět pomocí systémového nástroje cron. Zálohování bude probíhat na externí server umístěný mimo datacentrum. Přenos dat bude realizován přes protokol SSH, díky čemuž budou přenášená data i šifrována. Pro zajištění bezpečnosti zálohovacího serveru bude implementován softwarový firewall spolu s automatickou blokací IP adres které se opakovaně neúspěšně budou snažit na server přihlásit. Zálohovací server bude pojmenován Backup1. Schéma síťové architektury je uvedeno na obrázku 1. Schéma logického zapojení včetně znázornění virtuálních počítačů je na obrázku 2.
Vlastní práce
24
Obr. 1: Fyzické schéma sítě
Obr. 2: Logické zapojení sítě
5.3.2.
Volba zálohovacího softwaru
Z výše vyjmenovaných druhů softwaru v kapitole 4.4, určených k vytváření záloh dat, bude pro vytvoření zálohovacího serveru v této práci zvolen software rdiff-backup. Volba tohoto zálohovacího programu spočívá v jeho pokročilejší funkčnosti oproti zmíněným možnostem a vlastnostem vyhovujícím většině parametrů požadovaných společností. Hlavní výhodou tohoto programu je jeho systém vytváření přírůstkových záloh, které lze v případě nehody nebo potřeby obnovit pomocí hlavní zálohy a volby přírůstkové zálohy dle zvoleného data. Hlavní záloha je vždy dostupná pro možnost okamžitého obnovení, není nijak komprimovaná ani upravená. Obsahuje přesně zkopírovaný strom a obsah
Vlastní práce
25
zálohovaných adresářů. Díky tomu ji lze v případě nutnosti jednoduše zkopírovat do nově nainstalovaného operačního systému. Po dokončení kopírování tak bude systém opět ve stavu, v jakém se nacházel při provádění poslední zálohy.
5.3.3.
Ohodnocení a rozdělení dat
Data, která jsou na serverech ukládána, se obecně dělí na data systémová a uživatelská, kde uživatelská data mají rozdělení na klientská, a firemní viz.: Obr. 3.
Firemní Uživatelská Data na serveru
Klientská Systémová
Obr. 3: Rozdělení dat
Obecné rozdělení dat na firemním serveru
Firemní data o Databáze o Ostatní data Klientská data o Virtuální servery o Webhosting Systémová data o Operační systém o Aplikace o Nastavení aplikací
Četnost změn Četnost změn je zde brána podle předpokládaných intervalů jak se data budou měnit. Předpokládá se, že nejčastěji se budou data měnit v databázových systémech. Naopak u nastavení zařízení a operačního systému bude po většinu času neměnné. U uživatelských dat se předpokládá méně častá aktualizace, ale ne stálost jako u systémových nastavení. Význam (hodnota) Toto ohodnocení vychází z možností firmy, zajistit při ztrátě dat jejich adekvátní kompenzaci. Data klientů případně přímo data firmy, která může firma bez předchozího zálohování obnovit do původního stavu s minimálními náklady a časem na obnovu, jsou především konfigurace spolu s nastavením operačního systému. Mezi nejdůležitější data, která se zálohují, patří databázové systémy. Ty často obsahují záznamy a informace, které jsou pro většinu firem klíčové pro jejich existenci. Přijít
Vlastní práce
26
o data vedoucí k následné ztrátě klientů by pro firmu znamenalo velké existenční problémy. S toho důvodu jsou databázové systémy jedny s nejdůležitějších dat ve společnosti. Archivace Pomocí ohodnocení dat dle jejich četnosti změn spolu s významem lze zvolit nejvýhodnější možnosti archivace. Díky tomu lze při častém zálohování ušetřit místo postupným mazáním starých bodů záloh. Tabulka 4: Ohodnocení dat
Ohodnocení dat Základní rozdělení
Data
Četnost změn
Význam (hodnota)
Archivace
Systémová
Operační systém
3
3
1
Aplikace
3
3
1
Nastavení aplikací
3
3
1
Uživatelská data
2
1
2
databáze
1
1
3
Uživatelská
5.3.4.
Stavba zálohovacího serveru
Po konzultaci mnou navržené konfigurace se zástupcem firmy byla konfigurace změněna kvůli možnosti využiti jednoho ze stávajících počítačů patřící firmě, který není využíván. Z konfigurace se však použije navržený pevný disk, který firma zakoupí. Hardwarová konfigurace bude tedy následující: CPU – Intel Pentium IV 2,8GHz, RAM – 2×1Gb DDR2, HDD – 2×WD Caviar Green RX 1Tb pro zálohy, 1×Segate 160Gb pro operační systém.
5.3.5.
Instalace programů
Ke spuštění instalace programů se v operačním systému Linux Debian používá systémová utilita „apt-get install“. Pro svou činnost používá APT soubor, který je seznamem 'zdrojů', ze kterých se balíčky získávají. Tímto souborem je „/etc/apt/sources.list. (Silva, 2005) Pro instalaci musí být aktivní superuživatelský režim. Superuživatelský režim se spouští zadáním příkazu „su“ a následným zadáním hesla uživatele root. Potřebné programy se tady nainstalují následovně: -
Rdiff-backup: #apt-get install rdiff-backup OpenSSH: #apt-get install ssh Fail2ban: #apt-get install fail2ban Racoon: #apt-get install racoon ipsec-tools
5.3.6.
Konfigurace softwaru
V následující části kapitoly je obsažen postup pro konfiguraci potřebných služeb na zálohovacím serveru backup1. V konfiguracích jsou popsány jednotlivě postupy jak službu nastavit a ukázky konfiguračních nastavení. Seznam všech konfiguračních skriptů je obsažen v příloze B. Adresář kam se zálohy provádí je „/zalohy/“.
Vlastní práce
27
Konfigurace rdiff-backup Ukázka obsahu skriptu pro zálohování jednoho z počítačů: /zalohy/backup-n1.sh: rdiff-backup \ --exclude /dev \ --exclude /proc \ --exclude /sys \ [email protected]::/ \ /zalohy/n1 Mazání starších záloh Jelikož se několikrát denně provádí zálohování, je z důvodu úspory kapacity disku vhodné provádět mazání starších záloh. Mazání starších verzí záloh je prováděno jednou za měsíc kdy se smažou zálohy starší jeden měsíc od provedení poslední zálohy. Mažou se pouze verze, které byly změněny, ty co se nezměnily, zůstávají ponechány. Mazání se spouští následovně: rdiff-backup --remove-older-than 4W /zalohy/ n1 Zálohovací skript databázových systémů Pro dumping databázových systému bude vytvořen skript databaze-backup.sh, který bude obsahovat příkazy pro dumping všech databázových systémů, které firma provozuje. Jsou to databázové systémy MySQL a PgSQL. Pro každý databázový systém je potřeba spouštět vlastní zálohovací skript. Obsahy zálohovacích skriptů: mysql-backup.sh #! /bin/bash mysqldump --defaults-file=/etc/mysql/debian.conf –all-databases > mysql_`date+%s` pg-backup.sh #! /bin/bash pg_dumpall > pg_backup_`date+%s` OpenSSH vytvoření RSA klíčů Pro každý zálohovaný počítač se vytvoří zvlášť ssh klíč který se po vytvoření ukládá do složky „/root/.ssh/“. Aby byla zjednodušena správa všech klíčů, vytvoří se ve složce „/root/.ssh/“ konfigurační soubor config ve kterém budou zaznamenány direktivy jednotlivých klíčů. Vytvoření jednoho klíče: #ssh-keygen -t rsa Generating public/private rsa key pair. Your identification has been saved in n1-backup. Your public key has been saved in n1-backup.pub. The key fingerprint is: f6:39:1d:d1:4c:6a:0a:e5:a9:ad:84:e6:9e:e9:82:77 root@debian
Vlastní práce
28 The key's randomart image is: +--[ RSA 2048]----+ | . . | | o.= | | .o+o | | .+o. | | oSo. | | oooo. | | . ..+. | | . o.Eo . | | . += | +-----------------+
Po zpracování požadavku na vygenerování klíče jsou vytvořeny vždy dva soubory klíčů. Jeden privátní, který zůstává pouze na zálohovacím serveru a druhý s příponou „pub“ je potřeba zkopírovat na zálohovaný počítač. Vytvoření záznamu v souboru „/root/.ssh/config“ pro počítač n1-backup: host n1-backup hostname www user backup identityfile /root/.ssh/n1-backup compression no protocol 2 Obsah celého souboru config je uveden v příloze C. Cron Zálohovací skripty pro každý počítač (fyzický i virtuální) se manuálně přidávají do souboru „/etc/crontab“. Následující ukázka obsahuje přidání záznamu pro zálohování ve čtyři hodiny odpoledne a ve čtyři hodiny ráno. #Day 0 16 * * * backup-servers /bin/sh /zalohy/backup-n1.sh #NIGHT 0 4 * * * backup-servers /bin/sh /zalohy/backup-n1.sh Obsah celého souboru config je uveden v příloze A. Konfigurace file2ban Konfigurační soubory se nacházejí v adresáři „/etc/file2ban/“. Dokumentace je dostupná na domovských stránkách projektu File2ban „http://www.fail2ban.org/ wiki/index.php/Main_Page“ a částečně v samotných konfiguračních souborech. Nastavení počtu pokusů o přihlášení pomoci SSH je v konfiguračním souboru jail.conf, kde se nastavují záznamy pro jednotlivé služby zvlášť. Nastavení protokolů je pomocí tzv. bloků, které jsou uvozeny názvem protokolu v hranatých závorkách. Definice nastavení důležitých pravidel pro službu ssh: enabled – nastavuje, zda má být ochrana zapnuta pomocí parametru: true/false port – port, který je démonem sledován
Vlastní práce
29
filter – odkaz na konfigurační soubor stejného názvu v adresáři filter.d logpath – cesta k logování všech pokůsů o přístup maxretry – maximální počet pokusů o opakované spojení Konkrétní nastavení pro ochranu protokolu SSH: [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 Konfigurace firewallu Firewall zde bude realizován přímo na zálohovacím serveru. Je to oproti jiným možnostem použití firewallu řešení, které je nejméně nákladné. Pro konfiguraci se využije přímo vestavených možností linuxového jádra s použitím nástroje iptables. Jelikož je zálohovací server určen jen k zálohování produkčního serveru a nebude zprostředkovávat žádné jiné služby, bude firewall nastaven tak aby striktně zakázal podporu jakýchkoli jiných protokolů, než jsou potřebné pro funkčnost vzdáleného zálohování. Bude tedy nastaveno blokování veškerých připojení, odchozí komunikace, povolena bude. Firewall bude nastaven jako stavový. Výjimky v omezení připojení budou uděleny pouze pro loopback, příchozí ICMP zprávy, TCP spojení na konkrétním portu a SSH portu kontrolovaném utilitou fail2ban. Konfigurace firewallu se nastavuje zadáváním jednotlivých pravidel pro jednotlivé služby nebo protokoly do záznamů podle kterých se následně řídí jeho provoz. Z jednotlivých pravidel zadaných do nastavení firewallu se vytváří tzv. řetězy (chains), kde je obdržený packet postupně předáván jednotlivým pravidlům. Tak aby daný packet prošel, musí vyhovět všem pravidlům řetězce. Obecná struktura syntaxe pro přidávání záznamů (Iptables, 2012): iptables [tabulka] [akce] [chain] [ip_část] [match] [cíl] [cíl_info]
typ filter – pokud není definováno příkazem -t, je implicitně nastaven tento typ. Nacházejí se zde sady pravidel INPUT, FORWARD a OUTPUT, typ nat – obsahuje tři výchozí sady pravidel – PREROUTING, POSTROUTING a OUTPUT, typ mangle – obsahuje filter, nat a k tomu ještě sady pravidel pro úpravy hlavičky paketů, manipulace s TTL, TOS.
Základní řetězy (chain):
INPUT – zpracovává packety určené pro daný stroj, FORWARD – zpracovává packety směřující k jinému cíli, OUTPUT – zpracovává packety směřující ven ze stroje.
Parametry akce:
-A, --append – Přidá na konec řetězce nové pravidlo,
Vlastní práce
30
-D, --delete – Smaže pravidlo (zadává se buď v přesném tvaru, jak bylo zadáno nebo jeho číslem, které lze získat volbou --lin.), -R, --replace – Nahradí pravidlo, -I, --insert – Vloží na začátek řetězce nové pravidlo, -F, --flush – Vyprázdní v řetězci všechna pravidla, -P, --policy – Politika (policy) řetězce.
Ostatní parametry:
-i, --in-interface – volba rozhraní, -j, --jump – volba řetězce (chain), -p, --protocol – volba protokolu.
Konkrétní nastavení firewallu je následující: Politiky, které nastavují defaultní chování daných akcí: # veškeré vstupní packety zahazovat iptables -P INPUT DROP # veškeré průchozí packety zahazovat iptables -P FORWARD DROP # veškeré výstupní packety povolit iptables -P OUTPUT ACCEPT Pravidla, nastavující výjimky z hlavního nastavení: iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # TCP packet, cílový port 3000 povolen, iptables -A INPUT -p tcp --dport 3000 -j ACCEPT # rozhrání loopback povoleno, iptables -A INPUT -i lo -j ACCEPT # packety ICMP zpráv povoleny, iptables -A INPUT -p icmp -j ACCEPT # TCP packet, cílový port 22, předáván ke zpracování fail2ban, iptables -A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh, iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT, iptables -A fail2ban-ssh -j RETURN. Konfigurace IPSec Vytvoření tunelového spojení pomocí IPSec mezi zálohovaným a zálohovacím serverem bude realizováno pomocí démona racoon. Pro ověření identity při spojení bude využito ověřování pomocí sdílených klíčů, které budou uvedeny na obou stranách komunikace ve složce „/etc/racoon/psk.txt“. U klíčů je z důvodu bezpečnosti potřeba nastavit oprávnění pouze pro privilegované uživatele pomocí příkazu chmod. V souboru psk.txt na backup serveru bude záznam ip adresy protější strany komunikace za kterým bude uvedeno heslo.
Vlastní práce
31
Obsah souboru klíče psk.txt: #IPv4 adress 10.20.30.11 42bf415b3cf2d04bf4d862aa66043c0f Konfigurace samotného spojení je uvedena v souboru „/etc/racoon/racoon.conf“, kde je jako první záznam uvedena cesta kde sdílenému klíči. Pak následují dva bloky, kde v prvním je definice protější strany komunikace a v druhém je definice tunelu. Obsah souboru racoon.conf: path pre_shared_key "/etc/racoon/psk.txt"; remote 70.9.23.26 { exchange_mode main,aggressive; proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key; dh_group 2; } } sainfo address 10.20.30.5/24 any address 10.20.31.0/24 any { pfs_group 2; lifetime time 1 hour ; encryption_algorithm 3des, blowfish 448, rijndael ; authentication_algorithm hmac_sha1, hmac_md5 ; compression_algorithm deflate ; }
5.4. Zálohovaný server Po instalaci a konfiguraci veškerých nástrojů na zálohovacím serveru se musí provést instalace a nastavení služeb na straně jednotlivých zálohovacích serverů. Musí se zde nainstalovat rdiff-backup, a nakopírovat veřejné klíče vygenerované na straně backup serveru. Pouze u hardwarového serveru je nutné po instalaci démona racoon provést také konfiguraci obdobně jako na backup serveru. Výpis konfiguračního souboru IPSec pro firemní server viz příloha E.
5.5. Instalace virtuálních serverů Instalace všech virtuálních serverů jsou na serveru obsaženy ve složce „/home/virtual_servers/“. Pro vytvoření virtuálního serveru, na který se následně instaluje operační systém je potřeba nejprve pomocí nástroje virt-install vytvořit virtuální systém. Tento příkaz vytvoří pouze virtuální prostředí, ve kterém se následně musí spustit klasická instalace konkrétního operačního systému. Toto prostředí se vždy vytváří pro konkrétní operační systém, proto na virtuální počítač určený pro instalaci nějaké linuxové distribuce nelze instalovat např. MS Windows.
Vlastní práce
32
Parametry pro vytvoření virtuálního PC pomocí virt-install: --name – název počítače, --ram – velikost přidělené paměti RAM, --disk path – cesta k paměťovému médiu, --vcpus – počet dostupných procesorových jader, --os-type – typ operačního systému, --os-variant – varianta operačního systému, --network bridge – nastavení síťového mostu pro přístup k síti, --location – umístění instalačního obrazu pro stažení a instalaci systému. Konkrétní parametry vytvoření virtuálního serveru jsou v příloze D.
5.6. Konfigurace webového serveru Pro implementaci webového serveru je zvolen Apache web server. Konfigurace Apache serveru se výhradně provádí pomocí úpravy konfiguračních souborů. Konfigurační soubory jsou umístěny v adresáři /etc/apache2. Dokumentace Apache serveru je dostupná v konfiguračních adresářích a na oficiálních webových stránkách projektu dostupných na adrese http://httpd.apache.org/docs/. Dokumentace je také obsažena v samotných konfiguračních souborech, kde je vše potřebné popsáno. Mezi nejdůležitější konfigurační soubory a adresáře patří:
./conf.d – adresář obsahující doplňkové nastavení serveru, které není v souboru apache2.conf, ./mods-available – adresář obsahující rozšíření pomocí dostupných modulů pro Apache server (moduly pro podporu PHP, ASP…), ./mods-enabled – adresář souboru s odkazy na moduly které mají být dostupné, ./sites-available – adresář obsahující dostupné virtuální servery, ./sites-enabled – adresář souboru s odkazy na virtuální servery které mají být dostupné, apache2.conf – soubor s obecnými nastaveními chování Apache serveru.
Aby bylo možné zprostředkovávat pomocí serveru hosting pro více uživatelů, musí mít každý takový uživatel vytvořen záznam v adresáři „./sites-available“. Takový záznam obsahuje záznamy:
serverName – jméno serveru (netajo.cz), documentRoot – kořenový (výchozí) adresář, directory – nastavení pro daný adresář, errorLog – cesta k souboru kam se zaznamenávají chybová hlášení, logLevel – nastavení obsahu chybových zpráv,
Konkrétní ukázka souboru „./sites-available/www_netajo se záznamem pro virtuální server je obsažena v příloze F.
Zhodnocení řešení na komerční a nekomerční bázi
33
6. Zhodnocení řešení na komerční a nekomerční bázi 6.1. Komerční řešení Pro srovnání s komerční nabídkou pro zálohování serverů je zvolena nabídka společnosti Master Internet s. r. o., u které již společnost Netajo s. r. o., využívá služeb serverového hostingu. Společnost Master Internet s. r. o., nabízí ke všem serverhostingovým službám zálohování dat jako doplňkovou službu. Přenos souborů je realizován pomocí protokolu SSH nebo FTP – zákazník získá FTP/SFTP/SCP přístup s přiděleným diskovým prostorem na separátním serveru, určeném pouze pro zálohy. (Master Internet, 2012) Organizace záloh Zákazníkovi je přidělen diskový prostor na backup serveru, ke kterému má přístup přes standardní protokoly (ssh, ftp, sftp,…). Rozsah záloh a intervaly zálohování jsou čistě v kompetenci zákazníka. Zálohování probíhá automatizovaně přes protokol ssh. (Master Internet, 2012) Poskytované služby
Zálohování pomocí ISPmanageru Speciální zálohování VPS Zálohování databází Zálohování na pásková média Služba MasterDISK (Master Internet, 2012)
Ceny zálohy dat Tabulka 5: Ceník zálohování. Dostupné z [online]
Data [GB]
Cena [CZK]
CZK/GB
25
250
10
100
500
5
500
1250
2,5
*Vyšší objemy dat naceňovány individuálně
6.2. Nekomerční řešení 6.2.1.
Kalkulace nákladů
Pro správnou kalkulaci nákladů je nutno znát následující parametry:
Pořizovací cena Cena elektrické energie (v místě provozu serveru) Cena internetové konektivity
Zhodnocení řešení na komerční a nekomerční bázi
34
Spotřeba elektrické energie
Kalkulace nákladů na pořízení zálohovacího serveru Do kalkulace na realizaci serveru se započítává cena použitých komponent a cena potřebného softwarového vybavení. Cena za lidsky faktor zde odpadá z důvodu konfigurace serveru v rámci bakalářské práce. Většina hardwarového vybavení pro stavbu serveru byla poskytnuta ze zdrojů majitele společnosti. Díky tomu náklady na realizaci značně klesly. Hradware na stavbu serveru:
CPU – Intel Pentium IV 3,0 GHz, cena: 0 Kč, RAM – 2×1Gb DDR2, cena: 0 Kč, základní deska – ASUS P4S8X-X, cena: 0 Kč, napájecí zdroj – Eurocase 300W, cena: 0 Kč, case – Eurocase, cena: 0 Kč, HDD 1 – Segate 160Gb, cena: 0 Kč, HDD 2 – WD Caviar Green RX 1Tb, cena: 1790 Kč, HDD 3 – WD Caviar Green RX 1Tb, cena: 1790 Kč.
Celková cena komponent: 3580 Kč Jelikož je softwarová výbava tvořena veškerým softwarem, který je i pro komerční využití distribuován zdarma včetně operačního systému Linux Debian, je celková cena za využitý software 0 Kč. Součet celkových nákladů na stavbu: Hardware: 3580 Kč Software: 0 Kč Práce: 0 Kč Celkem: 3580 Kč Kalkulace nákladů na provoz Kalkulace bude provedena pro firemní zálohovací server, u kterého bylo provedeno měření odběru elektrické energie pomocí digitálního měřicího přístroje. Během 24 hodinového měření byla naměřena průměrná spotřeba elektrické energie celé sestavy ve výši 46Wh. Pro výpočet ceny elektrické energie byla zvolena průměrná cena 4,54 Kč / kWh uvedená na webu „http://www.usetreno.cz/energie-elektrina“. Srovnání bude provedeno s nabídkou společnosti Master Internet s.r.o. kde společnost nabízí diskovou kapacitu serveru pro zálohování 500 GB za cenu 1250 Kč. Kalkulace jsou obsaženy v tabulkách:Tabulka 6 aTabulka 7.
Zhodnocení řešení na komerční a nekomerční bázi
35
Tabulka 6: vlastní zálohovací server
Vlastní zálohovací server
Cena za 1. den
Elektrická energie *
Cena za měsíc
Cena za rok
5,01 Kč
150,36 Kč
1 804,37 Kč
Konektivita
23,30 Kč
699,00 Kč
8 388,00 Kč
Celkem:
28,31 Kč
849,36 Kč
10 060,33 Kč
* počítáno při ceně 4,54/Kwh
Tabulka 7: Nabídka Master Internet s.r.o.
Nabídka Master Internet s.r.o.
cena za 1. den cena za měsíc * cena za rok
celkem:
41,67 Kč
1 250,00 Kč
15 000,00 Kč
*cena uvedená v ceníku dostupném na webových stránkách společnosti za 1 kalendářní měsíc
6.2.2.
Návratnost investice
Jako návratnost investice, je brána doba, po jaké se společnosti vyplatí nebo nevyplatí pořízení vlastního serveru k zálohování firemních dat oproti alternativnímu řešení. Pro kalkulaci návratnosti investic na stavbu zálohovacího serveru se vychází ze základních parametrů, kterými jsou: pořizovací cena a náklady na provoz. Investice se kalkuluje na dobu jednoho roku. Výsledky jsou porovnávány s odpovídající nabídkou komerční společnosti. Výpočet návratnosti investice: 1. 2.
Celkové náklady Pořizovací cena + celkové náklady na provoz: 3580+10060,33=13640,33 Návratnost investice a. Se zahrnutím ceny internetového připojení: Celkové náklady / náklady na 1. měsíc u komerční nabídky: 13640,33/1250=10,91 b. Bez zahrnutí ceny internetového připojení: (celkové náklady – konektivita) / náklady na 1. měsíc u komerční nabídky: (13835,96 - 8 388) /1250=4,2
Výsledná doba návratnosti investice je 10,91 měsíce. Což vychází z výpočtů zahrnující plnou cenu internetového připojení. Internetové připojení je ale využíváno pro celou firemní kancelář, kde je zálohovací server umístěn. V případě, že by cena za internetovou konektivitu nebyla zahrnuta z důvodu jejího využívání v rámci celé společností, počítala by se doba návratnosti pouze z počátečních nákladů a nákladů na elektrickou energii nutnou pro provoz. Bez zahrnutí ceny internetového připojení, které je ve firmě instalováno ještě před zřízením zálohovacího serveru, by byla doba návratnosti investice 4,2 měsíce.
Zhodnocení řešení na komerční a nekomerční bázi
36
6.3. Porovnání řešení Při srovnání kladů a záporů řešení zálohovacího serveru na komerční a nekomerční bázi byly zahrnuty nejdůležitější parametry obou řešení. Těmito parametry jsou především náklady na realizaci, náklady na provoz a náklady na rozšíření úložné kapacity. Dalšími parametry, které byly brány v potaz, byly specifické vlastnosti daných řešení. Tabulka 8: Zhodnocení firemního zálohovacího serveru
Firemní zálohovací server Klady [+]
Zápory [-]
Velikost kapacity uložiště
Nižší fyzické zabezpečení serveru
Náklady na provoz serveru
Náklady na realizaci řešení serveru
Náklady na rozšíření úložné kapacity
Potřeba rozsáhlejších znalostí k realizaci serveru
Možnost libovolné softwarové konfigurace serveru
Technická podpora při potížích se serverem
Možnost libovolné hardwarové konfigurace serveru
Tabulka 9. Zhodnocení komerční nabídky zálohování
Komerční nabídka zálohování Klady [+]
Zápory [-]
Vyšší fyzické zabezpečení serveru
Velikost kapacity uložiště
Vyšší zabezpečení počítačové sítě
Náklady na provoz serveru
Náklady na realizaci řešení serveru
Náklady na rozšíření úložné kapacity
Technická podpora při potížích se serverem
Možnost libovolné softwarové konfigurace serveru Možnost libovolné hardwarové konfigurace serveru
Závěr
37
7. Závěr Zálohování je jeden z nejrozšířenějších způsobů ochrany dat před jejich nechtěnou ztrátou. Existuje celá řada zálohovacích nástrojů a zálohovacích médií, na které se zálohovaná data ukládají. A právě potřeba a důležitost zálohování firemních dat mě vedly k vytvoření této práce. V rámci bakalářské práce jsem navrhl komplexní řešení pro zálohování celého firemního serveru včetně zálohování jednotlivých virtuálních serverů a všech ostatních služeb, jejichž chod primárně firemní server zajišťuje. V první části práce byly popsány hlavní serverové služby, vysvětleny principy zálohování, zajištění bezpečnosti vzdáleného přihlašování a zajištění bezpečnosti přenášených dat. Ve druhé polovině byla již konkrétně popsána konfigurace a nastavení všech služeb využitých pro realizaci zálohovacího serveru. Všechny stanovené cíle práce byly v rámci možností naplněny. Navrhl a realizoval jsem řešení v podobě zálohovacího serveru ve firmě Netajo s. r. o. Finální řešení jsem realizoval na základě požadavků firmy na zálohovací server. Toto řešení bylo dle firmy dostatečně splněno a následně v reálném provozu použito. Hlavní přínos práce spočívá v seznámení se s nejpoužívanějšími open-source serverovými službami a možnostmi jejich implementace pro zajištění vzdáleného zálohování serverů. Dle mého názoru je realizace vlastního zálohovacího serveru pro firmu výhodnější než využití nějakého komerčního řešení vzdáleného zálohování firemních dat. Nejen z důvodů finančních, ale také z důvodů libovolné konfigurace zálohovacího softwaru a hardwaru. Navržené řešení může dobře posloužit jako výchozí řešení pro vytvoření efektivnějšího způsobu zálohování uživatelských dat včetně nastavení pro jednotlivé aplikace instalované na firemním serveru.
Literatura
38
8. Literatura Iptables. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001-2012, 18. 2. 2012 [cit. 2012-05-15]. Dostupné z: http://cs.wikipedia.org/wiki/Iptables Zabezpečení linuxového serveru pomocí fail2ban. FORPSI. Forpsi: FORPSI Znalostní báze [online]. 2003 - 2009 [cit. 2012-05-15]. Dostupné z: http://kb.forpsi.com/article.php?id=663 Zálohování dat. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001-2012, 4. 1. 2012 [cit. 2012-05-15]. Dostupné z: http://cs.wikipedia.org/wiki/Z%C3%A1lohov%C3%A1n%C3%AD_dat THE APACHE SOFTWARE FOUNDATION. Apache: HTTP server project [online]. 2012 [cit. 2012-05-16]. Dostupné z: https://httpd.apache.org/ABOUT_APACHE.html E-mail. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2012-05-15]. Dostupné z: http://cs.wikipedia.org/wiki/Email BÁRTA, Milan. Pokročilé zálohování s Rsync. Root.cz [online]. 30. 7. 2007 [cit. 201205-15]. Dostupné z: http://www.root.cz/clanky/pokrocile-zalohovani-s-rsync/ BÍNEK, Zdeněk. Jak nejlépe postupovat při zálohování dat?. In: Computerworld: Ucelený informační zdroj pro IT profesionály [online]. Praha: IDG Czech, a.s, 2010, 11. 03. 10 [cit. 2012-05-15]. Dostupné z: http://computerworld.cz/technologie/jaknejlepe-postupovat-pri-zalohovani-dat-5888 KOCMAN, Jiří. Jak na démona Cron. In: ZONER software, a.s: Interval.cz [online]. 21. 04. 2002 [cit. 2012-05-15]. Dostupné z: http://interval.cz/clanky/jak-na-demonacron/ KOMÁREK, Ing. Petr. Virtualizace: měli byste s ní počítat. Egovernment: e-Vize. Praha 2: info com s.r.o, 2008, roč. 2008, č. 2. ISSN 1801-9420. KRČMÁŘ, Petr. Záloha dat pomocí rdiff-backup. Root.cz [online]. 27. 11. 2008 [cit. 2012-05-15]. Dostupné z: http://www.root.cz/clanky/zaloha-dat-pomoci-rdiffbackup/ KREJČÍK, Ondřej. Zálohování pomocí programu rdiff-backup. In: Tachec [online]. 19. 2. 2007 [cit. 2012-05-16]. Dostupné z: http://www.tachec.org/tipsandtricks/rdiffbackup/ KYSELA, Martin. Linux: kapesní průvodce administrátora. 1. vyd. Praha: Grada Publishing, 2004, 191 s. ISBN 80-247-0733-0. MASTER INTERNET. Zálohování dat. MASTER INTERNET, s.r.o. Master Internet [online]. © 1996-2012 [cit. 2012-05-16]. Dostupné z: http://www.master.cz/zalohovani/
Literatura
39
MILANOV, Petr. IP filtr a detektor útoků. Praha, 2006. Bakalářská práce. České vysoké učení technické v Praze, Fakulta elektrotechnická, katedra počítačů. Vedoucí práce doc. Ing. Jan Janeček, CSc. PŘIBYL, Tomáš. Metody manipulace se zálohovanými daty. In: ICT Security: Nezávislý odborný on-line magazín [online]. 2010 [cit. 2012-05-15]. Dostupné z: http://www.ictsecurity.cz/odborne-clanky/metody-manipulace-se-zalohovanymidaty.html PURCHART, Václav. Tvorba pravidel pro Firewall pomocí IPTABLES přes WWW rozhraní. Praha, 2008. Bakalářská práce. České vysoké učení technické v Praze, Fakulta elektrotechnická, katedra počítačů. Vedoucí práce Ing. Ivan Šimeček. SILVA, Gustavo Noronha. APT HOWTO (Obsolete Documentation): Kapitola 2 Základní nastavení. Debian: Univerzální operační systém [online]. Aleš Nosek. 2005 [cit. 2012-05-16]. Dostupné z: http://www.debian.org/doc/manuals/apt-howto/chbasico.cs.html STRNAD, Michal. Debugger: Virtuální server [online]. 20. 11. 2010 [cit. 2012-05-15]. Dostupné z: http://www.debugger.cz/hardware/virtualni-server#more-454 THOMAS, Thomas M. Zabezpečení počítačových sítí bez předchozích znalostí. Vyd. 1. Brno: CP Books, 2005, 338 s. ISBN 80-251-0417-6. VESELSKÝ, Jiří. LINUX: Dokumentační projekt. 3. aktualizované vydání. Brno: Computer Press, 2003, 1001 s. ISBN 80-722-6761-2. VYCHODIL, Vilém. Operační systém Linux: příručka českého uživatele. 1. vyd. Brno: Computer Press, 2003, 260 s. ISBN 80-722-6333-1. .
Přílohy
Přílohy
A.
41
crontab #Day 0 15 0 15 0 16 0 16 0 16 0 16
*** *** *** *** *** ***
#NIGHT 0 3 *** 0 4 *** 0 4 *** 0 4 *** 0 4 ***
B.
root /bin/zalohy/mysql-backup.sh postgres /bin/zalohy/pg-backup.sh backup-servers /bin/zalohy/backup-klient1.sh backup-servers /bin/zalohy/backup-n1.sh backup-servers /bin/zalohy/backup-www1-n1.sh backup-servers /bin/zalohy/backup-app1-n1.sh root backup-servers /bin/zalohy/databaze-backup.sh postgres backup-servers /bin/zalohy/backup-klient1.sh backup-servers /bin/zalohy/backup-n1.sh backup-servers /bin/zalohy/backup-www1-n1.sh backup-servers /bin/zalohy/backup-app1-n1.shzálohovací skripty
rdiff-backup
backup-n1.sh #! /bin/bash rdiff-backup \ --exclude /dev \ --exclude /proc \ --exclude /sys \ [email protected]::/ \ /zalohy/n1 backup-www1-n1.sh #! /bin/bash rdiff-backup \ --exclude /dev \ --exclude /proc \ --exclude /sys \ [email protected]::/ \ /zalohy/www1 backup-app-n1.sh #! /bin/bash rdiff-backup \ --exclude /dev \ --exclude /proc \ --exclude /sys \ [email protected]::/ \ /zalohy/app1
Přílohy
42
backup klient1.sh #! /bin/bash rdiff-backup \ --exclude /dev \ --exclude /proc \ --exclude /sys \ [email protected]::/ \ /zalohy/klient1
C.
/.ssh/config host klient1 user root identityfile /home/backup-servers/.ssh/klient1 compression yes host n1 user root identityfile /home/backup-servers/.ssh/n1 compression no host www1-n1 user root identityfile /home/backup-servers/.ssh/www1-n1 compression no host app1-n1 user root identityfile /home/backup-servers/.ssh/app1-n1 compression no
D.
virt-install virt-install --name haut --ram 1024 --disk path=/dev/vgn1/haut,bus=virtio --vcpus=4 --os-type linux --os-variant=debiansqueeze --network bridge=br0 --nographics --location= 'http://ftp.riken.jp/Linux/debian/debian/dists/squeeze/main/installer -amd64/' --extra-args='console=tty0 console=ttyS0,115200n8'
E.
/etc/racoon/racoon.conf path pre_shared_key "/etc/racoon/psk.txt";
Přílohy
43
remote 94.3.46.32 { exchange_mode main,aggressive; proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key; dh_group 2; } } sainfo address 10.20.31.0/24 any address 10.20.30.5/24 any { pfs_group 2; lifetime time 1 hour ; encryption_algorithm 3des, blowfish 448, rijndael ; authentication_algorithm hmac_sha1, hmac_md5 ; compression_algorithm deflate ; }
F.
www_netajo ServerName netajo.cz DocumentRoot ../www/netajo/htdocs/ FcgidMaxProcessesPerClass 5 Options +Indexes +ExecCGI AllowOverride All AddHandler fcgid-script .php FCGIWrapper /var/www/wrapper-netajo/php5 .php Order deny,allow Allow from all ErrorLog /var/log/apache2/netajo-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn