Využití Computingu ve firmě

Diplomová práce

Studijní program: N6209 – Systémové inženýrství a informatika Studijní obor: 6209T021 – Manažerská informatika

Autor práce: Bc. Jan Watzke Vedoucí práce: Ing. Petr Weinlich, Ph.D.

Liberec 2018 rT, TECHNICKÁ UNIVERZITA V LIBERCI Akademický rok ~ Ekonomická fakulta • 2017/2018

Zadání diplomové práce (projektu, uměleckého díla, uměleckého výkonu)

Jméno o přijmení: Bc. Jan Watzke Osobní číslo: El 6000394 Studijní program: N6209 Systémové inženýrství a informatika Studijní obor: N6209T021 - Manažerská informatika Zadávající katedro: katedra informatiky Vedoucípráce: Ing. Petr Weinlich, Ph.O. Konzultant práce: Ing. Zdeněk Pernica Specialista vývoje infotainmentu ve ŠKODA AUTO, a.s.

Název práce: Využití Cloud Computingu ve firmě

Zásady pro vypracování:

1. Vývoj a charakteristika Cloud Computingu. 2. Modely Cloud Computingu. 3. Příležitosti pro využití Cloud Computingu v konkrétní organizaci. 4. Návrh a realizace nasazení Cloud Computingu. S. Zhodnocení nového řešení. Seznam odborné literatury:

JAMSA, Kris. 2013. Cloud : SaaS, PaaS, /aaS, , business mode/s, mobile, security and more. Burlington, MA: Jones. ISBN 978-144-9647-391. LACKO, tuboslav. 2012. Osobní cloud pro domácí podnikání a malé firmy. Brno: Computer Press. ISBN 978-80-251-3744-4. VAQUERO, Luis M., Juan CACERES a Juan J. HIERRO. 2012. Open source systems: practices and paradigms. Hershey, Pa.: lnformation Science Reference. ISBN 978- 1466600980. LINTHICUM, David. 2014. Fu/I Contact Cloud Computing A Step-by-step Guide for Transitioning Your Enterprise to the Cloud. New York: John Wiley. ISBN 978- 11 1-8710-975. PROQUEST. 2017. Databáze článků ProQuest [online]. Ann Arbor, Ml, USA: ProQuest. [cit. 2017-09-28]. Dostupné z: http://knihovna.tul.cz/

Rozsah práce: 65 normostran Forma zpracování: tištěná I elektronická Datum zadání práce: 31. října 2017 Datum odevzdání práce: 31.srpna 2019

,,.---, ' . J /l} „ 1 L.S. prof. Ing. Miroslav Žižka, Ph.O. doc. Ing. Klára Antlová, Ph.O. děkan Ekonomické fakulty vedoucí katedr'ií7 Í /Je_, e-«:

V Liberci dne 31. října 2017 Prohlášení

Byl jsem seznámen s tím, že na mou diplomovou práci se plně vzta- huje zákon č. 121/2000 Sb., o právu autorském, zejména § 60 – školní dílo. Beru na vědomí, že Technická univerzita v Liberci (TUL) nezasahuje do mých autorských práv užitím mé diplomové práce pro vnitřní potřebu TUL. Užiji-li diplomovou práci nebo poskytnu-li licenci k jejímu využití, jsem si vědom povinnosti informovat o této skutečnosti TUL; v tom- to případě má TUL právo ode mne požadovat úhradu nákladů, které vynaložila na vytvoření díla, až do jejich skutečné výše. Diplomovou práci jsem vypracoval samostatně s použitím uvedené literatury a na základě konzultací s vedoucím mé diplomové práce a konzultantem. Současně čestně prohlašuji, že tištěná verze práce se shoduje s elek- tronickou verzí, vloženou do IS STAG.

Datum:

Podpis: Anotace

Diplomová práce se zabývá cloud computingem a jeho využitím v podniku. Z hlediska členění v teoretické části vysvětluje pojem cloud computing a také jeho historii a vývoj. Definuje některé základní pojmy potřebné k pochopení dalších kapitol. Zaměřuje se také na modely cloud computingu, ať už ty základní nebo nově vznikající. Na závěr teoretické části shrnuje výhody a nevýhody cloud computingu.

V praktické části popisuje rozhodování podniku o výběru cloudového řešení. Vysvětluje rozhodnutí podniku o využití kapacit v cloudu namísto vlastní infrastruktury. Popisuje výběr poskytovatele cloudových služeb a také výběr konkrétního řešení pro daný podnik v závislosti na předem určených požadavcích. Obsáhlá kapitola o implementaci konkrétního produktu detailně ilustruje proces nasazení a konfigurace vybraného řešení.

V závěru praktické části se věnuje zhodnocení nového řešení, a to jak z pohledu poskytovatele cloudového řešení, tak z pohledu vybraného produktu pro daný podnik. Zmiňuje potenciální rizika a navrhuje nápravné prostředky díky kterým je možné daná rizika eliminovat či minimálně snížit závažnost jejich dopadů.

Klíčová slova cloud computing, infrastruktura, nextcloud, vzdálený přístup, šifrování

Annotation

Utilization of Cloud Computing in a Company

Diploma thesis deals with cloud computing and its utilization in a company. From the point of division in the theoretical part it explains the term cloud computing and its history and development. It defines some basic terminology needed to understand the next chapters. It also focuses on cloud computing models whether the basic ones or the newly emerging. In its conclusion it summarizes the advantages and disadvantages of cloud computing.

In the practical part it describes the decision of the company about adoption of a cloud solution. It explains why the company decides to exploit computing capacity in the cloud and not a local infrastructure. It describes the selection of a service provider and a specific solution for the company in accordance with the previously set conditions. Comprehensive chapter about deploying a specific product describes the process of deploying and configuring selected solution.

In its conclusion the practical part deals with evaluating the new solution from the point of the selected cloud service provider as well as the selected specific solution for the company. It mentions potential risks and offers solutions that either eliminate the risk or lower the severity of its consequences.

Key Words cloud computing, infrastructure, nextcloud, remote access,

Obsah

Seznam obrázků ...... 10 Seznam tabulek ...... 13 Seznam zkratek ...... 14 Úvod ...... 16 1 Cloud computing ...... 17 1.1 Historie ...... 18 1.2 Definice ...... 19 1.3 Vývoj ...... 20 2 Základní pojmy ...... 23 2.1 Bezpečnost a rizika cloud computingu ...... 23 2.2 Formy cloud computingu ...... 26 2.2.1 Webové aplikace ...... 27 2.2.2 Clustering ...... 28 2.2.3 Vzdálený přístup ...... 30 2.3 Způsoby platby ...... 32 2.3.1 Fixní platba ...... 32 2.3.2 Dynamická platba ...... 33 3 Modely cloud computingu ...... 34 3.1 Distribuční modely ...... 34 3.1.1 Infrastruktura jako služba (IaaS) ...... 34 3.1.2 Software jako služba (SaaS) ...... 36 3.1.3 Platforma jako služba (PaaS) ...... 38 3.1.4 Databáze jako služba (DaaS) ...... 39 3.1.5 Kov jako služba (MaaS) ...... 39 3.1.6 Funkce jako služba (FaaS) ...... 40 3.1.7 Úložiště jako služba (SaaS) ...... 40 3.1.8 Informace jako služba (IaaS) ...... 41 3.2 Modely nasazení ...... 41 3.2.1 Veřejný cloud ...... 41 3.2.2 Privátní cloud ...... 42 3.2.3 Hybridní cloud ...... 42 3.2.4 Komunitní cloud ...... 43 3.3 Shrnutí výhod a nevýhod cloud computingu ...... 44 7 3.3.1 Výhody ...... 44 3.3.2 Nevýhody ...... 48 4 Možnosti využití cloud computingu ...... 50 4.1 Infrastruktura ...... 50 4.2 Poskytovatelé cloudových služeb ...... 51 4.2.1 ...... 51 4.2.2 Azure ...... 54 4.2.3 Cloud ...... 56 4.2.4 Výběr poskytovatele ...... 58 4.3 Poskytovatelé cloudových řešení ...... 59 4.3.1 ...... 60 4.3.2 ownCloud ...... 61 4.3.3 Nextcloud ...... 62 4.3.4 Zdůvodnění výběru ...... 63 5 Nasazení produktu Nextcloud ...... 64 5.1 Systémové požadavky Nextcloud ...... 64 5.2 Pronajmutí výpočetních prostředků v cloudu ...... 65 5.3 Přístup k virtuální instanci ...... 70 5.3.1 Připojení přes PuTTY a WinSCP...... 70 5.3.2 Připojení přes SSH terminál ...... 78 5.4 Zabezpečení SSH serveru ...... 79 5.4.1 Vygenerování bezpečnostních tokenů ...... 82 5.4.2 Nastavení serveru ...... 83 5.4.3 Přihlášení pomocí dvoufázového ověření ...... 84 5.5 Konfigurace Nextcloud ...... 85 5.5.1 Instalace pomocí snap balíku ...... 85 5.5.2 Manuální instalace ...... 86 5.6 Uživatelské prostředí a dostupné aplikace ...... 91 5.6.1 Webové prostředí Nextcloud ...... 91 5.6.2 Kalendář ...... 93 5.6.3 Poznámky, to-do listy ...... 95 5.6.4 Kontakty ...... 97 5.6.5 Chat ...... 98 5.7 Zabezpečení dat v Nextcloud ...... 100 5.7.1 Šifrování ...... 101

8 5.7.2 Konfigurace šifrování na straně serveru ...... 103 5.7.3 Konfigurace E2EE ...... 105 5.8 Mobilní aplikace ...... 106 5.9 Desktopová aplikace ...... 108 6 Zhodnocení nového řešení ...... 109 6.1 Poskytovatel cloudových služeb Amazon Web Services ...... 109 6.1.1 Přístup k IAM ...... 109 6.1.2 Málo restriktivní bezpečnostní skupiny ...... 110 6.1.3 Neoprávněný přístup k SSH serveru ...... 111 6.1.4 Přístup k S3 kyblíkům ...... 111 6.2 Produkt Nextcloud ...... 111 Závěr ...... 113 Seznam použité literatury ...... 115 Seznam příloh ...... 120 Příloha A Prostředí Nextcloud ...... 121 Příloha B Prostředí EC2 ...... 122

9 Seznam obrázků

Obrázek 1: Vývoj cloud computingu ...... 22 Obrázek 2: Fungování webové aplikace ...... 27 Obrázek 3: Srovnání distribučních modelů cloud computingu ...... 39 Obrázek 4: Využití veřejných cloudů ...... 51 Obrázek 5: Ukázka zdarma dostupných AMI ...... 52 Obrázek 6: Detaily o vybrané databázi...... 53 Obrázek 7: Detaily o založeném kyblíku ...... 53 Obrázek 8: Detaily o instanci ...... 55 Obrázek 9: Detaily o SQL databázi ...... 55 Obrázek 10: Vytvořený Azure Blob kontejner ...... 55 Obrázek 11: Vytvoření instance v ...... 57 Obrázek 12: Vytvořená SQL databáze ...... 57 Obrázek 13: Vytvořený kyblík ...... 58 Obrázek 14: Prostředí Seafile ...... 60 Obrázek 15: Prostředí ownCloud ...... 61 Obrázek 16: Prostředí Nextcloud ...... 62 Obrázek 17: Nastavení požadavků na hesla uživatelů produktu Nextcloud ...... 63 Obrázek 18: Vybraný operační systém ...... 66 Obrázek 19: Vybraná verze instance ...... 66 Obrázek 20: Detaily o přiřazeném úložišti ...... 66 Obrázek 21: Editace bezpečnostní skupiny ...... 67 Obrázek 22: Vygenerování privátního klíče ...... 68 Obrázek 23: Informace o založené instanci ...... 69 Obrázek 24: Informace o přidělené elastické IP adrese ...... 69 Obrázek 25: ID instance ...... 71 Obrázek 26: Veřejný DNS název instance ...... 71 Obrázek 27: Oznámení o úspěšném importování cizího klíče ...... 73 Obrázek 28: Program PuTTY s importovaným klíčem ...... 74 Obrázek 29: Přihlašovací údaje v programu PuTTY...... 75 Obrázek 30: Upozornění na přidání klíče do registrů...... 76

10 Obrázek 31: Stav terminálu po přihlášení k instanci ...... 76 Obrázek 32: Výzva programu WinSCP na přidání RSA klíče do registrů ...... 77 Obrázek 33: Adresářová struktura v programu WinSCP ...... 78 Obrázek 35: Vygenerovaný čárový kód ...... 80 Obrázek 36: Přidání nového účtu do aplikace Authy za pomocí bezpečnostního klíče ...... 82 Obrázek 37: Vybrání loga a pojmenování nového účtu ...... 82 Obrázek 38: Vygenerovaný bezpečnostní token pro SSH server ...... 83 Obrázek 39: Editace souboru /etc/pam.d/sshd ...... 83 Obrázek 40: Editace souboru /etc/ssh/sshd_config ...... 84 Obrázek 41: Autentizace pomocí SSH klíče a bezpečnostního kódu ...... 84 Obrázek 42: Konfigurace Nextcloud v případě použití snap balíku ...... 86 Obrázek 43: Vytvoření administrátorského účtu ...... 88 Obrázek 44: Konfigurace databáze...... 88 Obrázek 45: Uvítací obrazovka Nextcloud ...... 89 Obrázek 46: Základní obrazovka webového prostředí Nextcloud ...... 89 Obrázek 47: Přehled aktivit ve webovém prostředí Nextcloud ...... 90 Obrázek 48: Aplikace Galerie webového prostředí Nextcloud ...... 90 Obrázek 49: Detail aplikace Kalendář v katalogu aplikací ...... 93 Obrázek 50: Ukázka webového prostředí aplikace Kalendář ...... 93 Obrázek 51: Ukázka aplikace DAVdroid ...... 94 Obrázek 52: Ukázka kalendáře na Nextcloud serveru a vytvořené události ...... 95 Obrázek 53: Ukázka webového prostředí aplikace Úkoly ...... 96 Obrázek 54: Ukázka aplikace Úkoly ...... 96 Obrázek 55: Webové prostředí aplikace Kontakty ...... 97 Obrázek 56: Ukázka DAVdroid adresáře a kontaktu uloženého na Nextcloud serveru ..... 98 Obrázek 57: Webové prostředí Nextcloud Talk ...... 99 Obrázek 58: Ukázka aplikace Nextcloud Talk ...... 99 Obrázek 59: Upozornění na chyby v instalaci serveru Nextcloud ...... 100 Obrázek 60: Upozornění před aktivováním šifrování na straně serveru ...... 104 Obrázek 61: Povolení defaultního šifrovacího modulu ...... 104 Obrázek 62: Povolení modulu pro E2EE ...... 105 Obrázek 63: Povolení E2EE v mobilní aplikaci a bezpečnostní fráze ...... 106

11 Obrázek 64: Zašifrovaná data na desktopovém klientu bez podpory E2EE ...... 106 Obrázek 65: Vyplnění přihlašovacích údajů v mobilní aplikaci Nextcloud ...... 107 Obrázek 66: Konfigurace desktopové aplikace Nextcloud ...... 108

12 Seznam tabulek

Tabulka 1: Srovnání infrastruktury v cloudu a místní infrastruktury ...... 50 Tabulka 2: Srovnání produktů jednotlivých poskytovatelů ...... 58 Tabulka 3: Porovnání možností cloudových služeb ...... 63 Tabulka 4: Systémové požadavky pro nasazení služby Nextcloud ...... 64

13 Seznam zkratek

2FA Two-factor Authentication

AaaS Application

AMI Amazon Machine Image

AWS Amazon Web Services

ASP Application Service Provider

ARPANET Advanced Research Projects Agency Network

CPU Central Processing Unit

CSP Cloud Service Provider

DaaS Database as a Service

E2EE End-to-End Encryption

EBS Elastic Block Store

EC2 Elastic Compute Cloud

FaaS

HaaS Hardware as a Service

HSM Hardware Security Module

HPC High Performance Computing

HTTP Hypertext Transfer Protocol

HTTPS Hypertext Transfer Protocol Secure

IAM Identity and Access Management

IaaS Information as a Service

IaaS Infrastructure as a Service

LAMP Linux, Apache, MySQL, PHP

MaaS Metal as a Service

MFA Multi-Factor Authentication 14 NCSA National Center for Supercomputing Applications

NIST National Institute of Standards and Technology

PAM Pluggable Authentication Module

PaaS

PC Personal Computer

PSCP PuTTY Secury Copy

RAM Random Access Memory

RDS Relational Database Service

SaaS

SaaS Storage as a Service

SSH Secure Shell

SaaS Storage as a Service

TOTP Time-based One-Time Password

TOFU Trust On First Use vCPU Virtual Central Processing Unit

WWW World Wide Web

15 Úvod

Hlavním tématem diplomové práce je navrhnout řešení ve formě cloudové služby pro podnik podle jeho stanovených cílů. Tato práce je rozdělena do šesti kapitol, z nichž první tři jsou teoretickou částí a seznamují s pojmem cloud computing a přidruženými termíny. První kapitola slouží pro obecný úvod a je rozdělena na historii, definici a vývoj cloud computingu. Druhá kapitola vysvětluje, že cloud computing se vyskytuje v mnoha formách a neoznačuje pouze jednu konkrétní technologii. V třetí kapitole jsou vysvětleny distribuční modely cloud computingu a modely nasazení, jejichž pochopení je nezbytné pro další porozumění diplomové práce. Závěr teoretické části představuje některé z nejznámějších poskytovatelů cloudových služeb.

V první kapitole praktické části jsou zvolena kritéria pro výběr cloudového řešení pro ukládání souborů, na jejichž základě je vybrána optimální služba pro podnik. V následující kapitole je detailně popsáno nasazení vybraného cloudového řešení, včetně veškeré nutné konfigurace, zajištění bezpečnosti a přehledu funkcionalit dané služby. Poslední kapitola se potom zabývá zhodnocením řešení jako celku pomocí výčtu možných rizik a navrhuje opatření k zajištění snížení míry dopadu těchto rizik.

Cloud computing je využití výpočetních prostředků, které jsou dodávány zákazníkovi za použití internetových technologií. Při přechodu na cloudové služby se společnost odklání od investičních nákladů na kapitál a adoptuje model provozních nákladů. Za pomocí tří základních modelů cloud computingu je možné si pronajmout softwarové aplikace, databáze, infrastrukturu nebo výpočetní výkon pro využívání moderních aplikací. To vše je umožněno s pomocí internetových technologií a neustálému nárustu rychlosti internetu.

Cílem této diplomové práce je představit pojem cloud computing, vysvětlit základní pojmy s cloud computingem spojené, popsat modely cloud computingu a shrnout jeho výhody a nevýhody. V praktické části poté vybrat vhodného poskytovatele cloudových služeb a také konkrétní řešení pro daný podnik dle specifikovaných požadavků. Následně detailně v jednotlivých krocích popsat nasazení tohoto řešení.

16 1 Cloud computing

Používání internetu a moderních technologií je v dnešní době pro společnosti a uživatele součást každodenní reality. Veškeré informace jsou dostupné kdykoliv a kdekoliv na světě. Před několika lety nebylo možné informace tak snadno sdílet. V poslední době se objevilo mnoho možností, jak přistupovat k veřejným i soukromým informacím. Díky stále narůstající rychlosti internetu a velkému rozmachu mobilních zařízení, které dovolují připojení na téměř odkudkoliv.

Spousta lidí vyřizuje svoji poštu přes e-mail online přes webové klienty, píše společně dokumenty pomocí webových prohlížečů nebo vytváří virtuální alba, kam nahrávají své fotky z dovolené. Používají aplikace a ukládají data na servery umístěné na internetu, a ne v jejich vlastních domácích počítačích. Vše, co pro to potřebuje uživatel udělat, je navštívit webovou stránku, která mu dovoluje sdílet soukromé a důvěrné informace na vzdáleném serveru. Každým dnem se tyto služby rozrůstají a říká se jim cloud computing služby. Tento název je spojen s tím, že internet je vnímán uživatelem jako obláček (anglicky cloud) a nevidí, co je uvnitř.

Tyto služby jsou poskytovány zdarma nebo za poplatek. Mohou být jednoduché (použití jedné konkrétní webové stránky) nebo komplexní (použití virtuálního stroje s vlastními aplikacemi a úložištěm). Díky tomu je možné, aby uživatelé a společnosti nemuseli instalovat aplikace na jejich vlastní počítač. Je možné využívat vzdálený počítač v cloudu a díky němu si zajistit větší výkon, nebo si zřídit vlastní privátní cloudové úložiště.

V dnešním světě je potřeba zpracovávat velká množství informací. Tyto informace jsou potřebné ke složitým operacím jako jsou například náročné matematické výpočty, které potřebují velký výpočetní výkon k jejich zpracování. Osobní počítač tento výkon velmi často postrádá nebo by na něm takové operace trvaly velmi dlouho. Koupě nového hardwaru by vyžadovala velkou investici a nemusela by se vždy vyplatit. Jindy potřebuje uživatel použít daný program jen několikrát a je zbytečné si jej instalovat na vlastní počítač. Je lepší využít alternativu cloudového řešení a získat tak větší výpočetní výkon. (Folch, 2011)

17 1.1 Historie

V šedesátých letech John McCarthy řekl, že na „výpočetní výkon budeme moci jednou pohlížet jako na veřejný statek“. Tento koncept je velmi svázaný s cloud computingem. Je to podobné jako s poskytovatelem elektřiny – spotřebitel si řekne, kolik potřebuje a podle toho, jak spotřebovává, tak také platí.

Na počátku šedesátých let měly společnosti střediskové počítače. Zprostředkovávaly služby pracovníkům, kteří k nim měli přístup přes jednoduchý terminál. Tyto počítače shromažďovaly veškeré informace a prováděly všechny výpočty. Příkazy přes terminál byly posílány do střediskového počítače a ty je vracely zpět terminálu. Střediskové počítače byly nicméně velmi drahé.

V osmdesátých letech si společnosti uvědomily, že servery na klasických počítačích by mohly být zprovozněny za nižší cenu než u střediskových počítačů. Díky tomu mohly uživatelé lépe pracovat s informacemi. Postupem času byly střediskové počítače nahrazovány klasickými počítači, mimo jiné také díky klesajícím cenám těchto přístrojů.

S počátkem globálního rozmachu internetu v devadesátých letech se tradice několika počítačů přistupujících k jednomu velkému serveru vrátila. V této době byly zapotřebí webové servery s velkým výkonem, aby zvládaly zpracovávat požadavky z internetu. Od této doby až po současnost je čím dál tím více služeb provozováno na webových serverech místo na domácích počítačích. Je to dáno zvyšující se rychlostí internetu a rozmachem mobilních zařízení.

Na konci devadesátých let většina využívala méně než 10 % jejich výpočetního výkonu a nechávala si tak rezervu pro občasná extrémní vytížení. (Mohamed, 2015)

Cloud computing je v poslední době velmi často skloňovaný pojem. Pro laiky je tento pojem velmi často nehmotný a nedokáží si pod ním nic představit. Cloud (v překladu oblak) označuje komplexní síťové prostředí. Základem cloud computingu je poskytování služeb na pozadí skrze internet. (Lacko, 2012)

18 1.2 Definice

Podle amerického národního standardizačního institutu (anglicky National Institute of Standards and Technology, zkráceně NIST) je cloud computing model, který umožňuje uživatelům počítačů pohodlně si pronajmout přístup ke sdíleným konfigurovatelným výpočetním zdrojům (např. sítě, servery, datová úložiště, aplikace a služby), které lze rychle dodat a spustit s minimálním úsilím věnovaným správě nebo interakci s poskytovatelem služeb. (Moučková, 2013, s. 3) NIST dále uvádí některé základní charakteristiky cloudových služeb:

• Služba na vyžádání – Zákazníkovi jsou jednotlivé výpočetní prostředky, jako je čas serveru a vytížení sítě, poskytovány automaticky bez nutnosti zásahu poskytovatele cloudových služeb. • Široká síťová dostupnost – Výpočetní prostředky jsou poskytovány přes síť a přístupné přes standardní mechanismy, jako je tenký nebo tlustý klient (např. mobilní telefony, tablety, notebooky a pracovní stanice). • Sdílení prostředků – Poskytovatel cloudových služeb sdílí své výpočetní prostředky s různými uživateli a dynamicky přiřazuje fyzické a virtuální prostředky na základě potřeb uživatele. S tím se pojí nezávislost na umístění výpočetních prostředků – zákazník zpravidla nemá kontrolu nebo znalost umístění těchto prostředků, ale může být schopen toto umístění zhruba určit (např. stát, kontinent nebo data centrum). Příklady prostředků zahrnují úložiště, zpracování, paměť a objem přenesených dat. • Vysoká škálovatelnost – Služby mohou být poskytovány a nasazovány podle potřeby, v některých případech automaticky, k zajištění rychlého uspokojení vnitřní a vnější poptávky. Pro zákazníka se poskytované prostředky většinou jeví jako neomezené a mohou být poskytovány kdykoliv a v neomezené míře. • Měřená spotřeba – Cloudové systémy automaticky kontrolují a optimalizují prostředky díky využití měřicího systému, který kontroluje množství prostředků využívaných danou službou (např. úložiště, zpracování, objem dat a počet uživatelských účtů). Využití daného prostředku může být monitorováno, kontrolováno a zveřejňováno k zajištění transparentnosti pro poskytovatele i spotřebitele dané služby. (Mell, 2011)

19 1.3 Vývoj

Není úplně jasné, kdo poprvé použil termín cloud computing. Zmínky o výpočetních prostředcích v cloudu se datují do 60. let minulého století. Je možné, že první použití termínu cloud computing proběhlo 9. srpna 2006, když výkonný ředitel společnosti Google Eric Schmidt představil tento termín na konferenci o strategiích vyhledávání na internetu. Vývoj cloud computingu nicméně sahá až do 17. století a lze rozdělit do 10 fází:

1. fáze – Počítací stroj: V roce 1623 Wilhelm Schickard navrhl a rozpracoval počítací stroj na principu Napierových kostí.

2. fáze – Analytický stroj: V roce 1837 Charles Babbage navrhl obecně použitelný mechanický počítač. Dalšími milníky byly vývoj elektronického logického stroje Allanem Marquandem v roce 1885 a vývoj počítacího stroje na děrné štítky Hermanem Hollerithem v roce 1890. První elektronický logický stroj byl úspěšně vyvinut v roce 1936 Benjaminem Burackem.

3. fáze – Moderní počítač: V roce 1941 Konrad Zuse zkonstruoval počítač Z3. Byl to první digitální počítač založený na binary digitálním systému, programovatelný a turingovsky úplný. V roce 1945 byl Johnem Mauchleyem a J. Presper Eckertem dokončen vývoj počítače ENIAC. Jednalo se o první turingovsky úplný elektronkový počítač. Byl programovatelný a založen na desítkové soustavě. Počítače Z3 a ENIAC jsou považovány za počátek moderních počítačů.

4. fáze – Počítač mainframe: V roce 1947 docházelo díky vynálezu tranzistoru k rychlému vyvíjení počítačů. Firma IBM v roce 1957 vyvinula počítač 704, jakožto první masově vyráběný mainframe počítač s pohyblivou řádovou čárkou. V roce 1964 na něj IBM navázala počítačem System/360.

5. fáze – Mini počítač: V roce 1969 byl vyvinut první mikroprocesor Intel 4004. Posléze na něj v roce 1971 bylo navázáno vývojem pokročilejšího mikroprocesoru Intel 8008. Tento mikroprocesor měl za následek zrod prvního minipočítače Micral od Andreho Thi Truonga v roce 1973. Pro kutily tu byl v roce 1973 TV typewriter nebo Mark 8 v roce 1974. V roce 1975 byl vyvinut Altair 8800, což byl první počítač, pro který Microsoft vyvinul 20 programovací jazyk Altair BASIC. V roce 1981 na trh vstoupila firma IBM a zavedla pojem osobní počítač (anglicky Personal Computer, zkráceně PC). Operační systém vytvořený firmou Microsoft pro osobní počítače IBM se stal standardní platformou pro mnoho výrobců počítačů.

6. fáze – Internet: V roce 1969 byla spuštěna počítačová síť Advanced Research Projects Agency Network (zkráceně ARPANET), kterou sponzorovalo ministerstvo obrany USA. ARPANET měl za cíl připojit různé americké univerzity s tamním ministerstvem obrany. Rychle se rozrůstal a inženýři, vědci, studenti a výzkumníci si začali pomocí této sítě vyměňovat data a zprávy. V půlce 80. let minulého století vytvořila Národní vědecká nadace vyvinutější počítačovou síť, než byl ARPANET. Jmenovala se NSFNET a byla určena pouze pro akademický výzkum. Soukromé společnosti brzy začali vytvářet vlastní sítě a pomocí propojení se sítěmi ARPANET a NSFNET vznikl Internet.

7. fáze – World Wide Web: V roce 1989 Tim Berners-Lee přeměnil sílu Internetu a vytvořil World Wide Web (zkráceně WWW). Tato síť byla založena na hypertextu, což je síťová struktura, ve které byly znalostní entity referencovány pomocí logických referencí zvaných hyperlinky. WWW byl popularizován webovým prohlížečem Mosaic, který byl vyvinut Národním centrem pro aplikace superpočítačů (anglicky National Center for Supercomputing Applications, zkráceně NCSA).

8. fáze – Poskytovatelé aplikačních služeb (anglicky application service provider, zkráceně ASP): V 90. letech minulého století svět počítačů zažíval období zvýšeného objemu přenosu dat a nástup technologických platforem jako jsou Java, PHP, Ajax atd. Tyto platformy umožňovaly vytvářet propracované a interaktivní webové stránky. Díky nasazení těchto technologií bylo možné uvést do provozu mnoho stránek s multimédiálním obsahem jako byly například online obchody a různé aplikace provozované přes Internet. Příklady nasazených aplikací zahrnují plánovače tras, komunikační platformy, sociální sítě a kancelářské aplikace jako jsou textové procesory nebo tabulkové aplikace. Tomuto konceptu nasazení se říká Software jako služba, který získával na popularitě okolo roku 2000.

21 9. fáze – Grid Computing: Grid computing byl zaveden jako koncept v 90. letech minulého století. Jedná se o kombinaci rozmístěných počítačů s neinteraktivní zátěží z několika administrativních domén k dosažení stejného cíle.

10. fáze – Cloud Computing: V roce 2007 byl zaveden pojem Cloud Computing a označoval koncept spojení hardwaru a softwaru. S prvním výzkumem cloud computingu začali firmy Google a IBM společně se šesti americkými univerzitami. Je založen na kombinaci několika dříve zavedených a vyzkoušených konceptů jako je Grid Computing, virtualizace nebo Software jako služba. (Singh, 2013)

1. fáze – Počítací stroj

2. fáze – Analytický stroj

3. fáze – Moderní počítač

4. fáze – Počítač mainframe

5. fáze – Mini počítač

6. fáze – Internet

7. fáze – World Wide Web

8. fáze – Poskytovatelé aplikačních služeb

9. fáze – Grid Computing

10. fáze – Cloud Computing

Obrázek 1: Vývoj cloud computingu Zdroj: Singh 2013, vlastní zpracování

22 2 Základní pojmy

V této kapitole jsou definovány některé základní termíny, které se v této práci často vyskytují. Jejich vysvětlení pomůže lépe pochopit problematiku popsanou v praktické části. Je definován poskytovatel a uživatel cloudových služeb. Jsou uvedena základní bezpečnostní rizika cloud computingu a problematika dvoufázového ověření. Dále jsou zmíněny jednotlivé formy cloud computingu a také způsoby platby.

Poskytovatel cloudových služeb

Poskytovatel cloudových služeb (anglicky Cloud Service Provider, zkráceně CSP) je společnost, která poskytuje některé z distribučních modelů cloud computingu (nejčastěji Infrastruktura jako služba, Software jako služba a Platforma jako služba). Obecně se dá říci, že poskytovatelé cloudových služeb nabízí své služby na vyžádání a podle potřeb klienta. Zákazníci mohou za služby platit v rámci předplatného – například měsíčně nebo ročně. Někteří poskytovatelé se od ostatních odlišují tím, že cílí na požadavky určitého odvětví. (Rouse, 2018)

Uživatel cloudových služeb

Uživatel cloudových služeb (anglicky cloud service consumer) je organizace nebo jednotlivec, který má smlouvu nebo dohodu s poskytovatelem cloudových služeb k užití jeho IT prostředků. (Arcitura, 2018) V této diplomové práci je pojem uživatel cloudových služeb často nahrazován pojmy jako je zákazník nebo uživatel.

2.1 Bezpečnost a rizika cloud computingu

U technologie cloud computing se vyskytují některé významné problémy, co se týče mimo jiné soukromí, bezpečnosti, anonymity, dohledu státu a spolehlivosti. Nejdůležitější z nich je ale bezpečnost a jak ji poskytovatel cloudových služeb zajistí. Cloud computing má vesměs několik typů zákazníků jako jsou běžní uživatelé, akademická sféra a společnosti, z nichž každý má jinou motivaci pro přesun do cloudu. Uživatelé cloud computingové služby by měli znát Gartnerův seznam sedmi bezpečnostních rizik:

23 • Přístup uživatele: Citlivá data jsou zpracována vně podniku a přináší rizika, protože outsourcované služby překonají „fyzická, logická a uživatelská opatření“. • Soulad s předpisy: Zákazníci jsou nakonec vždy zodpovědní za bezpečnost a integritu jejich dat i v případě, že jsou spravována poskytovatelem služeb. Tradiční poskytovatelé služeb se podrobují externím auditům a bezpečnostním opatřením. • Umístění dat: Uživatelé při využívání cloudových služeb většinou nebudou přesně vědět, kde se jejich data nachází. Tím pádem zákazníci ztrácí kontrolu nad svými daty a nejedná se o optimální řešení pro ty, kteří mají svá data uložena lokálně. • Segregace dat: Data v cloudovém prostředí jsou obvykle uložena ve sdíleném prostředí s daty ostatních zákazníků. Šifrování je sice efektivní, ale nevyřeší všechny problémy. Šifrování a dešifrování je standardní cesta, jakou řešit bezpečností problémy, ale dosud neposkytla ideální řešení. • Obnova: Poskytovatel cloudových služeb obvykle nezajistí obnovu uživatelských dat v případě, že selže jejich vybavení nebo nastane nějaký problém. Uživatelé navíc raději nedávají povolení poskytovali, aby kontroloval jejich data. • Investigativní podpora: Cloudové služby jsou těžké na prověření z důvodu, že logy a data několika uživatelů mohou být uložena na stejném místě a rozmístěna na různých data centrech. • Dlouhodobá dostupnost: V ideálním případě nebude poskytovatel služby koupen větší společností a nedojdou mu peníze. Klienti si ale musí být jistí, že jejich data budou v bezpečí i v tomto případě. (Sabahi, 2011)

Existuje několik tradičních řešení zmíněných bezpečnostních rizik. Budou zmíněny dva způsoby bezpečného přístup, které jsou v této práci dále zmiňovány. Jedná se o technologii dvoufázového ověřování a také bezpečností protokol SSH pro bezpečné vzdálené připojení.

Dvoufázové ověření

Dvoufázové ověření je běžnou součástí života. Příkladem je vybírání peněz z automatu. Klient banky vlastní debetní kartu a zná k ní svůj PIN kód. Pouze správná kombinace karty a PINu umožní klientovi peníze z bankomatu vybrat. V zásadě rozlišujeme tři druhy dvoufázového ověření:

24 • něco co uživatel ví: PIN, heslo, bezpečnostní gesto • něco co uživatel vlastní: karta do bankomatu, smartphone, bezpečnostní klíčenka • něco, co uživatele jednoznačně identifikuje: otisk prstu (Rosenblatt, 2015)

Rozdíl mezi několikafázovým ověřením (anglicky Multi-Factor Authentication, zkráceně MFA) a dvoufázovým ověřením (anglicky Two-Factor Authentication, zkráceně 2FA) spočívá v tom, že MFA jednoduše používá několik ochranných kroků, které musí uživatel provést. 2FA je v podstatě podmnožinou MFA a jak název napovídá, vyžaduje dva kroky autentizace. (Webber, 2016)

Autentizace

Slouží k jednoznačnému ověření uživatele, který se pokouší do systému dostat. Systém by tedy měl přesně vědět s kým komunikuje. Ověření uživatele většinou probíhá oproti databázi na serveru, jenž obsahuje přihlašovací jména a v nejlepším případě zašifrovaná hesla. Tento způsob ověření je nejčastější, nikoliv však jediný. Uživatele lze ověřit i pomocí autentizačních serverů (TACACS+, RADIUS), za pomoci hardwarových zařízení, jakým jsou čipové karty. K ověření může také dojít přímo systémem – například možnost využívání Single sign-on – jedno přihlášení pro všechny služby.

Autorizace

Znamená přidělení přístupových práv pro uživatele do systému. Proces autorizace zpravidla navazuje na proces autentizace. Pokud je uživateli umožněn přístup, poté mu může systém přidělit příslušná práva nastavená administrátorem daného informačního systému. Může se jednat například o oprávnění vložení dokumentu k reklamaci nebo přidání nového dodavatele do databáze. Zpravidla bývají oprávnění rozdělena na několik skupin podle zařazení uživatele. Může tak existovat skupina pro administrátory, bezpečnostní správce a běžné uživatele systému. Dvoufázové ověření v dnešní době používá již několik společností včetně Google, LastPass, Amazon, Microsoft, EA, , Facebook, Twitter a další. Přehled webových stránek, které podporují 2FA nabízí web https://twofactorauth.org/.

25 Secure Shell

Secure Shell (zkráceně Secure Shell) je protokol pro bezpečné vzdálené připojení přes nezabezpečenou síť. Skládá se ze tří částí:

• Protokol transportní vrstvy (SSH-TRANS). • Protokol autentizace uživatele (SSH-USERAUTH). • Protokol připojení (SSH-CONNECT).

Klient zašle požadavek v momentě, kdy bylo zajištěno bezpečné připojení přes transportní vrstvu. Další požadavek následuje po autentizaci uživatele. Díky tomuto je možné definovat nové protokoly, které mohou zároveň existovat s protokoly zmíněnými výše. Protokol připojení nabízí kanály, které mohou být použity pro různé činnosti. Nejčastější je nastavení zabezpečeného unixového shellu a vytváření tunelů. SSH byl vytvořen jako náhrada Telnetu a nezabezpečených vzdálených připojení. Tyto protokoly zasílaly informace, typicky hesla, v prostém formátu, a tudíž byli snadno zachytitelné prostřednictvím analyzátoru paketů. Šifrování, které používá SSH má poskytnout utajení a integritu dat přes nezabezpečenou síť, jakou je například Internet. (Trisul, 2018)

2.2 Formy cloud computingu

Dříve bylo potřeba mít ve firmě vlastní server na který bylo potřeba nainstalovat operační systém, softwaru pro správu e-mailu a konfigurovat nastavení firewallu. Tento způsob řešení nebyl příliš připravený na nečekané události, jakými může být selhání pevného disku, výpadek elektřiny a tak podobně. Pokud společnost využívá služby v cloudu, tak se o všechno stará poskytovatel dané služby. V případě výpadku se služba přesměruje na jiný fungující server v daném clusteru a uživatel nic nepozná. Jedná se tedy o technologii, která odděluje aplikace od operačního systému od pevného disku. Cloud computing se může vyskytovat v mnoha formách, jejichž popis je uveden na dalších stranách.

26 2.2.1 Webové aplikace

Webová aplikace je počítačový program, který využívá webový prohlížeč a pomocí webových technologií provádí operace přes Internet.

POŽADAVEK

ODPOVĚĎ KLIENT INTERNET WEB APLIKAČNÍ DATABÁZOVÝ SERVER SERVER SERVER Obrázek 2: Fungování webové aplikace Zdroj: Ndegwa 2016, vlastní zpracování

Tyto aplikace používají kombinaci skriptů umístěných na serveru (PHP a ASP). Pomocí nich ukládají a získávají informace a skripty na straně klienta (JavaScript a HTML) a zobrazují informace uživateli. Díky tomu mohou uživatelé používat online formuláře, nákupní košíky atd. Zaměstnanci společností mohou využívat webové aplikace k vytváření dokumentů, sdílení informací, spolupráci na projektech a přístupu k častým dokumentům nezávisle na místě nebo zařízení.

Webové aplikace jsou zpravidla vyvíjeny v jazyku, které dnešní prohlížeče podporují, jako je JavaScript nebo HTML. Jelikož tyto jazyky jsou závislé na prohlížeči, aby mohl daný skript spustit. Některé aplikace jsou dynamické a potřebují zpracování na straně serveru. Jiné jsou zcela statické a zpracování na serveru nevyžadují.

Webové aplikace potřebují ke svému běhu:

• Webový prohlížeč – zpracování požadavků klienta • Aplikační server – provádění požadovaných úkonů • Databázi – ukládání informací

Fungování webové aplikace

1 Uživatel pošle požadavek na webový server pomocí webového prohlížeče nebo uživatelského prostředí dané aplikace. 2 Webové server přesměruje požadavek odpovídajícímu aplikačnímu serveru.

27 3 Aplikační server provede požadovanou operaci – například zadání dotazu do databáze nebo zpracování dat – a vygeneruje výsledky požadovaných dat. 4 Aplikační server zašle výsledky webovému prohlížeči s vyžádanými informacemi nebo zpracovanými daty. 5 Webový server poskytne klientovi požadovanou informaci a zobrazí ji na obrazovce.

Příklady webových aplikací

Online formuláře, nákupní košíky, textové procesory, tabulky, úprava fotek a videí, převod formátů souborů, skenování souborů, e-mailové programy.

Výhody webových aplikací

• Webové aplikace běží na různých platformách bez ohledu na operační systém nebo zařízení, za předpokladu, že je k dispozici kompatibilní prohlížeč. • Všichni uživatelé mají přístup ke stejné verzi aplikace, což odbourává problémy s kompatibilitou. • Nejsou instalovány na pevném disku, tím pádem neubírají místo na disku. • Snižují nelegální nakládání se softwarem na bázi měsíčních poplatků (SaaS) • Snižují náklady podniku i konečného uživatele, jelikož je potřeba méně personálu na podporu a údržbu. (Ndegwa, 2016)

2.2.2 Clustering

Velké společnosti jsou často závislé na nepřetržité dostupnosti svých služeb. Vysoká dostupnost jednotlivých služeb pomáhá předcházet situacím s neúspěšnými transakcemi, chybovými hláškami a ztracenými položkami v nákupním košíku. Rozšíření dané aplikace na více serverů zabezpečí redundanci. Pokud jeden server selže, aplikace bude fungovat dál. Jako příklad lze uvést databázový software, který se nainstaluje na několik serverů a v daném softwaru se nastaví cluster. V případě selhání jednoho serveru cluster automaticky přesměruje uživatele na jiný server se stejnou databází. Pro uživatele je tato změna nepostřehnutelná, avšak zaručuje neustálou dostupnost dané aplikace. (, 2018)

28 Při velké zátěží je vhodné mít více serverů v clusteru. Nejen, že cluster přesměruje uživatele v případě výpadku jednoho serveru na jiný funkční server, ale určí nejvhodnější alternativní server i v závislosti na vytížení ostatních serverů. Toto vyvažování zátěže (anglicky load balancing) zlepšuje přenos zatížení mezi různé počítače, síťové linky, procesory, pevné disky a další zařízení. Důvodem je maximalizace objemu přenesených dat, zlepšení prostupnosti, minimalizování času odezvy a zabránění přetížení jednotlivých komponent. Používání více komponent s vyvažováním zátěže může zvýšit spolehlivost a dostupnost. (Iqbal, 1986)

Clustery se dělí na několik typů:

• Výpočetní cluster (anglicky High Performance Computing, zkráceně HPC) označuje propojení několika superpočítačů. Díky tomuto zapojení je možné dosáhnout vyššího výkonu s nižšími náklady, než jaké by zprostředkoval jeden samotný superpočítač. Jednotlivé počítače jsou obvykle propojeny pomocí lokální sítě nebo internetu. • Úložný cluster (anglicky storage cluster nebo clustered storage) se jeví jako jeden úložný prostor, nicméně na pozadí je tvořen několika propojenými úložnými zařízeními. Toto zapojení umožňuje dosáhnout vyšší rychlosti přenosu dat a vyšší spolehlivosti. Tento typ clusteru se používá zejména na místech, kde je potřeba zamezit výpadkům jednotlivých uzlů a tam, kde jsou vysoké nároky na kapacitu úložiště, rychlost a spolehlivost. • Cluster s vyvažováním zátěže (anglicky load balancing cluster) umožňuje použitím několika zařízení (nejčastěji webových serverů) rozložit zátěž a zvýšit tak dostupnost jednotlivých služeb. Tento typ clusteru byl detailněji popsán výše. • Cluster s vysokou dostupností (anglicky high-availability cluster) úzce souvisí s clusterem s vyvažováním zátěže a poskytuje neustálou dostupnost jednotlivých služeb. Aby mohly být služby vždy dostupné, je nutné mít stejné služby nakonfigurované na více serverech a v případě výpadku jednoho serveru je uživatel automaticky přesměrován na jiný fungující server. (Svoboda, 2009)

29 2.2.3 Vzdálený přístup

Vzdálený přístup (nebo také vzdálená správa) označuje jakoukoliv metodu ovládání počítače ze vzdáleného umístění. Pro vzdálené připojení se na počítač nainstaluje software, pomocí nějž lze k počítači přistupovat. Využívání vzdáleného přístupu je čím dále častější a využívá se zejména v případech, kdy je pro uživatele obtížné nebo nepraktické být u počítače fyzicky přítomen. Pro využití vzdáleného přístupu je potřeba připojení k internetu a povolení k připojení od hostujícího počítače. Po připojení je možné na hostujícím počítači provádět úkony jako je vypínání nebo restartování počítače, využívání síťových zařízení, instalovat software nebo poskytnout vzdálenou pomoc. Některé verze operačního systému Windows mají v sobě již zabudovaný software pro vzdálenou správu, jejíž fungování je popsáno níže.

Terminálové služby

Terminálové služby se používaly hlavně v minulosti a umožňovaly vzdálené připojení několika terminálů k jednomu výkonnému počítači (anglicky mainframe). Uživatel se může připojit k terminálu a následně spouštět aplikace na hostujícím počítači, přistupovat k souborům, databázím a síťovým připojením. Každý terminál je nezávislý a hostující počítač spravuje konflikty mezi požadavky uživatelů na určitou službu.

Služby vzdálené plochy

Služby vzdálené plochy umožňují uživateli vzdáleně ovládat počítač nebo virtuální stroj přes internetové připojení. Uživatel se připojuje přes tenkého klienta na vzdálený počítač vybavený patřičným softwarem. Přes tento software se na klientský počítač přenáší pouze uživatelské prostředí. Všechny vstupy od uživatele jsou přeneseny na vzdálený server a tam dále zpracovány.

Rozdíl mezi Terminálovými službami a Službami vzdálené plochy spočívá v tom, že terminály poskytují pouze vstup a výstup pomocí klávesnice a myši. Služby vzdálené plochy na druhou stranu umožňují uživateli vzdálené připojení k uživatelskému prostředí včetně celého operačního systému.

30 Terminálový server

Terminálový server je součást Služeb vzdálené plochy a je spouštěn výhradně na serveru hostujícího počítače. Terminálový server slouží k autentizaci klientů a spravuje vzdálený přístup k aplikacím. Dále omezuje uživatele v přístupu k jednotlivým částem systému v závislosti na nastavených oprávněních. Terminálový server může také využívat služeb clusteringu. (Microsoft, 2018)

Aplikační servery

Aplikační servery jsou v podstatě Služby vzdálené plochy, s tím rozdílem, že místo zobrazení celého operačního systému se na klientském počítači zobrazí pouze jedna aplikace. Používá se především ve firmách pro náročnější aplikace. Je to především z důvodu zajištění bezpečnosti dat na serveru a odlehčení softwaru na koncovém zařízení.

Virtualizace

Virtualizace slouží k oddělení operačního systému od hardwaru. V případě, že je potřeba daný operační systém používat z jiného místa, je možné se k němu připojit bez nutnost nové instalace a migrace dat. Hardwarová virtualizace se dělí na software instalovaný klientem a tzv. hypervisory, které umožňují vzdálené připojení.

Klientem instalovaný virtualizační software

Na daný počítač se nejdřív nainstaluje operační systém a poté virtualizační software. Tento virtualizační software slouží k vytvoření instance virtuálního operačního systému nebo serveru. Všechny virtuální operační systémy nebo servery jsou nainstalovány na lokálním počítači. Díky virtualizačnímu softwaru je možné používat například operační systém Ubuntu uvnitř operačního systému Windows.

Hypervisory

Hypervisor je software, který se nainstaluje na počítač, na který je potřeba se vzdáleně připojit. se instaluje na hardware bez nainstalovaného operačního systému.

31 Na klientský počítač se nainstaluje Management Software, přes který se připojí ke vzdálenému počítači s nainstalovaným Hypervisorem.

Hostované instance

Hostované instance jsou webové služby, které umožňují pronajmutí zabezpečené, škálovatelné výpočetní kapacity v cloudu. Výhodou těchto služeb je, že si uživatel platí jen to, co potřebuje. Může si vybrat operační systém, velikost pevného disku a další. Je také možné do webové služby nahrát vlastní image operačního systému.

2.3 Způsoby platby

Za služby poskytované poskytovatelem cloudových služeb se dá platit mnoha různými způsoby. V závislosti na způsobech této platby se rozlišuje několik kategorií plateb:

• Podle času: cena závisí na tom, jak dlouho je daná služba využívána • Podle objemu: cena závisí na objemu dané jednotky • Tarif: fixní tarif na určený čas • Podle priority: cena závisí na prioritě dané služby • Podle vzdálenosti: cena závisí na vzdálenosti mezi službou a uživatelem • Podle vytížení: platí se pouze za překročení limitu • Podle seance: závislé na využití v dané seanci • Podle obsahu: závislé na obsahu služby • Podle umístění: závislé na místě, odkud se uživatel připojuje • Podle typu služby: závislé na využití služby • Zdarma: bez placení

2.3.1 Fixní platba

Poskytovatel služby stanoví cenu za využívání prostředků, které ale nemusí být dostatečné a vedou ke snižující se poptávce a snížení příjmů a zisku. Fixní platba zahrnuje mechanismy jako průběžná platba, předplatné a hybridní model.

32 Průběžná platba (anglicky pay-as-you-go): uživatelé platí pouze za to, co používají. Zákazník platí za množství času nebo objem, který spotřebuje. Při tomto modelu jsou si uživatelé vědomi cen dané služby a používání prostředků.

Předplatné: uživatelé platí opakovaně, aby mohli přistupovat k online službě. Uživatel si zaplatí přednastavenou kombinaci služeb za danou cenu a delší časový úsek – nejčastěji měsíc nebo rok.

Hybridní model (průběžná platba a předplatné) je kombinací dvou předešlých modelů. Uživatel si zaplatí daný objem služeb na dané časové období a v případě, že daný objem překročí, je mu účtováno průběžně.

2.3.2 Dynamická platba

Cena je vypočítána na základě platebního mechanismu, kdykoliv je požadavek. V některých případech je cena výpočetních prostředků určena na základě nabídky a poptávky. V porovnání s fixní platbou, dynamická platba představuje lepší strategii platby a umožňuje lépe odhalit potřeby plátce a tím pádem zaručí vyšší zisky poskytovateli služby.

Platba v závislosti na odvětví

Zákazník platí v závislosti na aktuálním dění na jednotlivých trzích. Rozlišují se následující schémata:

• Smlouvání: Cena je odvozena na základě vyjednávání mezi jednotlivými stranami. • Správa výnosů: Nejlepší způsob platby pro maximalizaci zisku je vypočítán na základě aktuálního modelu a předpovědi poptávky. • Aukce: Vyjednávací mechanismus, který umožňuje oběma stranám komunikovat a dohodnout se na dané nabídce. Cena je nastavena a zákazníci přihazují dané částky. • Dynamický trh: V tomto případě prodejci a kupující určí referenční cenu, ale nejsou schopni tuto cenu ovlivnit jako individuální prodejci. (Artan, 2016)

33 3 Modely cloud computingu

Modely cloud computingu se dělí na distribuční modely (anglicky service models) a modely nasazení (anglicky deployment models). Zatímco distribuční modely vypovídají o tom, jaké služby tyto modely poskytují, modely nasazení vyjadřují, jakým způsobem jsou služby poskytovány.

3.1 Distribuční modely

NIST rozlišuje tři základní distribuční modely: Infrastruktura jako služba (IaaS), Software jako služba (SaaS) a Platforma jako služba (PaaS). (Mell, 2011) Ačkoliv NIST zmiňuje pouze tyto tři základní modely, existují další a neustále se nové vyvíjí. Po vysvětlení základních modelů budou některé další zmíněny. Pro rozlišení tří základních modelů budou ke každému modelu přiřazovány tyto čtyři základní vrstvy (Blokland, 2013):

• Hardware – fyzické zařízení (servery, síťová zařízení, úložiště). • Virtualizační prostředí – software, díky němuž je možné vytvořit několik odlišných prostředí v zavilosti na použitém hardwaru. • Platforma – běhové prostředí, ve kterém je možné daný software spustit (.NET, PHP, Apache…). • Aplikace – software pro zákazníka.

3.1.1 Infrastruktura jako služba (IaaS)

Infrastruktura (integrace) jako služba (anglicky Infrastructure as a Service, zkráceně IaaS) nebo někdy také Hardware jako služba (anglicky Hardware as a Service, zkráceně HaaS) je jeden ze základních modelů cloud computingu a bývá často označován jako nejméně rozvinutý. Infrastrukturou se u tohoto modelu rozumí hardware, který si zákazník pronajímá.

• Vlastní: aplikace, platforma • Pronajímané: virtualizace, hardware

34 IaaS umožňuje zákazníkovi pronajmutí zdrojů, jako jsou například (Velte, 2010):

• Server • Síťové vybavení • Paměť • Využití procesoru • Množství uložených dat

Všechny tyto zdroje je možné si pronajmout „jako službu“. Pronajmutí jako službu znamená, že poskytovatel těchto zdrojů zodpovídá za veškerou údržbu. Zákazníka nezajímá, co se stane, když selže pevný disk nebo vypadne elektřina. Zákazník obvykle také neví, kde se konkrétní hardware nachází a pouze jej vzdáleně využívá. U tohoto modelu je všechno nastaveno již od poskytovatele. Zákazník si pouze může vybrat, jaký operační systém se na daném serveru nachází a umístění serveru.

Výhodou tohoto modelu je, že zákazník si platí pouze to, co využívá. Pokud zákazník potřebuje více úložného prostoru, jednoduše si zažádá a je mu za poplatek navýšen. Nemůže se tedy stát, že by si zákazník platil víc, než nakolik službu skutečně využívá. Navíc je možné, aby k danému zařízení bylo připojeno více příjemců najednou.

IaaS se skládá z několika součástí (Velte, 2010):

• SLA smlouva – Tato dohoda mezi poskytovatelem služby a klientem garantuje určitou úroveň výkonu systému. • Počítačový hardware – Komponenty, jejichž zdroje budou využívány a pronajímány. Poskytovatelé mají většinou daný hardware nastavený, aby bylo možné jednoduše upravovat množství poskytovaných služeb. • Nastavení sítě – Hardware pro nastavení firewallu, routery, vyvažování zátěže atd. • Internetové připojení – Nezbytná součást, která umožňuje zákazníkovi vzdálené připojení. • Virtualizační prostředí – Umožňuje klientovi spustit virtuální stroj. • Vyúčtování podle využití – Nastaveno podle toho, jaké množství služeb zákazník využívá.

35 3.1.2 Software jako služba (SaaS)

Software jako služba (anglicky Software as a Service, zkráceně SaaS) nebo Aplikace jako služba (anglicky Application as a Service, zkráceně AaaS) je druhý ze tří základních modelů cloud computingu a pravděpodobně nejvíce využívaný. Tento model spočívá v tom, že software je nainstalovaný na vzdáleném serveru a klient se na něj připojuje. K připojení slouží zpravidla webový prohlížeč nebo tenký klient.

• Vlastní: nic • Pronajímané: aplikace, platforma, virtualizace, hardware

Pro poskytovatele softwaru je tento model výhodný, protože klient si službu pronajímá a platí zpravidla měsíční poplatky. Stejně jako v předchozím případě se zákazník nemusí starat o údržbu a v případě výpadku je na poskytovateli služby, aby funkčnost softwaru opravil.

Nevýhodou tohoto modelu oproti jednorázovému nákupu software je, že služba může z ničeho nic přestat fungovat. Software jednou nainstalovaný na počítač lokálně bude fungovat i v případě, že poskytovatel již nebude software aktualizovat. V případě, že z nějakého důvodu přestane služba poskytovaný poskytovatelem fungovat, hrozí riziko, že klient přijde o všechna svá data a ztratí přistup ke službě za kterou platí pravidelné poplatky.

Důležité tedy je, aby si zákazník vybíral z důvěryhodných poskytovatelů této služby a měl tedy jistotu, že o data, ani o přístup ke službě nepřijde. Pro využití této služby je nezbytné mít kvalitní internetové připojení s nízkou odezvou, jelikož je pravděpodobné, že ke službě se bude připojovat mnoho uživatelů.

Problémy také nastávají v případě, že se zákazník z ničeho nic rozhodne změnit svého poskytovatele SaaS. V případě softwaru nainstalovaném lokálně je zpravidla snadné přejít z jednoho poskytovatele na jiného. Většinou je možné svá data exportovat například do formátu .csv a ta poté importovat do nového softwaru. U SaaS řešení je migrace dat uživatele většinou problematická. Je to z důvodu, že poskytovatelé cloudových služeb nechtějí o zákazníky přijít, a tak neposkytují export dat nebo jej poskytují, ale v netradičních formátu, který není kompatibilní s jiným cloudovým řešením.

36 Existují mnoho typů softwaru, které mohou být realizovány pomocí SaaS řešení. Typicky se jedná o software, který provádí jednoduché úkony a nepotřebuje komunikovat s ostatními systémy. Jako příklad lze uvést (Velte, 2010):

• Správce souborů • Sociální sítě • CRM • Video konference • Správa IT služeb • Účetnictví • Webová analytika • Správa obsahu webu

SaaS řešení se od ostatních odlišují v tom, že jsou vytvářena výhradně pro přístup přes webový prohlížeč nebo tenký klient.

Výhody

Hlavní výhodou SaaS je, že se jedná o levnější řešení než v případě kupování softwaru jednorázově. Poskytovatel služby je schopen nabídnout levnější, spolehlivější řešení, než jaké mohou nabídnout samotné společnosti. Další výhody jsou (Velte, 2010):

• Znalost přístupu na internet – Většina uživatelů této služby je obeznámena s přístupem na internetu a používání nějaké webové aplikace. Díky tomu je přechod na SaaS jednodušší. • Menší počet zaměstnanců – Díky SaaS není potřeba platit tolik techniků, podpory, inženýrů. Poskytovatel SaaS je schopen obsloužit více klientů naráz a není potřeba platit náklady na dopravu techniků do firem apod. • Přizpůsobení – SaaS aplikace jsou zpravidla mnohem lépe přizpůsobitelné než v případě lokálně instalovaných aplikací. • Bezpečnost – S rozmachem bezpečnostních technologií, jako je SSL je možné bezpečné připojení odkudkoliv a odpadá nutnost používat technologie jako je VPN.

37 Nevýhody

Jak již bylo zmíněno, většina SaaS aplikací jsou spíše jednodušší řešení, která nepotřebují komunikovat s ostatními systémy. Organizace, které mají specifické požadavky a vyžadují komplexní řešení budou nuceny zůstat u řešení instalovaných lokálně.

3.1.3 Platforma jako služba (PaaS)

Platforma jako služba (Platform as a Service, zkráceně PaaS) je poslední ze základních modelů cloud computingu. Tento model je vhodný především pro vývojáře aplikací nebo webmastery.

• Vlastní: aplikace • Pronajímané: platforma, virtualizace, hardware

Platformou se v nejjednodušším pojetí rozumí webhosting s nainstalovanými službami jako jsou například MySQL nebo PHP. Není to však jediný příklad a mezi další služby spadající pod PaaS patří (Velte, 2010):

• Design aplikací • Vývoj • Testování • Nasazení • Práce v týmu • Integrace webových služeb • Integrace databáze • Bezpečnost • Škálovatelnost • Úložiště • Verzování

Stejně jako u přechozích modelů je tu riziko, že poskytovatel této služby přestane fungovat a uživatel ztratí veškerá data a přístup ke službě.

38

Obrázek 3: Srovnání distribučních modelů cloud computingu Zdroj: CloudFlare 2018, vlastní zpracování

3.1.4 Databáze jako služba (DaaS)

Databáze jako služba (anglicky Database as a Service, zkráceně DaaS) je jeden z dalších modelů cloud computingu. Jak název napovídá, tento model spočívá v pronajmutí databáze.

Výhody tohoto modelu jsou následující (Velte, 2010):

• Jednoduchost používání – Není potřeba kontrolovat servery a spravovat další systémy. Klient se nemusí zabývat nákupem, instalací a udržováním databáze. • Výkon – Databáze není umístěna lokálně, ale to neznamená, že není výkonná a efektivní. V závislosti na poskytovateli je možné získat validaci dat pro zajištění přesných informací. • Integrace – Databáze je snadno spárovatelná s ostatními službami. Je možné ji propojit s kalendářem, e-mailem a pracovat efektivněji. • Správa – Velké databáze je třeba často spravovat a optimalizovat. Některá DaaS řešení nabízí tyto služby již v ceně a levněji.

3.1.5 Kov jako služba (MaaS)

Kov jako služba (anglicky Metal as a Service, zkráceně MaaS) je relativně nový model cloud computingu, jehož službou je pronajmutí „kovu“. Kovem se v tomto případě myslí fyzický 39 server. Výhodou tohoto modelu je, že klient si může svůj server upravit. Server nicméně nemusí mít fyzicky u sebe. Je možné tento server vzdáleně ovládat a posílat na něj příkazy pro zapnutí/vypnutí, restart nebo přístup do BIOSu.

3.1.6 Funkce jako služba (FaaS)

Funkce jako služba (anglicky Function as a Service, zkráceně FaaS) je novinka v oblasti cloud computingových modelů. FaaS nabízí platformu pomocí které mohou zákazníci vyvíjet, spouštět a spravovat aplikace bez nutnosti spravovat vývoj a údržbu infrastruktury, která je mnohdy s vývojem a spouštěním dané aplikace spojená. (Roberts, 2018)

Takzvaná bezserverová architektura (anglicky serverless computing) může být dosažena i pomocí PaaS služeb. Tyto služby jsou nicméně velmi rozdílné ve způsobu jejich implementace. Ve většině PaaS služeb jsou tyto služby spuštěny neustále a běží na nich alespoň jeden proces na serveru. U FaaS systémů jsou funkce spouštěny v závislosti na požadavku aplikace v řádech milisekund. Rozdíl je nejvíce viditelný u způsobu platby za tyto služby. Zatímco u PaaS se platí za čas, po který je daný server spuštěný, u FaaS se platí za jednotlivé spuštěné úkony. Výhodou FaaS je, že při nečinnosti se neplatí. (Avram, 2016)

3.1.7 Úložiště jako služba (SaaS)

Úložiště jako služba (anglicky Storage as a Service, zkráceně SaaS) umožňuje využívat úložiště, které je dostupné na nějakém vzdáleném umístění, ale je ve skutečnosti využíváno místními aplikacemi, jenž vyžadují přístup k úložišti. Jedná se o nejjednodušší součást cloud computingových modelů a většina ostatních modelů zmíněných v této kapitole jej již zahrnuje. Oproti kupování vlastního místního úložiště má SaaS několik výhod:

• Jednoduché rozšiřování/omezování diskového místa podle potřeby. • Není potřeba udržovat hardware. O údržbu a opravy poškozených disků se stará poskytovatel. • Poskytovatel služby také zajišťuje zálohu dat v případě selhání disku. Není tedy potřeba uložená data ručně zálohovat, vše je součástí služby. (Linthicum, 2016)

40 3.1.8 Informace jako služba (IaaS)

Informace jako služba (anglicky Information as a Service, zkráceně IaaS) umožňuje klientovi získávat vzdáleně hostované informace skrze nakonfigurované prostředí jako je API. Příkladem mohou být informace o akciích, ověření adres nebo registr dlužníků.

3.2 Modely nasazení

NIST rozlišuje čtyři základní typy modelů nasazení: veřejný cloud, privátní cloud, hybridní cloud a komunitní cloud. Stejně tak jako u distribučních modelů existují ještě některé další modely, které ovšem nejsou tolik běžné a z tohoto důvodu nebudou v této práci dále vysvětlovány.

3.2.1 Veřejný cloud

Jedná se o veřejné služby, které jsou dostupné každému na vyžádání. Jsou dostupné buď zdarma nebo je možné si zaplatit větší úložiště nebo výpočetní výkon. Výhodou veřejné cloudu je, že firmy nemusí vynakládat náklady na infrastrukturu, nákup, správu a údržbu. Za veškeré tyto činnosti je zodpovědný poskytovatel dané cloudové služby. Veřejné cloudy mohou být zprovozněny velmi rychle a snadno s velmi nízkými nebo žádnými náklady. Jsou velmi dobře škálovatelné a dostupné pro všechny. Často zmiňovaným rizikem je otázka bezpečnosti. Při správném použití a dodržení postupu je však možné veřejný cloud zabezpečit stejně dobře jako nejlepší privátní implementaci. (Microsoft, 2018)

Výhody veřejného cloudu:

• Nižší ceny a nenutnost údržby – snížení potřeby organizací investovat a udržovat vlastní IT zdroje ve vlastních prostorách. • Neomezená škálovatelnost – je vysoce škálovatelný a díky tomu zvládá nápor a požadavky uživatelů. • Efektivita – snižuje počet promarněných IT zdrojů, protože zákazník si platí pouze za zdroje, které využívá.

41 Veřejný cloud je plně virtualizované prostředí. Poskytuje multiuživatelskou architekturu, která umožňuje uživatelům sdílet výpočetní prostředky. Data jednotlivých uživatelů jsou oddělena od ostatních uživatelů. Veřejný cloud také spoléhá na vysokorychlostní připojení k internetu, které zajišťuje rychlý přenos dat. Úložiště veřejného cloudu jsou obvykle naddimenzované. Používají několik datových center a důsledně zálohují jednotlivé verze souborů. Z tohoto důvodu jsou považovány za velmi robustní a spolehlivé. (Rouse, 2017)

3.2.2 Privátní cloud

Privátní cloud zahrnuje výpočetní prostředky, které jsou využívány výhradně jednou společností. Privátní cloud bývá obvykle umístěný v datacentru dané organizace nebo může být hostován třetí stranou. Služby a infrastruktura u privátního cloudu jsou vždy spravovány v privátní síti a hardware a software poskytovatele je poskytován výhradně jedné organizaci.

Společnost má širší možnosti přizpůsobení výpočetních prostředků svým vlastním IT potřebám. Privátní cloudy jsou obvykle využívány státní správou, finančními institucemi nebo jakoukoliv společností, jenž usiluje o rozšířenou kontrolu nad svými výpočetními prostředky.

Výhody privátního cloudu

• Větší flexibilita – společnost si může přizpůsobit cloudové prostředí k dosažení svých cílů. • Lepší bezpečnost – prostředky nejsou sdíleny s ostatními a je možné dosáhnout vyšší úrovně kontroly a zabezpečení. • Vysoká škálovatelnost – privátní cloudy jsou, stejně jako veřejné cloudy, vysoce škálovatelné a efektivní. (Microsoft, 2018)

3.2.3 Hybridní cloud

Hybridní cloud je kombinací veřejného a privátního cloudu. Veřejný cloud je většinou využíván pro objemná data a nižší potřebu bezpečnosti pro provoz např. webového e-mailu a privátní cloud pro citlivá a pro firmu kritická řešení jako jsou finanční reporty. 42 V hybridním cloudu je možné přesouvat data a aplikace mezi privátním a veřejným cloudem a tím zajistit větší flexibilitu a více možností pro nasazení.

Pro zajištění hybrid cloudu je nezbytné mít k dispozici:

• IaaS poskytovatele • Privátní cloud (vlastní nebo hostovaný) • WAN spojení mezi těmito dvěma prostředími (Rouse, 2018)

Výhody hybridního cloudu

• Kontrola – organizace si může ponechat privátní infrastrukturu pro citlivá data. • Flexibilita – je možné využít dodatečné výpočetní prostředky ve veřejném cloudu, když jsou potřeba. • Cenová efektivita – s možností škálovatelnosti veřejných cloudů je možné platit za dodatečný výpočetní výkon pouze, když je to potřeba. • Jednoduchost – přesun do cloudu nemusí být obtížný, protože je možné jednotlivé komponenty přesouvat postupně. (Microsoft, 2018)

3.2.4 Komunitní cloud

Komunitní cloud je zvláštní případ veřejného cloudu, který má nastavené úrovně bezpečnosti a soukromí. Tento model cloud computingu je zaměřen na komunitu, která je rozprostřená mezi několik společností, které pracují na stejné platformě a mají podobné potřeby a možnosti.

43 3.3 Shrnutí výhod a nevýhod cloud computingu

Cloud computing se v dnešní době velmi rychle vyvíjí a společnosti různých velikostí se snaží této technologii přizpůsobit. Experti z dané oblasti očekávají, že tento trend bude i nadále pokračovat. Ačkoliv je cloud computing bezpochyby velmi nápomocný středním a velkým podniků, u menších společností mohou nastat problémy. Tato kapitola uvádí shrnutí výhod a nevýhod cloud computingu jako celku.

3.3.1 Výhody

Mezi výhody cloud computingu patří především:

• Nižší náklady • Bezpečnost • Flexibilita • Mobilita • Zpracování dat • Zlepšení kolaborace • Kontrola kvality • Obnovení dat • Prevence ztráty dat • Automatické aktualizace softwaru • Konkurenční výhoda • Udržitelnost

Nižší náklady

Většina společností se bojí prvotních nákladů na nasazení cloud computingu, avšak nezohledňují návratnost nákladů. Pokud společnost přejde do cloudu, pak má snadný přístup k datům, a to šetří čas a peníze. Jak již bylo zmíněno, řada služeb funguje jako pay-as-you- go, takže společnost platí pouze za to, co využívá. Tento systém se také vztahuje na datová úložiště, u kterých zákazník získá přesně tolik prostoru, kolik si zaplatí. Všechny tyto faktory zajistí nižší náklady a vyšší příjmy. 44 Bezpečnost

Jedna z velkých obav většiny společností, které uvažují o přechodu do cloudu, je bezpečnost. Zajímá je problematika zabezpečení jejich souborů, programů a dalších dat, které již nebudou instalovány/uchovány lokálně.

Výhodou poskytovatelů cloudových služeb je, že jedním z jejich úkolů je neustále monitorovat bezpečnost jejich poskytovaných služeb a tím pádem jsou mnohem efektivnější, než kdyby to samé musel dělat správce daných výpočetních prostředků v místě organizace. Společnost by se musela nejen zřízením serveru pro ukládání svých dat, ale zároveň zajistit, aby data byla v bezpečí. Společnosti si často ani neuvědomují, že je možné, aby jejich místě uložená data někdo ukradl, nicméně pravda je, že většina krádeží dat se děje právě v místě organizace, a to často i vlastními zaměstnanci.

Důvodem, proč je cloud computing bezpečnější je, že využívá šifrování a tím pádem je pro hackery mnohem složitější se k datům dostat. U většiny poskytovatelů je navíc možné dále určit s kým budou data sdílena.

Flexibilita

Společnost si musí uvědomit, že má pouze určité množství prostředků a musí být schopná je rozdělit mezi všechny své povinnosti. Pokud se příliš zabývá IT řešeními a problematikou umístění dat, potom nemá dostatek prostoru soustředit se na dosažení svých dlouhodobých cílů a uspokojení potřeb zákazníků. Když se nicméně rozhodne, že starost o svá IT řešení a infrastrukturu předá do rukou externí organizace, bude mít více času se věnovat hlavním cílům svého businessu.

Cloudová řešení nabízejí společnostem více flexibility než řešení umístěná lokálně. Pokud je potřeba navýšit diskový prostor, cloudový poskytovatel je schopen tento požadavek okamžitě poskytnout a není potřeba kupovat další drahý hardware do společnosti. Tato změna poskytne zvýšení efektivnosti a flexibility.

45 Mobilita

Většina poskytovatelů cloudových služeb umožňuje ke svým službám přístup z mobilních zařízení. Jelikož se v dnešním světě používá více než 2,6 miliard mobilních zařízení, je to dobrá cesta pro uspokojení potřeb všech klientů. Pracovníci, kteří mají plné kalendáře nebo pracují daleko od své kanceláře se mohou spolehnout, že jim tyto služby zajistí neustálé spojení se svými spolupracovníky a klienty. Přes cloud je možné zajistit pohodlný přístup k informacím pro pracovníky, kteří často cestují nebo ty, kteří pracují ze vzdáleného místa.

Zpracování dat

Mnoho poskytovatelů cloudových služeb poskytují řešení pro integrovanou analýzu dat. S daty uloženými v cloudu je možné implementovat různé mechanismy a přizpůsobit výstupy k analýze informací v organizace. Z těchto výstupů je možné zvýšit efektivnost a navrhnout plány k dosažení cílů organizace.

Zlepšení kolaborace

Kolaborace mezi zaměstnanci je priorita každé společnosti. Zaměstnanci, kteří mezi sebou nekomunikují nemají smysl. Díky cloud computingu je možné jednoduše mezi pracovníky spolupracovat. Členové týmu mohou zobrazit a sdílet informaci jednoduše a bezpečně skrze cloudovou platformu. Někteří poskytovatelé dokonce nabízí místa pro sociální sdílení, kde se zaměstnanci schází a tím se zvyšuje zájem a angažovanost. Spolupráce bez cloudu je sice možná, ale nikdy nebude tak efektivní a jednoduchá.

Kontrola kvality

Málo věcí je tak důležitých pro zajištění úspěchu podniku, jako je kvalita. V cloudovém systému jsou všechny dokumenty ukládány na jednom místě a v jednom formátu. Každý má přístup ke stejným informacím a díky tomu je možné zajistit konzistenci dat, předcházet lidské chybě a mít jasný přehled o revizích nebo aktualizacích. Na druhou stranu, pokud by zaměstnanci ukládali svá data samostatně, hrozí riziko ukládání různých verzí dokumentu do jiných umístění, které vede k nejasnostem a roztříštěným datům.

46 Obnovení dat

Jeden z faktorů, který vede k úspěchu podniku je kontrola. Bohužel, ať je organizace sebeopatrnější, jsou zde události, které nemůže předpokládat. V dnešní době i krátký čas výpadku systému může vést k velkým škodám. Tyto výpadky vedou ke ztracené produktivitě, zisku a reputaci značky. Ačkoliv nemusí být možné tyto události předpovídat nebo jim zabránit, je možné urychlit jejich nápravu. Cloudové služby poskytují rychlou obnovu dat pro různé situace jako jsou přírodní katastrofy nebo výpadky proudu.

Prevence ztráty dat

Pokud firma nepoužívá cloudová řešení, pak všechna důležitá data skladuje na místních počítačích ve svých prostorách. Z počátku se to nemusí jevit jako problém, nicméně v reálu hrozí, že při problému s hardwarem může dojít k trvalé ztrátě dat. Může se tak stát z různých příčin – nakažení virem, opotřebení starého hardwaru nebo chybě uživatele. Hardware se také může někde ztratit nebo jej mohou pracovníci ukrást. V případě ukládání dat lokálně hrozí ztráta důležitých informací. V případě použití cloudového řešení jsou všechny informace v bezpečí a jsou jednoduše přístupné z jakéhokoliv zařízení s připojením na internet.

Automatické aktualizace softwaru

Pro většinu zaměstnanců jsou aktualizace softwaru velmi otravnou záležitostí. Je potřeba počkat, než se aktualizace nainstalují a poté restartovat počítač. Cloudové aplikace se nicméně obnovují a aktualizací samy a IT oddělení tedy nejsou nucena provádět ruční aktualizace v podniku. Díky tomu je možné ušetřit peníze za čas strávený aktualizacemi a zaškolováním.

Konkurenční výhoda

Ačkoliv cloud computing získává na popularitě, stále existují společnosti, které preferují ukládat svá data lokálně. Je to na rozhodnutí každé firmy, nicméně oproti společnostem, které již cloud computing adoptovali, je to pro ně nevýhoda. Implementace cloud computingu před svými konkurenty zabezpečí větší znalost zaměstnanců těchto systémů.

47 Udržitelnost

Vzhledem k současnému stavu životního prostředí již nestačí, aby organizace třídily odpad a tvrdily, že tím pomáhají planetě. Skutečná udržitelnost vyžaduje řešení zohledňující plýtvání na všech úrovních businessu. Hostování v cloudu je více shovívavé k životnímu prostředí a vede k méně uhlíkovým stopám.

Cloudová infrastruktura podporuje aktivity, které prospívají životnímu prostředí, pohánějí virtuální služby na rozdíl od fyzických produktů a hardwaru a snižují plýtvání s papírem, zlepšují efektivnost a díky přístupu odkudkoliv snižují emise související s dojížděním. (, 2018)

3.3.2 Nevýhody

Mezi nevýhody cloud computingu se řadí zejména:

• Výpadky • Bezpečnost a soukromí • Náchylnost k útokům • Závislost na poskytovateli • Omezená kontrola

Výpadky

Výpadky jsou často uváděny jako jeden z největších problémů cloud computingu. Jelikož jsou cloudové služby závislé na připojení k internetu, je tu vždy riziko, že dojde k výpadku tohoto připojení, ať už je to z jakýchkoliv důvodů.

Bezpečnost a soukromí

Cloud computingové systémy zpracovávají data a tím pádem je zapotřebí zabezpečit, aby tato citlivá data byla v bezpečí. Za bezpečnost by měl být zodpovědný poskytovatel cloudové služby, nicméně je na zákazníkovi, aby se ujistil, zdali tomu tak skutečně je.

48 Náchylnost k útokům

Všechny komponenty cloudových systémů jsou dostupný online a tím pádem jsou také náchylné k útokům. (Larkin, 2018)

Závislost na poskytovateli

Ačkoliv poskytovatelé cloudových služeb uvádí, že jejich služby jsou flexibilní a jednoduše migrovatelné, realita je většinou jiná. Přechod z jednoho poskytovatele na jiného je často problém a je to něco, co se stále vyvíjí. Změna poskytovatele se může setkat s problémy typu špatný formát dat, nekompatibilita systémů a v neposlední řadě problémy s uživatelskou podporou.

Omezená kontrola

Cloudová infrastruktura je celá ve vlastnictví poskytovatele cloudové služby a je jím spravována a monitorována. Z tohoto důvodu má zákazník velmi omezenou kontrolu nad svými daty. Zákazník může spravovat pouze aplikace, data a služby, které sám na tento cloud nahrál, a ne výpočetní prostředky díky kterým je to umožněno. Klíčové administrátorské úkony jako je například přístup k serverovému terminálu nebo aktualizování firmwaru zařízení nemusí být nutně umožněno koncovému zákazníkovi. (LevelCloud, 2018)

Stejně jako všechno, i cloud computing má své výhody a nevýhody. Tato technologie může společnostem velmi usnadnit život, ale může také způsobit škody, pokud není používána správně. V tomto případě však výhody převažují nevýhody a z tohoto důvodu mnoho společností přechází do cloudu.

49 4 Možnosti využití cloud computingu

Následující kapitola se zabývá rozhodováním podniku o parametrech cloudového řešení. V první části jsou srovnána řešení pronajmutí infrastruktury v cloudu a místní infrastruktury, následně je vybrán poskytovatel cloudových služeb a v poslední části již výběr konkrétního řešení pro daný podnik.

4.1 Infrastruktura

Prvním krokem, který je potřeba zvážit je, zdali se podnik rozhodne vytvořit vlastní místní infrastrukturu (anglicky on-premises) nebo využije pronajmutí infrastruktury v cloudu.

Tabulka 1: Srovnání infrastruktury v cloudu a místní infrastruktury Infrastruktura v cloudu Místní infrastruktura Provozní náklady Nízké provozní náklady Náklady na hardware, serverovnu, napájení, chlazení… Náklady na instalaci Nízké náklady na instalaci Náklady na zaplacení obslužného personálu Údržba a aktualizace Aktualizace softwaru jsou Náklady na zaplacení obslužného spravovány poskytovatelem personálu cloudových služeb Zálohy a obnovení Závislost na internetovém Náklady na zavedení redundance připojení. Většina poskytovatelů dat. poskytuje spolehlivou redundanci dat. Zdroj: SearchUnifiedCommunications, 2013

Místní infrastruktura poskytuje větší kontrolu nad vlastním serverem, nicméně jedná se o nákladnější řešení, které vyžaduje i vlastní údržbu. Je potřeba platit hardwarové vybavení, softwarové licence a mít ošetřenou možnost selhání hardwaru. Dále je potřeba počítat s dalšími náklady, které mohou nastat při nákupu dalších výpočetních prostředí v případě, že je potřeba infrastrukturu rozšířit nebo zajistit kompatibilitu s nejnovějšími aplikacemi.

V případě infrastruktury v cloudu se i při pohledu na srovnávací tabulku jedná o lepší řešení. Uživateli jsou dostupné všechny serverové nástroje bez nutnosti platit vlastní hardware, softwarové licence nebo opravy poškozeného hardwaru. Zákazník nemusí řešit výpadky vlastních serverů a může si v případě potřeby upravovat jednotlivé parametry infrastruktury podle potřeby. (Vexxhost, 2018)

50 Vzhledem k výše uvedeným důvodům bude podnik realizovat cestu pronajmutí infrastruktury v cloudu a v další části diplomové práce bude vybrána konkrétní služba, která takový produkt poskytuje. Jinými slovy bude zaměřena na výběr IaaS poskytovatele.

4.2 Poskytovatelé cloudových služeb

V této kapitole budou zmíněni tři největší poskytovatelé služeb, kteří nabízejí pronajmutí výpočetních prostředků v cloudu. Následně z nich bude jeden vybrán a na tento cloud bude nasazeno řešení jevící se jako nejvhodnější pro daný podnik.

Využití veřejných cloudů

AWS 64% 16% 8%

Azure 45% 22% 9%

Google Cloud 18% 23% 15%

Využívá Experimentuje Plánuje využívat

Obrázek 4: Využití veřejných cloudů Zdroj: Rightscale 2018, vlastní zpracování

4.2.1 Amazon Web Services

Amazon Web Services (zkráceně AWS) je jeden z předních poskytovatelů cloudových služeb. Nabízí různé služby v několika geografických oblastech, které si může zákazník podle svých potřeb zvolit. AWS se zaměřuje na různé služby jako jsou infrastruktura, sítě, úložiště, databáze, zabezpečení a mnoho dalších. AWS nabízí platební model podle používání a s tím se pojící výhody s platbou pouze za používané služby.

51 AWS je příkladem modelu Infrastruktura jako služba. Uživatel si může pronajmout výpočetní výkon v cloudu. AWS byl založen v roce 2006. Postupem času rostl a dnes nabízí své služby ve 190 zemích světa. Svá data centra má ve Spojených státech, Evropě, Brazílii, Singapuru, Japonsku a Austrálii. (Gulabani, 2018)

Výpočetní výkon

Elastic Compute Cloud (zkráceně EC2) je vlajkovou lodí AWS a nabízí webové prostředí umožňující uživateli vytvářet a spravovat výpočetní prostředky v cloudu. Nabízí škálovatelné výpočetní stroje s minimální nutnou konfigurací.

Velkou výhodou AWS je, že poskytuje tzv. Free Tier pro prvních 12 měsíců od založení účtů. Tato Free Tier umožňuje nově založenému účtu na AWS využívat některé služby kompletně zdarma. Firma tak má možnost si dané řešení vyzkoušet a v případě, že s ním není spokojena, přejít na jiného poskytovatele bez nutnosti cokoliv platit.

AWS Free Tier nabízí mimo jiné tyto služby zdarma:

• Amazon EC2: 750 hodin měsíčně využití instance typu t2.micro s operačním systémem Amazon Linux, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Ubuntu Server nebo Microsoft Windows Server. Tyto instance jsou poskytovány s 1 GB paměti a s podporou 32 a 64-bitové platformy. Dostatek hodin pro nepřetržitý běh instance po celý měsíc.

Obrázek 5: Ukázka zdarma dostupných AMI Zdroj: vlastní

52 t2.micro instance poskytuje následující výpočetní výkon: 1 vCPU, 2.5 GHz, Intel Xeon, 1 GB paměti, EBS disk

• Amazon Relational Database Service (zkráceně RDS): 750 hodin měsíčně využití databázové instance typu t2.micro. Na těchto databázových instancích lze provozovat databázová řešení MySQL, MariaDB, PostgreSQL, Oracle BYOL nebo SQL Server Express Edition. Dostatek hodin pro nepřetržitý běh databázové instance po celý měsíc. Zároveň je poskytováno 20 GB úložného prostoru pro databázi a 20 GB úložného prostoru pro zálohy.

Obrázek 6: Detaily o vybrané databázi Zdroj: vlastní

: 5 GB standardního objektového úložiště. 20 000 Get požadavků a 2 000 Put požadavků.

Obrázek 7: Detaily o založeném kyblíku Zdroj: vlastní

53 4.2.2

Microsoft Azure je druhým z nejpoužívanějších veřejných cloudů. Azure je dostupný ve 42 regionech na celém světě. Microsoft oznámil, že dalších 12 regionů bude brzo dostupných. Microsoft je také prvním poskytovatelem cloudových služeb, který vybudoval výpočetní kapacity na africkém kontinentu, z čehož jsou dva umístěné v Jižní Africe. Azure nabízí několik oblastí, jako například Severní Evropa (Dublin, Irsko) nebo Západní Evropa (Amsterdam, Nizozemsko).

Služba Azure byla oznámena v říjnu roku 2008 a začala s kódovým označením „Project Red Dog“. Spuštěna byla 1. února 2010 pod názvem Windows Azure. Na současný název Microsoft Azure byla přejmenována 25. března 2014.

Stejně jako Amazon Web Services, i Windows Azure nabízí služby pro vytváření, testování a spravování aplikací, služby pro pronajmutí výpočetního výkonu, úložiště a databáze. Celkem Microsoft uvádí 600 poskytovaných služeb.

Výpočetní výkon

Ekvivalentem k Elastic Cloud 2 je služba Virtual Machines, která přináší podporu pro operační systém Linux, Windows Server, SQL Server, Oracle, IBM a SAP.

Microsoft také nabízí své služby v omezené míře zdarma. Při založení účtu uživatel získá kredit ve výši 200 dolarů, které je možné použít na zaplacení poskytovaných služeb. Prvních 12 měsíců nabízí některé služby kompletně zdarma.

Výběr služeb poskytovaných zdarma:

• Azure Virtual Machines: 750 hodin využití Azure B1S General Purpose Virtual Machines pro Microsoft Windows Server nebo Linux Azure B1S instance poskytuje následující výpočetní výkon: 1 vCPU, 1 GB pamět, SSD disk Microsoft u tohoto typu instance neuvádí typ procesoru.

54

Obrázek 8: Detaily o instanci Zdroj: vlastní

• Azure SQL Database: 250 GB SQL Databáze instance typu S0 s 10 databázovými transakcemi

Obrázek 9: Detaily o SQL databázi Zdroj: vlastní

• Azure Blob Storage: 5 GB úložného prostoru se 2 miliony operací čtení a 2 miliony operací zápisu (Azure, 2018)

Obrázek 10: Vytvořený Azure Blob kontejner Zdroj: vlastní

55 4.2.3 Google Cloud

Platforma Google Cloud je třetí nejpoužívanější poskytovatel cloudových služeb. Jedná se o skupinu cloudových služeb, které běží na stejné infrastruktuře jako produkty od Googlu – například Google Search nebo YouTube.

Google Cloud poskytuje své služby v oblasti poskytování výpočetního výkonu, ukládání dat a pronajmutí databáze v cloudu. V dubnu roku 2008 Google oznámil službu App Engine, což je platforma pro vytváření a hostování webových aplikací. Tato služba byla první z cloudových služeb od Googlu a pro veřejnost byla poprvé dostupná v listopadu roku 2011. Od oznámení této služby Googlu přidal řadu dalších cloudových služeb.

Google Cloud je dostupný v 17 regionech a 52 zónách. Google má svá centra například v Kanadě, USA, Brazílii, Finsku, Londýně, Japonsku nebo Singapuru. V roce 2018 plánuje přidat sídla ve Švýcarsku, Japonsku a Hong Kongu.

Výpočetní výkon

Pro výpočetní výkon existuje v Google Cloud služba s názvem Google Compute Engine. Nabízí virtuální stroje, na kterých je možné provozovat operační systémy Linux, Windows Server nebo si vytvořit vlastní obraz disku.

Google Cloud také nabízí Free Tier, stejně jako jeho konkurenti. Google poskytuje nově registrovaným uživatelům kredit v hodnotě 300 dolarů, který je možné použít k zaplacení jakékoliv služby. Kromě toho poskytuje v omezené míře služby, které jsou zdarma i po uplynutí prvních 12 měsíců od registrace.

Služby, které jsou dostupné zdarma (až na Google Cloud SQL jsou poskytovány zdarma i po uplynutí prvních 12 měsíců od registrace):

• Google Compute Engine 1 mikro instance virtuálního stroje typu f1 za měsíc 1 vCPU, 0,60 GB paměti Ani Google ve své dokumentaci neuvádí typ procesoru.

56

Obrázek 11: Vytvoření instance v Google Compute Engine Zdroj: vlastní

• Google Cloud SQL Relační databázi v cloudu Google neposkytuje zdarma, nicméně je za její používání možné použít kredit, který byl získán pomocí registrace.

Obrázek 12: Vytvořená SQL databáze Zdroj: vlastní

57 • Google 5 GB úložiště každý měsíc 5 000 zápisů typu A každý měsíc 50 000 zápisů typu B každý měsíc (Google Cloud, 2018)

Obrázek 13: Vytvořený kyblík Zdroj: vlastní

4.2.4 Výběr poskytovatele

Všechny uvedené služby byly vyzkoušeny v rámci Free Tier. Pro potřeby této diplomové práci by byli vhodní všichni tři poskytovatelé. Autorovi práce se nicméně nejlépe pracovalo s řešením od Amazonu a z tohoto důvodu bude v dalších kapitolách práce použito toto řešení. U ostatních poskytovatelů by popsané kroky vypadaly obdobně.

Pro přehlednost tabulka níže uvádí jednotlivé typy služeb – výpočetní výkon, relační databáze a objektové úložiště – a k nim náležící produkty od všech tří největších poskytovatelů cloudových služeb.

Tabulka 2: Srovnání produktů jednotlivých poskytovatelů Typ služby Amazon Web Services Microsoft Azure Výpočetní výkon Amazon EC2 Azure Virtual Machines Google Compute Engine Relační databáze Amazon RDS Azure SQL Database Google Cloud SQL Objektové úložiště Amazon S3 Azure Blob Storage Zdroj: vlastní

58 4.3 Poskytovatelé cloudových řešení

Tato kapitola popisuje rozhodování podniku o konkrétním cloudovém řešení na základě vytyčených požadavků. Nejdříve uvádí jednotlivé funkce a vlastnosti požadované podnikem. Poté jsou popsány funkce třech vybraných řešení. Následně jsou tyto produkty srovnány a je vybrán jeden produkt k realizaci. Podnik požaduje od cloudového řešení následující parametry:

• Open source: Podnik vyžaduje, aby bylo řešení poskytováno s otevřeným zdrojovým kódem. Je to zejména z důvodu, aby v případě potřeby mohl zdrojový kód upravovat vlastním potřebám. Dále také z hlediska bezpečnosti, jelikož produkt se širokou uživatelskou základnou je vystavěn lepší analýze kódu od odborníků a komunity. Zvyšuje se tak šance, že by byla objevena potenciální bezpečnostní chyba. • Aktivní vývoj: Produkt by měl aktivně vyvíjen a vývojáři by měli být schopni reagovat na nejnovější bezpečnostní rizika. Zároveň by měl produkt být flexibilní, co se týče zpětné vazby od uživatelů a implementaci nových funkcí. • Vlastní hostování: Dané řešení musí nabízet možnost vlastního nasazení na privátní cloud. Z tohoto důvodu není možné uvažovat služby jako je Dropbox, , OneDrive apod. • Šifrování: Data uložená na daném úložišti musí být šifrována. • Kolaborace: Kromě ukládání dat je potřeba, aby produkt nabízel služby pro kolaboraci s kolegy. Může se jednat například o sdílené kalendáře, video hovory, chat, to-do poznámky a další. • Mobilní aplikace: Produkt musí nabízet aplikaci pro mobilní zařízení. • Jazyk: Jazykem by měla být ideálně čeština, ale jelikož většina služeb tento jazyk nenabízí, tak postačí angličtina. • Operační systém Linux: Serverová část aplikace musí být dostupná pro server s operačním systémem Linux (konkrétně Ubuntu).

59 4.3.1 Seafile

Cloudové úložiště a platforma pro synchronizaci dat umožňuje ukládat soubory a data na centrálním serveru a synchronizovat je mezi počítači a mobilními zařízeními. Seafile synchronizuje data mezi Seafile serverem a Seafile klient aplikacemi. Tyto aplikace je možné nainstalovat na notebooky, desktopy, smartphony nebo tablety.

Seafile server je dostupný pro operační systémy Linux, Raspberry Pi a Windows. Seafile klient aplikace jsou dostupné pro Windows, Mac OS X, Linux, Android a iOS. Kromě používání Seafile klientů je možné pro přístupu k souborům a datům uložených na Seafile serveru využít i webové prostředí.

Seafile umožňuje vytvářet knihovny a do nich nahrávat a organizovat soubory. Každá knihovna může být synchronizována zvlášť. Při synchronizaci souborů Seafile detekuje konflikty a přenáší pouze nesynchronizovaná data. Nedochází tak ke zbytečnému vytěžování internetového připojení. Přes Seafile je možné synchronizovat data s dvěma nebo více servery a jejich přenášení může být opětovně spuštěno.

• Operační systém: Linux, Raspberry Pi, Windows • Programovací jazyk: C, Python • Desktopový klient: Ano (Windows, Mac OS X, Linux) • Mobilní klient: Ano (Android, iOS) • Placená podpora: Ano (Professional Edition) • Licence: GPLv3 (komunitní edice) (Seafile, 2018)

Obrázek 14: Prostředí Seafile Zdroj: vlastní 60 4.3.2 ownCloud

Pomocí produktu ownCloud je možné na server ukládat soubory, složky, kontakty, kalendáře a další. K datům lze přistupovat přes mobilní klienty, desktop nebo webový prohlížeč. ownCloud podporuje synchronizaci dat na operačních systémech Windows, Mac OS X, Linux, Android a iOS.

K ownCloud serveru je zároveň možné přidat externí úložiště jako je například Dropbox, SWIFT, FTP, Google Drive, Amazon S3 nebo třeba externí WebDAV server. ownCloud nabízí verzování souborů a umožňuje v případě nutnosti obnovit předešlé verze dokumentů nebo třeba omylem smazané soubory.

Přes přehled aktivit je možné sledovat historii akcí na ownCloud serveru. Například je možné vidět notifikace, když někdo sdílí soubory nebo když jsou vytvořeny, změněny nebo smazány.

• Operační systém: Linux, Windows • Programovací jazyk: PHP, Javascript • Desktopový klient: Ano (Windows, Mac OS X, Linux) • Mobilní klient: Ano (Android, iOS) • Placená podpora: Ano (Enterprise Edition) • Licence: AGPLv3 (ownCloud, 2018)

Obrázek 15: Prostředí ownCloud Zdroj: vlastní

61 4.3.3 Nextcloud

Nextcloud je následovník produktu ownCloud, od které se v roce 2016 oddělil, a který sdílí většinu stejných funkcí. Nextcloud láká zákazníky na svou vysokou zabezpečenost a dodržování předpisů. Disponuje HIPAA a GDPR kompatibilitou a nabízí důsledné zacházení s daty včetně šifrování, správy uživatelů a prostředky pro audit. Zároveň šifruje data během přenosu a mimo něj a je kompatibilní se správou mobilních zařízení a autentizačních mechanismů (včetně LDAP/AD, Single-Sign-On a dvoufázové autentizace).

Nextcloud soubory jsou uloženy ve standardní souborové struktuře a lze k nim přistupovat přes protokol WebDAV. Nextcloud umožňuje synchronizaci souborů s klienty na operačních systémech Windows, OS X, Linux, Android a iOS. Nextcloud server je na rozdíl od výše zmíněných řešení dostupný pouze pro operační systém Linux.

Nextcloud dále nabízí funkcionality jako je třeba textový editor ve webovém prostředí, služby záložek, zkracovač URL adres, galerii nebo čtečku RSS. Jako další rozšíření lze zmínit napojení na Dropbox, Google Drive a Amazon S3.

• Operační systém: Linux • Programovací jazyk: PHP, Javascript • Desktopový klient: Ano (Windows, Mac OS X, Linux) • Mobilní klient: Ano (Android, iOS) • Placená podpora: Ano (Enterprise Edition) • Licence: AGPLv3 (Nextcloud, 2018)

Obrázek 16: Prostředí Nextcloud Zdroj: vlastní 62 4.3.4 Zdůvodnění výběru

Vzhledem ke stanoveným kritériím podniku byla vybrána služba Nextcloud. Oproti konkurenci je plně open source, má nejaktivnější vývoj, nabízí nejvíce kolaborativních funkcí a je snadno rozšiřitelná o další aplikace. Přehled jednotlivých kritérií u jednotlivých řešení nabízí tabulka níže.

Tabulka 3: Porovnání možností cloudových služeb Operační Open Poslední Mobilní Šifrování Kolaborativní Možnost systém source aktualizace aplikace na straně funkce rozšíření Linux (k 12. 9. 18) uživatele Seafile Ano Z části Před 5 dny Ano Ano Ne Ne ownCloud Ano Z části Před 2 měsíci Ano Ne Pouze kalendář, 70 aplikací kontakty, úkoly Nextcloud Ano Ano Před 2 dny Ano Ano Chat (audio, 150 aplikací video, text), kalendář, kontakty, úkoly Zdroj: vlastní

Kromě již zmíněných funkcí Nextcloud nabízí také mimo jiné kompatibilitu s novými zásadami o kvalitě hesel od NIST. Administrátoři tak mohou vynutit, aby uživatelé nepoužívali hesla typu test nebo abcabc. Správci mají také na výběr možnost nastavit minimální délku hesel nebo vynutit použití malých a velkých písmen, číslic a speciálních znaků. Kromě toho Nextcloud ověřuje uniklá hesla oproti databázi zvané HaveIBeenPwned, která obsahuje téměř 6 miliard napadených účtů.

Obrázek 17: Nastavení požadavků na hesla uživatelů produktu Nextcloud Zdroj: vlastní

63 5 Nasazení produktu Nextcloud

Následující kapitola se detailně zabývá nasazením řešení Nextcloud. Toto řešení bude nasazeno na vybraný veřejný cloud Amazon Elastic Cloud. Nejdříve jsou zmíněny požadavky na vlastní instanci a popis procesu jejího pronajmutí. Je vysvětlen proces vzdáleného připojení k serveru a také jeho zabezpečení. Po získání přístupu k samotné instanci je možné nakonfigurovat samotný produkt Nextcloud a dodatečné aplikace. Závěrem je vysvětlen proces šifrování dat a přístup z desktopu a mobilních zařízení.

5.1 Systémové požadavky Nextcloud

Aby mohla být instance, na kterou bude produkt nasazen vhodně optimalizována, je potřeba se seznámit s doporučenými systémovými požadavky.

Server

Pro optimální výkon, stabilitu a funkčnost, Nextcloud ve svém manuálu uvádí doporučení pro nasazení Nextcloud serveru. Nextcloud server není kompatibilní s operačními systémy Windows a macOS.

Tabulka 4: Systémové požadavky pro nasazení služby Nextcloud Platforma Možnosti Operační systém Ubuntu 16.04/18.04 LTS (doporučené) Red Hat Enterprise Linux 7 (doporučené) Debian 8 (Jessie), 9 (Stretch) SUSE Linux Enterprise Server 11 with SP3 & 12 openSUSE Leap 42.1+ CentOS 7 Databáze MySQL nebo MariaDB 5.5+ (doporučené) PostgreSQL 9/10 SQLite (pouze pro testování a malé instance) Webserver Apache 2.4 s mod_php nebo php-fpm (doporučené) nginx with php-fpm Běhové prostředí PHP 7.0 7.1 7.2 Zdroj: Nextcloud dokumentace, 2018

64 Paměť

Požadavky na pamět jsou závislé na počtu uživatelů, aplikací, souborů a objem serverové kapacity. Nextcloud potřebuje minimálně 128 MB RAM. Doporučeno je 512 MB.

5.2 Pronajmutí výpočetních prostředků v cloudu

Následující kapitola uvede jednotlivé kroky, které jsou potřeba udělat pro pronajmutí výpočetních kapacit v cloudu. Uvede také popis nutné konfigurace pro správnou funkčnost k nasazení produktu Nextcloud.

Založení účtu na Amazon Web Services

Vytvoření nového účtu na AWS probíhá klasicky přes webový formulář na stránkách této služby. Vyplní se standardní údaje jako je jméno, e-mailová adresa a heslo. Následně se služba zeptá, zdali se účet zakládá jako firma nebo jako osobní účet. Dále je potřeba vyplnit svou adresu, telefonní číslo a bezpečnostní CAPTCHA kód. Pro založení účtu je nutné vlastnit debetní/kreditní kartu a při založení účtu uvést její číslo a bezpečnostní CVC kód. Po úspěšném ověření karty je nutné účet ověřit přes automatický telefonní hovor. Na uvedené číslo zavolá automat a sdělí bezpečnostní kód, který je potřeba zadat do formuláře. V dalším kroku je potřeba zvolit úroveň podpory pro uživatele. Na výběr jsou možnosti Basic, Developer a Business. Basic možnost je zdarma a ostatní volby s rozšířenou podporou jsou za dodatečný poplatek. Tím je registrace dokončena a uživatel se může přihlásit do svého účtu.

Vytvoření virtuální instance

Při vytváření nového virtuálního stroje je v prvním kroku potřeba vybrat Amazon Machine Image (zkráceně AMI). AMI je šablona obsahující softwarovou konfiguraci (operační systém, aplikační server a aplikace) potřebnou ke spuštění instance. Dostupné jsou AMI vytvořené přímo firmou Amazon, uživatelskou komunitou, AWS Obchodem nebo vlastní.

Vzhledem k doporučení Nextcloud na operační systém byla vybrána instance s operačním systém Ubuntu ve verzi 16.04 LTS a SSD diskem. 65

Obrázek 18: Vybraný operační systém Zdroj: vlastní

V dalším kroku je potřeba zvolit typ instance. Každý typ instance je optimalizovaný pro různé účely. Instance jsou virtuální servery, na kterých je možné spouštět vlastní aplikace. Nabízí různé kombinace CPU, paměti, úložného prostoru a kvalitu internetového připojení.

Nextcloud doporučuje minimálně 512 MB paměti. Bude tedy vybrána zdarma dostupná instance t2.micro. Ta je poskytována s 1 GB paměti, což tento požadavek splňuje.

Obrázek 19: Vybraná verze instance Zdroj: vlastní

Přiřazení úložiště

V rámci Free Tier je možné přiřadit až 30 GB SSD úložného prostoru. Je možné přiřazovat více disků nebo upravovat velikost jejich úložiště. Velikost úložiště může být dále modifikována po spuštění instance. Pro potřeby této práce je ponecháno defaultních 8 GB.

Obrázek 20: Detaily o přiřazeném úložišti Zdroj: vlastní

66 Konfigurace bezpečnostních skupin

Bezpečnostní skupina je v podstatě virtuální firewall, který kontroluje přenos dat pro jednu nebo více instancí. Při zakládání instance je potřeba k této instanci přiřadit jednu nebo více bezpečnostních skupin. Každá bezpečnostní skupina má nastavená pravidla, která umožňuji přenášet data do a z instance. Pravidla pro bezpečnostní skupiny mohou být kdykoliv měněna a nová pravidla jsou automaticky po krátké době aplikována. Při požadavku na připojení k instanci jsou všechna pravidla v dané bezpečnostní skupině asociované k instanci zhodnocena a je určeno, zdali se daný klient může připojit či nikoliv.

Příchozí připojení na portu 22 pro SSH je povoleno defaultně. Jako zdroj je nicméně uveden localhost. To znamená, že by se teoreticky k této instanci mohl připojit kdokoliv na světě. Vhodné je IP adresu změnit na adresu administrátora, který bude danou instanci spravovat. Jelikož Nextcloud používá ke svému běhu protokol HTTP a HTTPS je potřeba přidat protokoly 80 a 443. Bez přidání těchto položek by nebylo možné se k Nextcloud serveru připojit z prohlížeče.

Obrázek 21: Editace bezpečnostní skupiny Zdroj: vlastní

Spuštění instance

V posledním kroku se zobrazí všechny zadané informace o spouštěné instanci. Je možné se ke každému kroku vrátit a případně některé položky upravit. Po stisknutí tlačítka Launch dojde k otevření dialogového okna, které slouží pro spárování bezpečnostního klíče s danou

67 instancí. Veřejný klíč má k dispozici Amazon a privátní klíč je potřeba si stáhnout k sobě na disk. V první kolonce je potřeba vybrat možnost Create a new key pair a do druhého pole se zadat název daného klíče. Po zadání jména klíče dojde volbou Download Key Pair ke stažení klíče na disk a zvolením možnosti Launch Instances ke spuštění instance.

Obrázek 22: Vygenerování privátního klíče Zdroj: vlastní

Po spuštění dojde k automatickým kontrolám instance, které identifikují hardwarové a softwarové problémy. Amazon provádí dva základní typy ověření statusu: systémové ověření a ověření instance.

Systémové ověření může selhat například z těchto důvodů:

• Ztráta připojení k síti • Ztráta napájení systému • Softwarové problémy na fyzické hostované stanici • Hardwarové problémy na fyzické hostované stanici, které ovlivňují připojení k síti

68 Ověření instance může selhat například z těchto důvodů:

• Selhání systémového ověření • Špatná konfigurace sítě nebo spuštění • Nedostatečná paměť • Poškozený souborový systém • Nekompatibilní kernel (Amazon, 2018)

Pokud oba tyto testy projdou, status instance se změní na 2/2 checks passed, alarm status na OK a instance je připravená k použití.

Obrázek 23: Informace o založené instanci Zdroj: vlastní

Konfigurace elastické IP

Elastická IP je statická IPv4 adresa určená pro dynamický cloud computing. Elastická IP adresa je asociována s daným AWS účtem. Díky elastické IP je možné zakrýt selhání instance nebo softwaru pomocí rychlého přesměrování adresy na jinou instanci účtu. Elastická IP je veřejná IPv4 adresa dostupná z internetu. Pokud instance nemá veřejnou IPv4 adresu, je možné s ní asociovat elastickou IP adresu a tím povolit komunikaci s internetem. Například je díky tomu možné připojení k instanci z lokálního počítače. Pro Nextcloud je velmi vhodné přiřadit instanci elastickou IP, jelikož při restartování instance se veřejná IPv4 adresa mění a Nextcloud při každém připojení z neznámé IP adresy ověřuje, zdali je adresa věrohodná. Bez ověření věrohodnosti není možné k Nextcloud přistoupit. Elastické IP jsou dostupné zdarma a ke každému AWS účtu je možné přiřadit až 5 elastických adres. Důležité je, že adresy musí být přiřazeny k instanci, jinak jsou zpoplatněné. (Amazon, 2018)

Obrázek 24: Informace o přidělené elastické IP adrese Zdroj: vlastní

69 5.3 Přístup k virtuální instanci

Existuje několik způsobů, jak se připojit k virtuální instanci. První možností je připojení skrze webový prohlížeč za použití platformy Java. Tento způsob je nicméně zastaralý a z důvodu bezpečnostních rizik nebude v této diplomové práci dále zmiňován. Možnost, která bude v tomto případě využita je připojení přes SSH klient PuTTY a WinSCP.

5.3.1 Připojení přes PuTTY a WinSCP

Pro úspěšné připojení k založené instanci je potřeba několik předpokladů:

• SSH klient • ID instance • Veřejný DNS název instance • Umístění privátního klíče • Defaultní uživatelského jméno pro danou AMI instanci • Povolení příchozích SSH připojení z vlastní IP adresy směrem k instanci

SSH klient

Jako SSH klient bude použit program PuTTY, protože s ním má autor práce zkušenosti a je zároveň i doporučen společností Amazon. PuTTY je bezplatná implementace SSH a Telnet klienta pro operační systém Windows a Unixové platformy. Jejím autorem a hlavním vývojářem je Simon Tatham. Spouštěcí soubory a zdrojový kód tohoto programu je distribuován pod licencí MIT, která je podobná BSD licenci. Tato licence má certifikaci Open Source a řídí se pravidly pro Debian Free Software. Důležité je, že všichni (i organizace) mohou používat PuTTY bez jakýchkoliv omezení (i pro komerční účely). Kromě nutnosti zmínit originální copyright a text licenci si může kdokoliv tento produkt přizpůsobit svým potřebám a implementovat jej do svých programů a produktů (i komerčních). Kromě toho PuTTY nenese odpovědnost za žádná poškození systému a uživatel tento produkt používá na vlastní nebezpečí.

70 PuTTY umožňuje díky protokolům SSH, SCP, Telnet a rlogin a dalším vzdálené síťové připojení z vlastního počítače. PuTTY implementuje klientskou část seance: část ve které je seance zobrazena a ne část, kde probíhá. Zjednodušeně řečeno lze program PuTTY spustit na zařízení s operačním systémem Windows nebo Unix a vzdáleně se připojit například k Unix zařízení. PuTTY otevře okno a cokoliv, co uživatel do tohoto okna zadá je odesláno na vzdálený Unix stroj a vše, co tento stroj pošle nazpátek je zobrazeno v tomto okně. V zásadě je možné tento vzdálený stroj ovládat stejně, jako kdyby u něj uživatel fyzicky seděl. Ve skutečnosti ale může sedět na vzdáleném místě od tohoto koncového zařízení. (Tatham, 2017) Pro připojení k AWS instanci se využije podpora SSH-2, autentizace veřejných klíčů (RSA a DSA) a také ukládání údajů pro přihlášení a nastavení.

ID instance

ID instance je možné získat z Amazon EC2 konzole. Jedná se o hodnotu ve sloupci Instance ID. Případně je možné použít tlačítko Copy to clipboard v popisu instance.

Obrázek 25: ID instance Zdroj: vlastní

Veřejný DNS název instance

Veřejný DNS název instance je možné získat z Amazon EC2 konzole. Jedná se o hodnotu ve sloupci Public DNS (IPv4). Případně je možné, stejně jako v předchozím případě, použít tlačítko Copy to clipboard v popisu instance.

Obrázek 26: Veřejný DNS název instance Zdroj: vlastní

71 Umístění privátního klíče

Je potřeba úplná cesta k umístění klíče .pem na pevném disku. Tento klíč byl vygenerován a stažen při spuštění instance.

Defaultní uživatelského jméno pro danou AMI instanci

Každý z operačních systémů na příslušných instancích má vlastní defaultní uživatelské jméno. Pro přehlednost je zde výčet jednotlivých systémů a jejich uživatelských jmen:

• Pro Amazon Linux 2 nebo Amazon Linux AMI, uživatelské jméno je ec2-user. • Pro Centos AMI, uživatelské jméno je centos. • Pro Debian AMI, uživatelské jméno je admin nebo root. • Pro Fedora AMI, uživatelské jméno je ec2-user nebo fedora. • Pro RHEL AMI, uživatelské jméno je ec2-user nebo root. • Pro SUSE AMI, uživatelské jméno je ec2-user nebo root. • Pro Ubuntu AMI, uživatelské jméno je ubuntu.

Jelikož vytvořená instance běží na operačním systému Ubuntu 16.04 LTS, defaultním uživatelským jménem je ubuntu.

Povolení příchozích SSH připojení z vlastní IP adresy směrem k instanci

Bezpečnostní skupina asociovaná s instancí musí mít povolené příchozí SSH data z dané IP adresy. Toto již bylo dříve nastaveno a rozepsáno v kapitole Konfigurace bezpečnostních skupin. (Amazon, 2018)

Konverze privátního klíče za pomocí PuTTYgen

První menší problém s programem PuTTY přichází při použití privátního klíče. PuTTY nativně nepodporuje privátní klíče ve formátu .pem vygenerované pomocí Amazon EC2. PuTTY nicméně obsahuje utilitu s názvem PuTTYgen. Ta dokáže klíče ve formátu .pem konvertovat do formátu .ppk, se kterým již PuTTY dokáže pracovat. Před připojením k instanci pomocí PuTTY je potřeba zkonvertovat privátní klíč do formátu .ppk.

72 Kromě konverze je PuTTYgen i generátor klíčů. Generuje páry privátního a veřejného klíče pro použití v PuTTY a dalších programech. PuTTYgen generuje klíče ve formátu RSA, DSA, ECDSA a Ed25519.

Pro konverzi privátního klíče vygenerovaného službou AWS je potřeba otevřít program PuTTYgen a zvolit typ klíče – v tomto případě RSA. Pro načtení existujícího klíče slouží volba Load. Zvolením této možnosti se zobrazí adresářová struktura, která defaultně zobrazuje pouze klíče ve formátu .ppk. Pro nalezení vygenerovaného klíče je tedy potřeba zvolit možnost k zobrazení všech souborů. Potvrzením výběru klíče se zobrazí se dialogové okno s informací, že klíč byl úspěšně importován. Před uložením klíče ve formátu .ppk je ještě možné zvolit přístupovou frázi pro přidání další vrstvy protekce při přístupu ke klíči. Pro uložení klíče slouží volba Save private key, která otevře adresářovou strukturu a zeptá se na název souboru. Bude zadáno stejné jméno jako v případě .pem klíče a uloženo na disk. Klíč je nyní připraven pro použití v programu PuTTY a lze se pomocí něj připojit k instanci.

Obrázek 27: Oznámení o úspěšném importování cizího klíče Zdroj: vlastní

73

Obrázek 28: Program PuTTY s importovaným klíčem Zdroj: vlastní

Připojení k instanci přes PuTTY

Po spuštění programu PuTTY se zobrazí obrazovka s kolonkou Host Name, do které je potřeba zadat uživatelské jméno a veřejný DNS název dané instance ve tvaru uzivatelske_jmeno@verejny_dns_nazev. Connection type je defaultně navolen na SSH. Port by měl být nastaven na hodnotu 22.

PuTTY je také možné nakonfigurovat, aby po určitém intervalu posílal keepalive data, která udržují seanci aktivní. Může se to hodit v případě, že je seance delší dobu neaktivní a docházelo by k přerušení připojení. Ve sloupci Category, pod možností Connection je možné do pole Seconds between keepalives zadat hodnotu po které budou data posílána.

Jelikož je autentizace nastavena na SSH klíč, je potřeba ve sloupci Category rozbalit možnost Connection, dále rozbalit možnost SSH a pod volbou Auth nakonfigurovat privátní 74 klíč. Tlačítko Browse pod nápisem Private key file for authentication slouží pro otevření adresářové struktury a vybrání klíče ve formátu .ppk, který byl zkonvertován v minulém kroku. Do prázdného pole se automaticky doplní cesta ke klíči a tím je program PuTTY nakonfigurován pro připojení. Nastavení této seance je zároveň možné si uložit na defaultní stránce Session, aby nebylo nutné jej příště znovu konfigurovat.

Po stisknutí tlačítka Open dojde k otevření terminálového okna a při prvním spuštění dojde k zobrazení bezpečnostního dialogového okna. Toto okno vyžaduje potvrzení shody RSA klíče s klíčem, jenž byl vygenerován v předešlém kroku. Je nutné podotknout, že tuto výzvu není potřeba přijmout. Při zvolení No dojde k navázání připojení, nicméně RSA otisk nebude uložen do registrů. Při zvolení Yes dojde k uložení RSA otisku do následující cesty v registrech: HKCU\SOFTWARE\SimonTatham\PuTTY\SshHostKeys. Při příštím pokusu o připojení se již žádost neobjeví.

Obrázek 29: Přihlašovací údaje v programu PuTTY Zdroj: vlastní

75

Obrázek 30: Upozornění na přidání klíče do registrů Zdroj: vlastní

Obrázek 31: Stav terminálu po přihlášení k instanci Zdroj: vlastní

Přenášení souborů mezi místním počítačem a vzdálenou instancí

Pro přenášení souborů mezi místním počítačem a vzdálenou instancí je možné buď použít terminálové prostředí programu PuTTY nebo grafické uživatelské prostředí open source programu WinSCP. 76 Pomocí PuTTY

Pro přenášení souborů v programu PuTTY existuje vestavěný nástroj pro příkazový řádek nazvaný PuTTY Secury Copy klient (zkráceně PSCP). Ten umožňuje nahrávat soubory na vzdálený server a přijímat je z něj. Důležité je, že tento nástroj se musí použít z příkazového řádku místního počítače, a ne ze vzdálené PuTTY konzole.

Příklad zkopírování místního souboru na operačním systému Windows umístěného na ploše a nazvaného test.txt na vzdálený server do složky /ubuntu/home/:

$ pscp -i "D:\Desktop\nextcloud.ppk" "D:\Desktop\test.txt" ubuntu@ec2-34- 219-128-225.us-west-2.compute.amazonaws.com:/home/ubuntu/test.txt

Pomocí WinSCP

WinSCP je open source souborový manažer s grafickým rozhraním pro operační systém Windows. Umožňuje nahrávat soubory na vzdálený počítač přes protokoly SFTP, SCP, FTP a FTPS. Tento program zároveň umožňuje přenášet soubory mezi Windows strojem a Linuxovou instancí stylem táhni a pusť nebo mezi nimi synchronizovat celé adresářové struktury.

Obrázek 32: Výzva programu WinSCP na přidání RSA klíče do registrů Zdroj: vlastní

77

Obrázek 33: Adresářová struktura v programu WinSCP Zdroj: vlastní

5.3.2 Připojení přes SSH terminál

Pro připojení přes SSH terminál je potřeba znát všechny parametry instance jako v předchozím případě (ID instance, veřejný DNS název instance, umístění privátního klíče a defaultní uživatelské jméno pro přístup k dané AMI). Kromě toho je potřeba, aby systém měl nainstalovaný SSH klient, jenž bývá defaultně zahrnut.

Pro připojení přes SSH je potřeba se přemístit do umístění s privátním klíčem a z důvodu bezpečnosti změnit jeho přístupová oprávnění, aby ho mohl používat pouze administrátor. To se provede použitím příkazu chmod a nastavením oprávnění na hodnotu 400:

$ chmod 400 /path/my-key-pair.pem

Použitím příkazu ssh dojde k připojení k instanci. Parametr -i slouží ke specifikování cesty k privátnímu klíči:

$ ssh -i /cesta/nextcloud.pem [email protected] 2.compute.amazonaws.com

Zobrazí se výzva na přidání RSA klíče do registrů a dojde k připojení:

The authenticity of host 'ec2-34-210-64-56.us…' can't be established. ECDSA key fingerprint is SHA256:KisBqfJ1v0712… Are you sure you want to continue connecting (yes/no)? yes Permanently added 'ec2-34-210-64-56.us… to the list of known hosts.

78 5.4 Zabezpečení SSH serveru

Při vytváření EC2 instance dochází ke generaci nebo vybrání předem vygenerovaného klíče pro přístup přes SSH k dané instanci. Tento klíč je stažen a uložen na místním počítači. Riziko nastává v případě, že k tomuto počítači dostane přístup neoprávněná osoba. V tomto případě každá osoba, která má přístup k tomuto klíči a zná přihlašovací jméno, získá přístup k dané instanci. Pro lepší zabezpečení přístupu k instanci a zamezení neoprávněného přihlášení je vhodné implementovat dodatečná bezpečnostní opatření. Jeden z doporučených a vyzkoušených nástrojů je využití dvoufázového ověření.

Pro zabezpečení SSH serveru pomocí dvoufázového ověření bude použit software od společnosti Google. který generuje jednorázové časové kódy (anglicky Time-based One- Time Password, zkráceně TOTP). K implementaci 2FA pomocí Google autentikátoru je potřeba volně dostupný Google Authenticator PAM modul (anglicky Pluggable Authentication Module, zkráceně PAM). Tento modul slouží pro zavedení několika druhů autentizace do unixového systému.

Pro instalaci balíku se zadá následující příkaz:

$ sudo apt-get install libpam-google-authenticator

Tím byl PAM modul nainstalován na systém a nyní je potřeba vytvořit ověřovací klíč. Ten se vygeneruje následujícím příkazem:

$ google-authenticator

Po zadání tohoto příkazu systém vyzve k odpovědi na několik základních otázek:

Do you want authentication tokens to be time-based (y/n) y

Chcete, aby ověřovací tokeny byly závislé na čase?

Při povolení se tokeny budou měnit každých 30 sekund. Jinak dojde ke změně tokenu jen při každém jeho použití. První volba je bezpečnější a je zvolena.

79 https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://to tp/ubuntu@ip-172-31-43- 174%3Fsecret%3DWRMODHOC6D6T42TW4IMTGBBWDY%26issuer%3Dip-172-31-43-174

Your new secret key is: WRMODHOC6D6T42TW4IMTGBBWDY Your verification code is 130943 Your emergency scratch codes are: 32026954 85846831 46755653 25142296 43077536

Došlo k vygenerování URL adresy s čárovým kód.

Obrázek 34: Vygenerovaný čárový kód Zdroj: vlastní

Zároveň došlo k vygenerování bezpečnostního klíče, což je ekvivalent čárového kódu. Bylo vygenerováno i pět záložních kódů. Ty je možné použít v případě, že dojde ke ztrátě zařízení s nainstalovanou aplikací na generování kódů. Tyto kódy jsou jednorázové a lze je použít namísto vygenerovaného tokenu.

Do you want me to update your "/home/janwatzke/.google_authenticator" file (y/n) y

Chcete, abych aktualizoval soubor "/home/janwatzke/.google_authenticator"?

Ano, jinak by musel být soubor upraven manuálně. Takto dojde k optimálnímu nastavení.

80 Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y

Chcete zakázat více než jedno použití stejné autentizace?

Při souhlasu bude možné použít jednou vygenerovaný kód pouze jednou za 30 sekund. Toto opatření zvyšuje šance zachytit nebo zabránit man-in-the-middle útoku.

By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) n

Ve výchozím nastavení je jeden kód generován po 30 sekundách. Z důvodu vypršení kódu mezi klientem a serverem dovolujeme jeden token navíc před a po současném intervalu. Pokud nastavenou problému se špatnou synchronizací času, můžete rozšířit interval ze současné minuty a půl na 4 minuty. Chcete to udělat?

Lepší je interval nerozšiřovat a nastavení upravit pouze pokud dojde k problémům.

If the computer that you are logging into isn't hardened against brute- force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) y

Pokud počítač, ze kterého se připojujete, není zabezpečený proti přihlašovacím brute-force útokům, můžete povolit limit autentizačního modulu. Ve výchozím nastavení tento limit neumožňuje útočníkům více než tři pokusy na přihlášení každých 30 sekund. Chcete tento limit povolit?

Při povolení bude možné špatně zadat kód během 30 sekund pouze třikrát. (Perez, 2013)

81 5.4.1 Vygenerování bezpečnostních tokenů

Pro účely vygenerování bezpečnostních tokenů bude využita aplikace Authy. Authy je volně dostupná aplikace, která přináší podporu pro mnoho služeb včetně možnosti přiřadit si vlastní logo. Authy je dostupná na různé druhy zařízení a je možné ji mít nainstalovanou na telefonu s Androidem, jako doplněk prohlížeče Chrome nebo na tabletu s operačním systémem iOS. Nabízí možnost pro zálohování účtů do cloudu, takže při ztrátě telefonu stačí na nový telefon aplikaci nainstalovat, přihlásit se a všechny účty jsou opět k dispozici. Authy také umožňuje uzamčení aplikace pomocí PINu nebo čtečky otisku prstů proti neoprávněnému přístupu. Nutno podotknout, že veškeré účty uložené do Authy jsou šifrované pomocí předem zvoleného hesla. Pro přidání účtu tedy stačí naskenovat vygenerovaný čárový kód nebo přímo zadat bezpečnostní klíč. Aplikace poté vyzve k výběru loga a pojmenování daného účtu.

Obrázek 35: Přidání nového účtu do aplikace Authy za pomocí bezpečnostního klíče Zdroj: vlastní

Obrázek 36: Vybrání loga a pojmenování nového účtu Zdroj: vlastní 82 Authy nyní začně každých 30 sekund generovat bezpečnostní token. K bezpečnostnímu tokenu je možné přistoupit pomocí mobilní aplikace nebo doplňku pro prohlížeč Chrome.

Obrázek 37: Vygenerovaný bezpečnostní token pro SSH server Zdroj: vlastní

5.4.2 Nastavení serveru

Po zadání bezpečnostního klíče do aplikace je ještě nutné nastavit SSH server, aby dvoufázovou autentizaci vyžadoval. To se provede následovně:

Do souboru sshd, který se nachází ve složce /etc/pam.d, je potřeba přidat řádek obsahující auth required pam_google_authenticator.so. Tímto příkazem server ví, že má vyžadovat dvoufázové ověření.

Obrázek 38: Editace souboru /etc/pam.d/sshd Zdroj: vlastní

Pro správnou konfiguraci PAM modulu je nutné editovat soubor /etc/ssh/sshd_config a změnit volbu ChallengeResponseAuthentication na yes. (Hoffman, 2012)

83 Na konec souboru je ještě potřeba specifikovat jaké metody autentizace budou vyžadovány. To se provede přidáním řádku AuthenticationMethods publickey,keyboard-interactive.

Obrázek 39: Editace souboru /etc/ssh/sshd_config Zdroj: vlastní

Nyní již stačí SSH server restartovat.

$ sudo service sshd restart

5.4.3 Přihlášení pomocí dvoufázového ověření

Při dalším pokusu o přihlášení se z počítače s odpovídajím klíčem zobrazí hláška Authenticated with partial success. To znamená, že server rozpoznal privátní klíč, který je kompatibilní s veřejným klíčem na serveru. Partial succes znamená, že je ještě potřeba zadat vygenerovaný token z aplikace pro správu dvoufázových ověření.

Obrázek 40: Autentizace pomocí SSH klíče a bezpečnostního kódu Zdroj: vlastní

Díky zavedení dvoufázového ověření a přihlášení pomocí SSH klíče (což instance vyžaduje defaultně) je server v podstatě neprolomitelný. Útočník by musel získat přístup k počítači uživatele, a navíc také k aplikaci generující bezpečnostní tokeny.

Jako s každým bezpečnostním opatřením se správce systému stává zodpovědným za správu tohoto zabezpečení. V tomto případě se jedná o neztracení SSH klíče a aplikace pro generování bezpečnostních tokenů.

84 5.5 Konfigurace Nextcloud

Je několik možností, jak nainstalovat Nextcloud server. Pro Windows je možné použít virtuální stroj s předem nakonfigurovanou Nextcloud instancí. Pro Linux je možné použít předpřipravené snap balíky, které obsahují vše potřebné, ale neobsahují vždy nejnovější verze Nextcloud. Další možností je provést manuální instalaci za pomocí standardní LAMP sady (Linux, Apache, MySQL, PHP). Jelikož podnik chce konfiguraci provádět sám a mít nejnovější verzi Nextcloud, bude použita cesta manuální instalace. Pro zajímavost nicméně bude zmíněna i instalace pomocí snap balíku.

5.5.1 Instalace pomocí snap balíku

Nejjednodušší instalace Nextcloud na Linuxu je pomocí balíku (tzv. snap). Snap je soubor ve formátu .zip. Obsahuje aplikaci společně se všemi potřebnými soubory a popisem, jak danou aplikaci spustit na daném systému a jak má komunikovat s dalším softwarem. Snap balíky jsou určené k tomu, aby byly bezpečné a běžely v odděleném prostředí od systému a ostatních aplikací. Snap je dostupný ke stažení na oficiálních stránkách Nextcloud a obsahuje následující komponenty:

• Nextcloud 13.0.5 – základní soubory potřebné k instalaci Nextcloud. • Apache 2.4 – webový server. • PHP 7.1 – běhové prostředí PHP. • MySQL 5.7 – systém pro správu databází. • Redis 4.0 – key-value databáze pro implementaci cache. • mDNS – protokol pro rozeznání sítě.

Tento Nextcloud snap je dostupný v obchodě pro Ubuntu ve verzi 16 a vyšší. Pro instalaci stačí zadat:

$ sudo snap install nextcloud

Po instalaci je možné přistoupit k Nextcloud instalaci zadáním veřejné IP adresy založené EC2 instance. Při přístupu k Nextcloud poprvé je nutné zadat uživatelské jméno a heslo pro

85 administrátorský účet. Po zadaní těchto informací je možné se přihlásit a začít vytvářet uživatele, instalovat aplikace a nahrávat soubory.

Obrázek 41: Konfigurace Nextcloud v případě použití snap balíku Zdroj: vlastní

Nextcloud je stejně jednoduše možné odinstalovat pomocí následujícího příkazu:

$ sudo snap remove nextcloud

5.5.2 Manuální instalace

Manuální instalace spočívá v instalaci .deb balíků, jenž obsahují potřebné a doporučené moduly pro typickou instalaci Nextcloud využívající server Apache a databázový systém MariaDB. Výhodou manuální instalace je, že je možné díky ní nainstalovat vždy nejnovější verzi Nextcloud ze stránek poskytovatele. Instalace pomocí snap balíků nebývají tak často aktualizované.

Pro instalaci stačí postupně zadat následující tři příkazy:

$ sudo apt-get install apache2 mariadb-server libapache2-mod-php7.0

Slouží pro instalaci webového serveru Apache2, databázového systému MariaDB a PHP modulů potřebných pro správný běh Apache2.

$ sudo apt-get install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring

86 $ sudo apt-get install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip

Tyto příkazy slouží pro instalaci dodatečných PHP modulů nezbytných pro správný chod Nextcloud.

Následně je potřeba stáhnout .zip nebo .tar archiv s instalací Nextcloud ze stránek poskytovatele a obsah tohoto archivu vyextrahovat do kořenové složky Apache serveru, což je v tomto případě /var/www/.

Pro extrakci lze použít příkaz unzip:

$ unzip nextcloud-14.0.0.zip

Pro zkopírování včetně podsložek potom příkaz cp s argumentem -r:

$ cp -r nextcloud /var/www

Nyní je potřeba vytvořit databázi.

Pro vytvoření databáze je nejdříve potřeba se přihlásit do ovládacího prostředí MariaDB:

$ sudo mysql -u root -p

Poté vytvořit databázi:

> CREATE DATABASE nextcloud;

Vytvořit uživatele:

> CREATE USER jmeno_uzivatele@localhost IDENTIFIED BY 'heslo';

Přidělit mu všechna oprávnění k databázi:

> GRANT ALL PRIVILEGES ON nextcloud.* TO jmeno_uzivatele@localhost IDENTIFIED BY 'heslo';

87 A nakonec obnovit oprávnění a ukončit ovládací prostředí MariaDB:

> FLUSH PRIVILEGES; > EXIT;

Poté je potřeba dokončit instalaci. Do webového prohlížeče se zadá veřejná IP adresa vytvořené EC2 instance a za ní se doplní /nextcloud. Na této stránce je nutné vytvořit administrátorský účet, vyplnit přihlašovací údaje k databázi a také cestu k Apache serveru. Po kliknutí na tlačítko Finish setup je instalace dokončena. V případě použití snap balíku stačí pouze vytvořit administrátorský učet; databáze už je přednastavena.

Obrázek 42: Vytvoření administrátorského účtu Zdroj: vlastní

Obrázek 43: Konfigurace databáze Zdroj: vlastní

88

Obrázek 44: Uvítací obrazovka Nextcloud Zdroj: vlastní

Pokud konfigurace proběhne úspěšně, zobrazí se uvítací obrazovka Nextcloud s odkazy na stažení klientů pro desktop a mobilní zařízení. Dostupné jsou také volby pro konfiguraci kalendáře, kontaktů a přístupu přes protokol WebDAV.

Obrázek 45: Základní obrazovka webového prostředí Nextcloud Zdroj: vlastní 89 Po uzavření uvítací obrazovky se zobrazí základní obrazovka Nextcloud se seznamem souborů. Nyní je možné začít nahrávat soubory a využívat všechny možnosti této služby.

Obrázek 46: Přehled aktivit ve webovém prostředí Nextcloud Zdroj: vlastní

Obrázek 47: Aplikace Galerie webového prostředí Nextcloud Zdroj: vlastní

90 5.6 Uživatelské prostředí a dostupné aplikace

Tato kapitola popisuje základní prostředí Nextcloud. Popisuje vybrané aplikace dostupné z katalogu aplikací a také jejich ekvivalenty dostupné pro mobilní zařízení.

5.6.1 Webové prostředí Nextcloud

K Nextcloud se dá připojit z jakéhokoliv webového prohlížeče. Uživatel pouze potřebuje znát uživatelské jméno a heslo. Nextcloud nicméně doporučuje používat nejznámější webové prohlížeče v novějších verzích:

• Mozilla Firefox 14+ • Google Chrome/Chromium 18+ • Safari 7+ • Internet Explorer 11+ • Microsoft Edge

Pro použití chatovací funkce Nextcloud Talk je nutné mít Mozilla Firefox verze 52 nebo vyšší a Google Chrome verze 49 nebo vyšší. Při pročítání dokumentace Nextcloud je nicméně zřejmé, že pro využití všech možností je nutné používat prohlížeč Chrome nebo Chromium (například pro funkci táhni a pusť).

Navigování v uživatelském prostředí

Defaultně je nastaveno, aby se webové prostředí otevíralo na stránce se soubory. Soubory se dají přidávat, odebírat, sdílet a měnit v závislosti na udělených oprávnění administrátorem. Snímek obrazovky prostředí spolu s popisky je uveden v příloze A.

Uživatelské prostředí Nextcloud obsahuje následující pole a možnosti:

Menu výběru aplikací: Umístěné v horním levém rohu, kde je možné nalézt všechny aplikace dostupné v dané instanci Nextcloud. Vybráním příslušné ikony dojde k přesměrovaní na danou aplikaci.

91 Informace o aplikaci: Umístěné v levém bočním panelu. Obsahuje filtry a možnosti přiřazené k vybrané aplikaci. Například při používání aplikace Soubory je zde dostupná speciální sada filtrů pro rychlé nalezení konkrétního souboru – mohou to být soubory sdílené s uživatelem a ty, které uživatel sdílí s ostatními. Pro jiné aplikace zde budou jiné možnosti.

Náhled aplikace: Hlavní pole umístěné veprostřed uživatelského prostředí Nextcloudu. Toto pole zobrazuje obsah uživatelských možností pro danou aplikaci.

Navigační panel: Umístěný nad náhledem aplikace. Tento panel nabízí cestu k dané složce a umožňuje přecházet výše v adresářové struktuře až do kořenového adresáře.

Tlačítko přidat: Umístěné v navigačním panelu. Umožňuje vytvářet nové soubory, složky nebo nahrávat soubory. Pro přidávání souborů je také možné využít funkci táhni a pusť. Stačí přetáhnout soubor z prohlížeče souborů do okna Soubory a soubor se začne nahrávat. V současné době tuto funkci podporuje pouze webový prohlížeč Chrome a Chromium.

Pole hledat: Vybráním této možnosti se otevře pole, do něhož je možné zadat výraz pro vyhledávání souborů.

Menu kontakty: Poskytuje přehled o kontaktech uživatele a přehled uživatelů na serveru. V závislosti na poskytnutých informacích a dostupných aplikacích je možné s těmito uživateli zahájit hovor nebo jim poslat e-mail.

Tlačítko galerie: Tato možnost uživatele přesměruje do aplikace Galerie.

Menu nastavení: Po zvolení profilového obrázku uživatele umístěného v pravém horním rohu se zobrazí rozbalovací nabídka Nastavení. Tato nabídka obsahuje pět možností:

• Nastavení – nastavení jména a informací o uživateli a administrátorské možnosti • Aplikace – katalog aplikací a jejich správa • Uživatelé – přehled uživatelů a nastavení skupin • Nápověda – uživatelský manuál • Odhlášení – odhlášení uživatele

92 5.6.2 Kalendář

Aplikace pro správu kalendářů není ve verzi Nextcloud 14.0.0 defaultně povolená. Je potřeba ji povolit v sekci Apps – kategorie Office & text. Aplikace Kalendář se po povolení zobrazí v horním menu vedle aplikace Galerie. Do aplikace lze importovat kalendáře ve formátu .ical. Jednotlivé kalendáře a schůzky je poté možné sdílet s kolegy.

Obrázek 48: Detail aplikace Kalendář v katalogu aplikací Zdroj: vlastní

Obrázek 49: Ukázka webového prostředí aplikace Kalendář Zdroj: vlastní

93 Pro přístup ke kalendáři z mobilních zařízení existuje aplikace DAVdroid. V obchodě Google Play je sice placená, ale vývojáři ji sami umístili také na obchod s open source aplikacemi zvaným F-Droid, kde je aplikace dostupná zdarma.

Po spuštění aplikace je potřeba zadat URL adresu protokolu CalDAV a také jméno a příjmení účtu na Nextcloud. Po přidání účtu je možné si vybrat, které kalendáře se mají se zařízením synchronizovat. Je nutné podotknout, že aplikace DAVdroid jako taková je pouze nástrojem pro přidání účtu do zařízení a neslouží k prohlížení kalendářů jako takových. Pro prohlížení kalendářů je možné použít libovolnou aplikaci pro správu kalendářů, kde bude nově viditelný účet a také jemu odpovídající kalendáře.

Obrázek 50: Ukázka aplikace DAVdroid Zdroj: vlastní

94

Obrázek 51: Ukázka kalendáře na Nextcloud serveru a vytvořené události Zdroj: vlastní

5.6.3 Poznámky, to-do listy

Obdobným způsobem je možné aktivovat i aplikaci pro poznámky a to-do listy (seznamy úkolů). Opět je potřeba aktivovat modul z obchodu s aplikacemi, tentokrát s názvem Úkoly. Tato aplikace jako jediná není oficiální aplikací Nextcloud, nicméně ohlasy na ní jsou velmi pozitivní. Tato aplikace nabízí možnosti jako jsou: přidávání poznámek, nastavení času začátku a konce úkolů, určení priority a rozpracovanosti úkolů, zařazování úkolů do kategorií, vytváření popisků úkolů, přidávání podúkolů, sestavování vlastních seznamů úkolů, přiřazování barev úkolům, odškrtávání dokončených úkolů a tak dále.

95

Obrázek 52: Ukázka webového prostředí aplikace Úkoly Zdroj: vlastní

Pro poznámky také existuje klient pro mobilní zařízení. Pokud má uživatel již nainstalovanou aplikaci DAVdroid, stačí pouze doinstalovat separátní aplikaci Úkoly. Ta je opět dostupná z obchodu F-Droid a nabízí všechny možnosti jako její webové prostředí.

Obrázek 53: Ukázka aplikace Úkoly Zdroj: vlastní 96 5.6.4 Kontakty

Pro správu kontaktů existuje v přehledu aplikací doplněk Kontakty. Při zakládání kontaktů je možné je třídit do skupin, přidávat profilové obrázky nebo si celý kontakt stáhnout ve formátu .vcf. Ke kontaktům je možné přidělit různé typy polí jako jsou telefon, adresa, narozeniny, e-mail, pohlaví, odkazy na sociální sítě nebo webové stránky.

Obrázek 54: Webové prostředí aplikace Kontakty Zdroj: vlastní

Pro synchronizaci kontaktů s mobilním zařízením stačí mít nainstalovanou aplikaci DAVdroid, která do zařízení přidá adresář s kontakty umístěnými na Nextcloud serveru. Ty je poté možné si prohlížet přímo v zabudované aplikaci pro správu kontaktů. Nové kontakty je možné do tohoto adresáře přidávat i z mobilního zařízení.

97

Obrázek 55: Ukázka DAVdroid adresáře a kontaktu uloženého na Nextcloud serveru Zdroj: vlastní

5.6.5 Chat

Pro komunikaci s ostatními uživateli Nextcloud serveru slouží doplněk Nextcloud Talk. Tento doplněk umožňuje jak klasické chatování, tak i možnost kolegům zavolat nebo se rovnou spojit pomocí webkamery. Dostupné jsou také skupinové konverzace a videokonference s více účastníky najednou. V případě, že je potřeba komunikovat s někým, kdo není uživatelem Nextcloud serveru, je možné tohoto účastníka přizvat pomocí veřejného URL odkazu. V konverzacích je možné sdílet obrázky, odkazy, poznámky a soubory. Výhodou využívání Nextcloud Talk je, že všechna data jsou uložena na vlastním serveru a jsou přenášena pomocí end-to-end šifrování. 98

Obrázek 56: Webové prostředí Nextcloud Talk Zdroj: vlastní

Pro mobilní zařízení Nextcloud nabízí separátní aplikaci Nextcloud Talk. Je dostupná v obchodě Google Play a umožňuje s kolegy chatovat pomocí telefonu. Místo webkamery je možné pro videohovory použít přední kameru, pokud je jí zařízení vybavené.

Obrázek 57: Ukázka aplikace Nextcloud Talk Zdroj: vlastní

99 5.7 Zabezpečení dat v Nextcloud

Jedním z požadavků podniku bylo šifrování dat. Nextcloud si toto klade za svoji prioritu. Díky vlastnímu hostování má podnik kontrolu nad svými daty. Zároveň je zajištěn přístup pouze pověřeným osobám a data jsou chráněna před úniky.

Nextcloud automaticky detekuje mnoho potenciálních bezpečnostních problémů a špatných nastavení. Administrátor je o všem varován v nastavení a jsou mu poskytnuty odkazy na dokumentaci s popisem, jak dané problémy napravit. Z tohoto důvodu je vhodné tuto stránku čas od času navštívit, a to zejména po aktualizaci na novější verzi.

Obrázek 58: Upozornění na chyby v instalaci serveru Nextcloud Zdroj: vlastní

Nextcloud obsahuje mnoho zabudovaných bezpečnostních opatření. Jedná se například o ochranu před brute-force útoky nebo možnost využití dvoufázového ověření přístupu k uživatelským účtům. Při povolení dvoufázového ověření je neoprávněné proniknutí do těchto účtů značně obtížnější.

100 5.7.1 Šifrování

Nextcloud nabízí několik vrstev šifrování dat. Data jsou chráněna při přenášení mezi klienty a servery a také mezi jednotlivými servery. Data mohou být šifrována na úložném prostoru, a navíc je implementováno šifrování mezi koncovými body (anglicky End-to-End Encryption, zkráceně E2EE) u jednotlivých klientů. Každá metoda nabízí jiný druh zabezpečení pro ochranu před různými typy útoků.

Zabezpečení během přenosu dat

Šifrování přenosu dat zajišťuje bezpečné přenášení dat mezi servery a klienty. Toho je dosaženo přes bezpečnostní komunikační protokol Transport Layer Security (zkráceně TLS) při využití Hypertext Transfer Protocol Secure (zkráceně HTTPS).

Rizika

Nextcloud pro práci se soubory používá standardní protokol Hypertext Transfer Protocol (zkráceně HTTP), jenž je možné zabezpečit pomocí TLS. Protokol TLS chrání před útoky snažící se zachytit data mezi serverem a klientem. Nechrání sice před hacknutým zařízením nebo serverem, ale zabrání přenosu dat na nezabezpečených sítích. Místa, jako jsou například veřejné Wi-Fi sítě, mobilní zařízení nebo sítě třetích stran se mohou snažit zachytit tok dat, a tudíž nejsou vhodné pro nasazení produktu Nextcloud.

Šifrování úložiště

Nextcloud k zajištění bezpečného úložiště nabízí nástroj Nextcloud Server Side Encryption. Tento nástroj každý soubor před uložením šifruje unikátním klíčem. Klíče k souborům jsou šifrované buď klíčem pro celý server nebo pro každého uživatele zvlášť. Šifrování na straně serveru poskytuje ochranu dat na externích úložištích. Soubory jsou totiž šifrovány ještě před odesláním a bezpečnostní klíče nikdy neopustí Nextcloud server.

Klíč na straně serveru ukládá heslo k serveru do složky s konfigurací Nextcloud. Tento klíč je poté použit pro dešifrování serverového klíče ve složce s daty. Dešifrovaný serverový klíč je v konečném důsledku použit pro dešifrování samotných dat.

101 V případě použití samostatného klíče pro každého uživatele je klíč ve složce s daty uložen zvlášť pro jednotlivé uživatele a zabezpečen heslem uživatele. Klíče jsou uloženy v paměti po dobu činnosti seance uživatele, aby bylo možné šifrovat a dešifrovat data.

Rizika

Šifrování na straně serveru chrání data na úložišti za předpokladu, že úložiště není na totožném serveru jako samotná instalace Nextcloud.

Bezpečnostní klíče pro každého uživatele nabízí dodatečnou ochranu nad serverovým klíčem pouze v případě fyzické krádeže Nextcloud serveru a úložiště nebo bezpečnostního rizika na serveru za předpokladu, že uživatelé nejsou přihlášeni v době útoku. Profesionální útok provedený na Nextcloud server je stále rizikem pro ztrátu dat.

Šifrování mezi koncovými body (end-to-end) u jednotlivých klientů

Nejlepší ochranu uživatelských dat poskytuje End-to-end šifrování. End-to-end šifrování u Nextcloud je navrženo tak, že server nikdy nezíská přístup k nezašifrovaným souborům nebo klíčům a stejně tak zdrojový kód serveru nikdy nepřijde do styku s nezašifrovanými daty, která by mohla poskytnout příležitost k útoku.

U Nextcloud je možné nakonfigurovat End-to-end šifrování velice jednoduše. Zajišťuje bezproblémovou výměnu klíčů serverem bez toho, aniž by jakákoliv data unikla a díky tomu je možné jednoduše sdílet data s ostatními uživateli a kolaborovat. Bohužel kvůli tomuto opatření dochází ke ztrátě jedné funkce Nextcloud. Jakýkoliv typ online upravování souborů a přístup k nešifrovaným datům, stejně tak jako veřejné sdílení a sdílení se skupinami není možné pro data ve složkách, která jsou šifrována metodou End-to-end.

Uživatel má možnost aktivovat Nextcloud End-to-end šifrování pro jednu nebo více složek. Obsah každé z těchto složek je plně skryt před serverem, včetně názvů souborů a adresářové struktury. Pro synchronizaci těchto dat s ostatními zařízeními musí uživatelé zadat bezpečnostní kód vygenerovaný prvním zařízením. Uživatelé mohou sdílet zašifrované složky s ostatními uživateli na daném serveru bez nutnosti znovu šifrovat a znovu nahrávat data nebo nutnosti znovu zadávat heslo pro každého odesílatele nebo příjemce.

102 Kryptografická ochrana identity ve formě serverem podepsaných certifikátů a Trust On First Use (zkráceně TOFU) modelu, zajištuje ochranu před útočníky, kteří se snaží napodobit ostatní uživatele. Nextcloud podporuje dobrovolnou offline administrátorskou obnovu klíče a poskytuje kompletní audit log. Společnosti zároveň mohou nasadit hardwarový bezpečnostní modul (anglicky Hardware Security Module, zkráceně HSM) pro vydávání certifikátů uživatelům.

Nextcloud funkce Ochrana přístupu k souborům může být aktivována k vynucení End-to- end šifrování v závislosti na zadaných kritériích, například účast ve skupinách uživatelů, přípona souboru, velikost a další. Tímto způsobem je podskupina choulostivých dat ochráněna nejvyšší úrovní ochrany a ostatní data a uživatele mohou dále profitovat z jednoduchého přístupu k výměně souborů a online kolaborace.

Rizika

End-to-end šifrování v Nextcloudu je navrženo k ochránění uživatelských dat proti jakémukoliv útoku mezi koncovými zařízeními uživatele, a to i v případě nezjistitelného, dlouhotrvajícího útoku nebo proti neověřeným systémovým administrátorům.

Tato metoda nechrání samotná data na uživatelských zařízeních, ani krádež nechráněných, odemknutých uživatelských zařízení, které by dovolovalo útočníkovi získat přístup k privátním klíčům.

Šifrování v Nextcloud pomáhá ochránit data během synchronizace a na externím úložišti – v případě End-to-end šifrování dokonce i proti nedůvěryhodnému serveru.

5.7.2 Konfigurace šifrování na straně serveru

Konfigurace Nextcloud šifrování na straně serveru se skládá ze dvou částí. Základní šifrování se nastavuje na administrátorské stránce. Po povolení tohoto šifrování je poté nutné ještě načíst šifrovací modul. Jediný, v současnosti dostupný modul je Nextcloud Default Encryption Module.

103 V sekci Server-side encryption na administrátorské stránce je potřeba zvolit možnost Enable encryption. Po zvolení této možnosti se ještě zobrazí upozornění o možných rizicích šifrování.

Obrázek 59: Upozornění před aktivováním šifrování na straně serveru Zdroj: vlastní

Po opětovném zvolení možnosti Enable encryption se zobrazí hláška No encryption module loaded, please load an encryption module in the app menu.

Tento modul je tedy potřeba povolit.

Obrázek 60: Povolení defaultního šifrovacího modulu Zdroj: vlastní

Po návratu do administrátorské stránky je modul povolen a šifrování bylo aktivováno. (Nextcloud, 2018)

104 5.7.3 Konfigurace E2EE

Pro konfiguraci E2EE slouží modul s názvem End-to-End Encryption. Po povolení modulu je potřeba nastavit jednotlivé klienty. Nutno podotknout, že tato funkce je stále ještě ve vývoji a ve stabilní verzi je dostupná pouze na mobilních zařízeních. Z tohoto důvodu bude fungování E2EE předvedeno na mobilní aplikaci.

Pro demonstraci se v mobilní aplikaci vytvoří nová složka s názvem E2EE. Následně se složka nastaví jako šifrovaná. To se provede kliknutím na tři tečky vedle složky a zvolením možnosti Set as encrypted. Zobrazí se heslo sloužící pro zašifrování souborů. Následně se do této složky nahrají soubory. Na klientu pro desktop se ovšem soubory zobrazí zašifrované, protože nebyl zadán bezpečností klíč.

Obrázek 61: Povolení modulu pro E2EE Zdroj: vlastní

105

Obrázek 62: Povolení E2EE v mobilní aplikaci a bezpečnostní fráze Zdroj: vlastní

Obrázek 63: Zašifrovaná data na desktopovém klientu bez podpory E2EE Zdroj: vlastní

5.8 Mobilní aplikace

Nextcloud nabízí mobilní aplikaci pro zařízení s operačním systémem Android a iOS. Po stáhnutí z obchodu (App Store pro iOS nebo Google Play pro Android), nainstalování a spuštění aplikace je potřeba zadat IP adresu Nextcloud serveru a příslušné přihlašovací údaje. Po přihlášení aplikace zobrazí seznam souborů a složek a je připravena k použití.

106

Obrázek 64: Vyplnění přihlašovacích údajů v mobilní aplikaci Nextcloud Zdroj: vlastní

Aplikace nabízí možnost zobrazovat dokumenty, fotografie, videa a audio soubory v režimu seznamu nebo náhledů a seřazené podle abecedy, data nebo velikosti souboru. Soubory je možné přímo z mobilního zařízení editovat pomocí ostatních aplikací a změny nahrávat zpět na server. Soubory a složky je možné vytvářet, přidávat, přejmenovávat, kopírovat, přesunovat a mazat. Oblíbené soubory je možné si stáhnout do zařízení a uchovávat je v režimu offline.

Soubory a složky je také možné sdílet s ostatními členy Nextcloud serveru nebo i externě za pomocí vygenerovaného odkazu. Zároveň je u odkazu možné určit, zdali je možné soubor editovat, nastavit datum expirace nebo zabezpečit soubor heslem. V nastavení je také možnost pro zálohování a obnovu kontaktů. V nastavení je možné povolit automatickou konfiguraci kontaktů a kalendáře skrze integraci s aplikací DAVDroid. V aplikaci je možné nastavit bezpečností šifrování na straně klienta (end-to-end). Aplikace také podporuje serverové push notifikace pro seznam změn v rámci aktivity feedu.

Z aplikace je možné vyhledávat soubory a složky místně a také na celém serveru. V případě nutnosti je možné do aplikace přiřadit rovnou několiv Nextcloud účtů. Přístup do aplikace může být zabezpečen pomocí otisku prstu nebo gesta. Fotky a videa uložená na mobilním zařízení je možné automaticky zálohovat na Nextcloud server.

107 5.9 Desktopová aplikace

Desktopová aplikace Nextcloud je nabízena pro zařízení s operačním systémem Windows, macOS a Linux. Po spuštění aplikace dojde k výzvě k zadání adresy Nextcloud serveru a přihlašovacích údajů uživatele. Nextcloud poté nabídne výběr složek pro synchronizaci a umožní zvolit kořenovou složku pro ukládání souborů.

Jakýkoliv soubor, který byl přidán, upraven nebo smazán v rámci synchronizovaných složek na kterémkoliv z klientů (desktop, notebook, smartphone) se zobrazí, změní nebo odstraní na serveru a zároveň na všech připojených zařízeních. Po stisknutí pravým tlačítkem na jakýkoliv soubor umožní tento soubor sdílet s ostatními uživateli pomocí veřejného odkazu nebo e-mailu. Desktopový klient také nabízí upozornění na různé aktivity a události, jako je příchozí hovor, komentář k souboru nebo nově vytvořená složka sdílená s uživatelem.

V rámci aplikace lze také nastavit varování na přidání velkého souboru a uživatel se poté může rozhodnout, zdali chce tento soubor synchronizovat či nikoliv. Synchronizace může být libovolně pozastavována a opět povolena. Aplikace ve stabilní verzi nenabízí ochranu souborů pomocí end-to-end šifrování. V nastavení je možné v případě potřeby přidat více uživatelských účtů.

Obrázek 65: Konfigurace desktopové aplikace Nextcloud Zdroj: vlastní

108 6 Zhodnocení nového řešení

Řešení popsané v předchozích kapitolách se skládá z pronajmutí infrastruktury v cloudu u vybraného poskytovatele cloudových služeb. Dále je vybráno konkrétní řešení podle uvedených požadavků daného podniku. Zhodnocení nového řešení se tedy bude skládat ze dvou částí – zhodnocení poskytovatele cloudových služeb a zhodnocení samotného řešení produktu Nextcloud.

6.1 Poskytovatel cloudových služeb Amazon Web Services

Amazon EC2 poskytuje spolehlivou a škálovatelnou infrastrukturu v cloudu. Jedná se o nejpoužívanější produkt v daném odvětví. Během běhu instance lze jednoduše upravovat velikost úložiště, nastavení bezpečnostních skupin nebo vytvářet zálohy disku. Poskytovatel AWS je tedy vhodným řešením pro nasazení produktu Nextcloud, který na této infrastruktuře funguje bezproblémově.

Uživatelské prostředí AWS je nicméně velmi komplexní a vyžaduje studium dokumentace. Ta je velmi dobře zpracována na stránkách společnosti. Bez studia dokumentace může docházet k rizikům, která mohou ovlivnit samotné fungování produktu Nextcloud. V následujících odstavcích budou některá z těchto rizik uvedena a navržena nápravná opatření napomáhající snížení pravděpodobnosti jejich výskytů.

6.1.1 Přístup k IAM

Amazon Web Services nabízí správu uživatelského přístupu pod názvem Správa identity a přístupu (anglicky Identity and Access Management, zkráceně IAM). Přes IAM je možné dát přístup ostatním pracovníkům k určitým částem AWS prostředí. Při udělení špatného oprávnění osobě nepovolané osobě může dojít ke značným škodám na systému. Neoprávněný uživatel může například smazat celou databázi nebo smazat data.

109 Doporučení

Správa uživatelských přístupů přes IAM je vcelku snadná, pokud je osoba spravující daná oprávnění dostatečně poučená a ví, jak IAM funguje. Při vytváření nových identit a pravidel přístupu je vhodné udělovat nejnižší nutná oprávnění potřebná pro daného uživatele. V případě nutnosti je možné udělit pouze dočasný přístup k účtu a snížit tak pravděpodobnost rizika v budoucnu.

6.1.2 Málo restriktivní bezpečnostní skupiny

Administrátoři mohou vytvářet bezpečnostní skupiny povolující přístup odkud to není nutné a vytváří tak potenciální mezery pro útočníky. Přiřazení práv přes bezpečnostní skupinu je často snazší než přiřazení práv každému uživateli zvlášť. Může se tak stát, že útočník zneužije málo restriktivní pravidla bezpečností skupiny a získá přístup k výpočetním prostředkům AWS. Neoprávněný přístup mohou využít nejen útočníci, ale také boti. Tyto boti jsou automatické skripty na internetu. Hledají základní bezpečností mezery a špatně nakonfigurované skupiny na AWS s otevřenými porty.

Doporučení

Nejjednodušší způsob nápravy tohoto rizika je nechat u defaultní bezpečnostní skupiny všechny porty uzavřené. To lze ošetřit například tím, že se povolí tok dat pouze z IP adresy uživatele. Při úpravě bezpečnostní skupiny stačí zvolit volbu My IP only. Při defaultním nastavení je nastavena hodnota na 0.0.0.0/0, což značí přístup odkudkoliv.

Zároveň je vhodné dávat jednotlivým bezpečnostním skupinám názvy podle jejich účelu. Vyplatí se také pro každou instanci vytvářet vlastní bezpečnostní skupinu a mít tak možnost každou skupinu v případě nutnosti upravovat zvlášť. Oddělené bezpečnostní skupiny umožní otevírat nebo zavírat porty podle potřeby u každé instance bez nutnosti měnit pravidla u ostatních instancí.

110 6.1.3 Neoprávněný přístup k SSH serveru

Pro přístup k SSH serveru stačí útočníkovi získat přihlašovací jméno a privátní klíč a může bez problémů získat přístup k celému serveru. Odtud může zcizit citlivá data nebo změnit konfiguraci serveru tak, že se stane nepouživatelným.

Doporučení

Jedním z nejosvědčenějších řešení je používat dvoufázové ověření přístupu k SSH serveru. Tímto řešením se detailně zabývala kapitola Zabezpečení SSH serveru.

6.1.4 Přístup k S3 kyblíkům

U Nextcloud je možné nakonfigurovat externí úložiště Amazon S3. Data jsou ukládána do uskupení, kterým se říká kyblíky (anglicky buckets). Pokud je kyblík špatně nakonfigurován, hrozí únik dat. Kromě úniku dat mohou také hackeři identifikovat jméno kyblíku a pomocí této informace komunikovat s API Amazonu. V případě úspěchu jsou útočníci schopni číst, zapisovat a aktualizovat S3 kyblíky bez toho, aniž by si správce kyblíku něčeho všiml.

Doporučení

Uživatel musí být seznámen s tím, jak konfigurace S3 kyblíků funguje. Při správném nastavení přístupových práv a zamezení veřejného přístupu dojde k zabránění úniku dat na veřejnost. (Kakaria, 2018)

6.2 Produkt Nextcloud

Řešení Nextcloud poskytuje podniku vlastní službu pro ukládání souborů, která je kompletně hostovaná na vlastním serveru. Oproti službám typu Microsoft OneDrive nebo Google Drive poskytuje kontrolu nad svými daty a veškerou správu si provádí podnik sám. Kromě prostoru pro ukládání souborů Nextcloud poskytuje celou řadu nástrojů pro spolupráci s kolegy včetně sdílení kalendářů, poznámek nebo třeba použití video chatu. Je snadno rozšiřitelný

111 pomocí dalších aplikací a poskytuje i vlastní fórum pro případné dotazy. Nextcloud splňuje všechna kritéria vytyčená podnikem a jedná se tak o vhodné řešení pro daný podnik.

Největším rizikem u produktu Nextcloud je ztráta dat. Podnik si do tohoto systému ukládá citlivá data náchylná k odcizení. Z tohoto důvodu je velmi důležité data šifrovat a používat dvoufázové ověření kdekoliv to jde a snížit tak útočníkovi co nejvíce pravděpodobnost úspěšného útoku. Je vhodné používat šifrování na straně serveru a zároveň také šifrování na straně klienta. Problematikou šifrování dat na Nextcloud serveru se detailně zabývala kapitola Zabezpečení dat v Nextcloud.

112 Závěr

Cílem této diplomové práce bylo vysvětlit pojem cloud computing a termíny s ním spojené. Dále také zmínit jednotlivé modely cloud computingu a shrnout jeho výhody a nevýhody. Praktická část si poté kladla za cíl popsat rozhodování podniku o výběru cloudového řešení podle předem určených parametrů a také zmínit všechny kroky podle kterých lze dané řešení do podniku nasadit.

V teoretické části je uveden pojem cloud computing, jeho historie, definice a vývoj v čase. V kapitole Základní pojmy jsou potom vysvětleny jednotlivé termíny související s cloud computingem a také různé formy v nichž se vyskytuje. Kapitola Modely cloud computingu představuje jednotlivé distribuční modely a modely nasazení. Po vyjasnění základní terminologie jsou shrnuty jednotlivé výhody a nevýhody cloud computingu.

S neustálým růstem cloud computingu je přirozené, že bude přibývat i cloudových služeb a řešení. Mnoho těchto služeb je už v dnešní době velmi populárních a rok 2018 nevykazuje žádné známky zpomalení. Očekává se, že výdaje společností na SaaS, IaaS a PaaS budou vykazovat větší část výdajů na IT služby. Tyto služby většinou fungují na systému měsíčního nebo ročního předplatného a nabízí společnostem jednoduchost implementace a vysokého výkonu. Je pravděpodobné, že velcí poskytovatelé cloudových služeb jako jsou Amazon, Microsoft a Google budou zvyšovat svůj tržní podíl a dominovat na trhu cloud computingu.

Praktická část v kapitole Možnosti využití cloud computingu nabízí porozumět jednotlivým krokům podniku. Popisuje rozhodování o možnostech podniku využít místní infrastrukturu nebo cloudové služby. Uvádí kritéria pro výběr poskytovatele a konkrétního řešení.

Po vybrání konkrétního řešení a poskytovatele cloudových služeb jsou v kapitole Nasazení produktu Nextcloud detailně popsány jednotlivé kroky zprovoznění řešení na instanci od poskytovatele Amazon Web Services. Je vysvětleno, jak se provádí jednotlivé úkony od založení účtu na stránkách poskytovatele, konfiguraci bezpečnostních skupin, až přes zabezpečení SSH serveru a konfiguraci šifrování v produktu Nextcloud.

113 Množství dat uložených v cloudu se bude pravděpodobně zvyšovat a zároveň bude levnější si diskový prostor v cloudu pronajmout. Čím dál tím více společností přesouvá alespoň některou část své infrastruktury do cloudu a celkový objem dat se zvýší. Pro malé firmy to znamená, že budou schopny zavést cloudové úložiště podle jejich potřeb a využít potenciální efektivnost nákladů cloudu. Velké společnosti na druhou stranu mohou ukládat velké objemy dat a pomocí cloudových technologií je analyzovat a vylepšit tak svou pozici na trhu.

V poslední kapitole nazvané Zhodnocení nového řešení jsou vyhodnoceny jednotlivé části nového řešení rozdělené na poskytovatele a produkt Nextcloud. Jsou vymezena jednotlivá rizika, která mohou během používání daných technologií nastat a také navrhnuta doporučení, jak daným rizikům předcházet nebo alespoň snížit závažnost jejich dopadu.

Nové řešení od poskytovatele Amazon Web Services je možné v budoucnu škálovat podle potřeb podniku. Není tedy nutné kupovat nové úložné prostory pro data nebo dodatečný hardware. Všechny pronajímané výpočetní prostředky v cloudu mohou být rozšířeny nebo ubrány. Řešení Nextcloud je později také možné snadno upravovat, a to pomocí katalogu aplikací, který nabízí možnost doinstalování dodatečných rozšíření.

114 Seznam použité literatury

Citace

About Remote Desktop Services | Microsoft Docs [online], 2018 [cit. 2018-11-07]. Dostupné z: https://docs.microsoft.com/en-us/windows/desktop/termserv/about-terminal- services

Advantages and Disadvantages of Cloud Computing | LevelCloud [online], 2018 [cit. 2018- 11-07]. Dostupné z: https://www.levelcloud.net/why-levelcloud/cloud-education- center/advantages-and-disadvantages-of-cloud-computing/

ARTAN, Mazrekaj, 2016. Pricing Schemes in Cloud Computing: An Overview. International Journal of Advanced Computer Science and Applications.

Autentizace a autorizace - bezpečnost - Trisul.cz - 2018 [online], 2018 [cit. 2018-11-07]. Dostupné z: http://www.trisul.cz/bezpecnost-autentizace-autorizace/

AVRAM, Abel, FaaS, PaaS, and the Benefits of the Serverless Architecture [online]. 2016 [cit. 2018-11-07]. Dostupné z: https://www.infoq.com/news/2016/06/faas-serverless- architecture

BLOKLAND, Kees, Jeroen MENGERINK a Martin POL. Testing cloud services: how to test SaaS, PaaS & IaaS. Santa Barbara, CA: Rocky Nook, 2013. ISBN 978- 1937538385.

Cluster in the Cloud [online], 2018 [cit. 2018-11-07]. Dostupné z: https://docs.jelastic.com/cluster-in-cloud

Co je veřejný cloud – definice | Microsoft Azure [online]. 2018 [cit. 2018-11-07]. Dostupné z: https://azure.microsoft.com/cs-cz/overview/what-is-a-public-cloud/

Connecting to Your Linux Instance from Windows Using PuTTY - Amazon Elastic Compute Cloud [online], 2018 [cit. 2018-11-07]. Dostupné z: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

Encryption in Nextcloud – Nextcloud [online], 2018 [cit. 2018-11-07]. Dostupné z: https://nextcloud.com/blog/encryption-in-nextcloud/

115 FOLCH, Albert, 2011. Interface development for based cloud. Saulėtekio al. 11 Vilnius 10221 Litva. Master thesis. Vilnius Gediminas Technical University.

GULABANI, Sunil, 2018. Amazon Web Services Bootcamp: Develop a scalable, reliable, and highly available cloud environment with AWS. ISBN 978-1-78829-445-4.

HOFFMAN, Chris, How to Secure SSH with Google Authenticator’s Two-Factor Authentication [online]. 2012 [cit. 2018-11-07]. Dostupné z: http://www.howtogeek.com/121650/how-to-secure-ssh-with-google-authenticators- two-factor-authentication/

IQBAL, M. A., 1986. Performance tradeoffs in static and dynamic load balancing strategies [online]. [cit. 2018-11-07]. Dostupné z: https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19860014876.pdf

KAKARIA, Swaathi, Common AWS Security Threats and How to Mitigate Them [online]. 2018 [cit. 2018-11-07]. Dostupné z: https://www.sumologic.com/blog/amazon-web- services/aws-security-threats/

LACKO, Ľuboslav, 2012. Osobní cloud pro domácí podnikání a malé firmy. Brno: Computer Press. ISBN 978-80-251-3744-4.

LARKIN, Andrew, Disadvantages of Cloud Computing - Cloud Academy Blog [online]. 2018 [cit. 2018-11-07]. Dostupné z: https://cloudacademy.com/blog/disadvantages- of-cloud-computing/

LINTHICUM, David, 11 Cloud Computing Terms Defined [online]. 2016 [cit. 2018-11-07]. Dostupné z: https://cloudacademy.com/blog/11-cloud-computing-terms-defined/

MELL, Peter a Timothy GRANCE, 2011. The NIST Definition of Cloud Computing [online]. [cit. 2018-11-07]. Dostupné z: https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-145.pdf

Microsoft Azure Cloud Computing Platform & Services [online], 2018. [cit. 2018-11-07]. Dostupné z: https://azure.microsoft.com/

MOHAMED, Arif, A history of cloud computing. Computer Weekly [online]. 2015 [cit. 2018-11-06]. Dostupné z: https://www.computerweekly.com/feature/A-history-of- cloud-computing

116 MOUČKOVÁ, Kateřina. Cloud computing a jeho využití na základní škole. Plzeň, 2013. Diplomová práce. Západočeská univerzita v Plzni.

NDEGWA, Amos, What is a Web Application? [online]. 2016 [cit. 2018-11-07]. Dostupné z: https://www.maxcdn.com/one/visual-glossary/web-application/

Nextcloud [online], 2018. [cit. 2018-11-07]. Dostupné z: https://nextcloud.com/

On-premises vs. hosted cloud UC: Comparison chart [online], 2013 [cit. 2018-11-07]. Dostupné z: https://searchunifiedcommunications.techtarget.com/feature/On- premises-vs-hosted-cloud-UC-Comparison-chart ownCloud - The leading OpenSource Platform. [online], 2018. [cit. 2018-11-07]. Dostupné z: https://owncloud.org/

PEREZ, Ivan, Protecting SSH with Two-Factor authentication - root@opentodo# [online]. 2013 [cit. 2018-11-07]. Dostupné z: http://opentodo.net/2013/11/protecting-ssh-with- two-factor-authentication/

Public Cloud vs Private Cloud vs Hybrid Cloud | Microsoft Azure [online], 2018 [cit. 2018- 11-07]. Dostupné z: https://azure.microsoft.com/en-us/overview/what-are-private- public-hybrid-clouds/

Remote Desktop Services | Microsoft Docs [online], 2018 [cit. 2018-11-07]. Dostupné z: https://docs.microsoft.com/en-us/windows/desktop/termserv/terminal-services-portal

ROBERTS, Mike, Serverless Architectures [online]. 2018 [cit. 2018-11-07]. Dostupné z: https://martinfowler.com/articles/serverless.html#unpacking-faas

ROSENBLATT, Seth a Jason CIPRIANI, Two-factor authentication: What you need to know (FAQ) - CNET [online]. 2015 [cit. 2018-11-07]. Dostupné z: https://www.cnet.com/news/two-factor-authentication-what-you-need-to-know-faq/

ROUSE, Margaret, What is cloud service provider (cloud provider)? - Definition from WhatIs.com [online]. [cit. 2018-11-07]. Dostupné z: https://searchitchannel.techtarget.com/definition/cloud-service-provider-cloud- provider

117 ROUSE, Margaret, What is hybrid cloud? - Definition from WhatIs.com [online]. 2018 [cit. 2018-11-07]. Dostupné z: https://searchcloudcomputing.techtarget.com/definition/hybrid-cloud

ROUSE, Margaret, What is public cloud? - Definition from WhatIs.com [online]. 2017 [cit. 2018-11-07]. Dostupné z: https://searchcloudcomputing.techtarget.com/definition/public-cloud

SABAHI, Farzad, 2011. Cloud Computing Security Threats and Responses [online]. [cit. 2018-11-07]. ISBN 978-1-61284-486-2. Dostupné z: http://docshare04.docshare.tips/files/7933/79332692.pdf

Seafile - Open Source File Sync and Share Software [online], 2018. [cit. 2018-11-07]. Dostupné z: https://www.seafile.com/en/home/

SINGH, H.P., BHISIKAR, A. and SINGH, J., 2013. Innovative ICT through Cloud Computing. IUP Journal of Computer Sciences, 01, vol. 7, no. 1, pp. 37-52 ProQuest Central; ProQuest Technology Collection. ISSN 09739904.

State of the Cloud Report | RightScale [online], 2018 [cit. 2018-11-07]. Dostupné z: https://www.rightscale.com/lp/state-of-the-cloud

Status Checks for Your Instances - Amazon Elastic Compute Cloud [online], 2018 [cit. 2018- 11-07]. Dostupné z: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system- instance-status-check.html

SVOBODA, Jiří, 2009. Cloud Computing. T-Mobile Czech Republic a.s.

System requirements — Nextcloud 14 Administration Manual 14 documentation [online], 2018 [cit. 2018-11-07]. Dostupné z: https://docs.nextcloud.com/server/14/admin_manual/installation/system_requirement s.html

TATHAM, Simon, PuTTY FAQ [online]. 2017 [cit. 2018-11-07]. Dostupné z: https://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#faq

118 The 12 Benefits and Advantages of Cloud Computing - Salesforce.com [online], 2018 [cit. 2018-11-07]. Dostupné z: https://www.salesforce.com/hub/technology/benefits-of- cloud/

The Google Cloud Difference - Grow Your Business | Google Cloud [online], 2018 [cit. 2018-11-07]. Dostupné z: https://cloud.google.com/why-google-cloud/

Understand Elastic IP Charges [online], 2018 [cit. 2018-11-07]. Dostupné z: https://aws.amazon.com/premiumsupport/knowledge-center/elastic-ip-charges/

Understanding Hosted vs On-Premise Private Cloud - VEXXHOST [online], 2018 [cit. 2018- 11-07]. Dostupné z: https://vexxhost.com/blog/hosted-vs-on-premise-private-cloud/

VELTE, Anthony T, Toby J VELTE a Robert C ELSENPETER. Cloud computing: a practical approach. New York: McGraw-Hill, c2010. ISBN 978-0-07-162694-1.

WEBBER, Chris, Two-Factor (2fa) vs. Multi-Factor Authentication (MFA) - Definition & Differences [online]. 2016 [cit. 2018-11-07]. Dostupné z: https://blog.centrify.com/2fa-mfa-difference/

What is Cloud Computing? | Roles and Boundaries [online], [cit. 2018-11-07]. Dostupné z: http://whatiscloud.com/roles_and_boundaries/cloud_consumer

Bibliografie

FIALOVÁ, Lenka, 2016. Moderní cloudová řešení v podniku. Brno. Diplomová práce. Vysoké učení technické v Brně.

JAMSA, Kris. 2013. Cloud computing: SaaS, PaaS, IaaS, virtualization, business models, mobile, security and more. Burlington, MA: Jones. ISBN 978-144-9647-391.

LINTHICUM, David. 2014. Full Contact Cloud Computing A Step-by-step Guide for Transitioning Your Enterprise to the Cloud. John Wiley. ISBN 978-111-8710-975.

VAQUERO, Luis M., Juan CACERES a Juan J. HIERRO. 2012. Open source cloud computing systems: practices and paradigms. Hershey, Pa.: Information Science Reference. ISBN 978-1466600980.

119 Seznam příloh

Příloha A Prostředí Nextcloud ...... 121 Příloha B Prostředí EC2 ...... 122

120 Příloha A Prostředí Nextcloud

121

Příloha B Prostředí EC2

122