42
Altairis, s.r.o. | Veletržní 31, 170 00 Praha 7| www.altairis.cz | [email protected] DIČ: CZ27560911 | Společnost je zapsána v obchodním rejstříku vedeném Městským soudem v Praze, oddíl C, vložka 113979 Streisand: Vlastní VPN server pro vyšší bezpečnost i obcházení cenzury Internetu Michal Altair Valášek [email protected] @ridercz

Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

Altairis, s.r.o. | Veletržní 31, 170 00 Praha 7| www.altairis.cz | [email protected] DIČ: CZ27560911 | Společnost je zapsána v obchodním rejstříku vedeném Městským soudem v Praze, oddíl C, vložka 113979

Streisand: Vlastní VPN server pro vyšší bezpečnost i obcházení cenzury Internetu

Michal Altair Valášek [email protected] @ridercz

Page 2: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž
Page 3: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

3

Obsah Obsah ................................................................................................................................................................................ 3

Co je VPN a proč ji chcete používat .................................................................................................................................. 5

Virtuální privátní síť ................................................................................................................................................ 5

Proč používat VPN? ................................................................................................................................................. 6

VPN jako služba a proč ji nepoužívat ...................................................................................................................... 6

Vlastní brána v oblacích .......................................................................................................................................... 6

Streisand Effect a Streisand server ......................................................................................................................... 7

Návod k použití návodu .................................................................................................................................................... 9

Typografické konvence ........................................................................................................................................... 9

01. Vytvoření virtuálního počítače u Digital Ocean ........................................................................................................ 11

Vytvoření dropletu (virtuálního serveru) .............................................................................................................. 11

První přihlášení ..................................................................................................................................................... 12

02. Vytvoření virtuálního počítače v Microsoft Azure ................................................................................................... 15

Vytvoření Azure Cloud Shellu ............................................................................................................................... 15

Vytvoření SSH klíčů ............................................................................................................................................... 16

Vytvoření VM pomocí skriptu ............................................................................................................................... 16

První připojení přes SSH ........................................................................................................................................ 18

03. Nastavení dynamického DNS .................................................................................................................................... 19

04. Instalace Streisand serveru ....................................................................................................................................... 21

05. Nastavení L2TP/IPSec VPN na Windows 10 a Windows 8.1 ..................................................................................... 27

Získání přihlašovacích údajů ................................................................................................................................. 27

Příprava připojení ................................................................................................................................................. 28

Vytvoření nového VPN připojení .......................................................................................................................... 28

Odpojení od VPN a opětovné připojení ................................................................................................................ 30

06. Nastavení L2TP/IPSec VPN na Windows 7 ................................................................................................................ 31

Získání přihlašovacích údajů ................................................................................................................................. 31

Příprava připojení ................................................................................................................................................. 32

Vytvoření nového VPN připojení .......................................................................................................................... 32

Odpojení od VPN a opětovné připojení ................................................................................................................ 35

07. Nastavení L2TP/IPSec VPN na Androidu 6.0 ............................................................................................................. 37

08. Instalace a konfigurace OpenVPN na Windows ........................................................................................................ 39

Získání konfiguračního souboru ............................................................................................................................ 39

Příprava OVPN souboru ........................................................................................................................................ 39

Instalace OpenVPN ............................................................................................................................................... 40

Konfigurace OpenVPN .......................................................................................................................................... 40

Připojení a odpojení VPN ...................................................................................................................................... 40

09. Zrušení a opětovné zřízení dropletu u Digital Ocean ................................................................................................ 41

Vytvoření snapshotu ............................................................................................................................................. 41

Zrušení dropletu ................................................................................................................................................... 42

Opětovné zřízení dropletu ze snapshotu .............................................................................................................. 42

Poznámky k používání snapshot ........................................................................................................................... 42

Datum vydání: 5.12.2017

Verze: 11

Aktuální verzi této příručky najdete vždy ke stažení na https://altair.is/streisand

Page 4: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

4

Toto dílo je šířeno pod licencí CC BY-SA 4.0 – Creative Commons Attribution-ShareAlike

4.0 International1. Můžete ho nadále šířit a upravovat za předpokladu, že uvedete

původního autora a budete-li jej šířit pod stejnou licencí.

Za spolupráci při tvorbě české verze děkuji následujícím lidem (a jiným druhům, vy víte co jste zač):

• Richard Torhan

• Kamil Roman

• Jakub Čermák

1 https://creativecommons.org/licenses/by-sa/4.0/

Page 5: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

5

Co je VPN a proč ji chcete používat

Virtuální privátní síť

VPN znamená Virtual Private Network, tedy virtuální privátní síť. Můžete si ji představit jako virtuální kabel, který je

natažen mezi dvěma body Internetu, skrze různé jiné sítě. Jako tunel, skrz který tečou data.

Uživatel InternetRouter

VPN gateway

VPN

Typické použití VPN je ve firemní sféře, kde se mohou uživatelé z vnější sítě (Internetu, třeba zaměstnanci z domova

nebo z hotelu na služební cestě) připojit do vnitřní sítě firmy a tváří se, jako kdyby byli fyzicky přítomni. Skrze VPN se

ovšem můžete připojit i do dalších sítí a do Internetu. Pokud máte „vytočeno“ VPN spojení, jde (resp. může jít

v závislosti na nastavení) veškerý provoz do Internetu nejdříve skrz VPN a poté z tamní sítě „zpět“ do Internetu. Pro

zbytek světa to přitom vypadá, jako by se uživatel připojoval z místa, kde VPN končí. Lze tak „schovat“ fyzické i síťové

umístění uživatele.

Uživatel Internet VPN gateway

VPN

Cílová služba

VPN jsou navíc typicky šifrované. Provozovatelé sítí, skrz které provoz teče, do něj na rozdíl od obvyklého stavu

nemohou nijak zasahovat a nedokáží jej ani přečíst. Poznají sice, že je ustaveno VPN spojení a že jsou přes něj

přenášena nějaká data (a jejich objem), ale to je zhruba všechno.

Page 6: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

6

Proč používat VPN?

Bezpečí na cestách

Právě tato vlastnost virtuálních privátních sítí vede k tomu, že se používají i v případě, že chceme přistupovat

k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž zcela

nedůvěřujeme. Například do veřejných sítí v restauracích, hotelech a na letištích a podobně. Provozovatele těchto

sítí zpravidla neznáme a nevíme, zda jim můžeme důvěřovat. Zabezpečení těchto sítí navíc nebývá na moc vysoké

úrovni, takže i pokud nepodezíráme ze zlých úmyslů přímo provozovatele, musíme se mít na pozoru před nekalými

úmysly ostatních uživatelů.

Některé protokoly – například HTTPS a další protokoly zabezpečené pomocí TLS – jsou sice proti útokům tohoto typu

do jisté míry chráněny, ale stoprocentně spolehnout se na to zpravidla nemůžeme, potenciál k útokům je příliš velký.

Takovou nedůvěryhodnou síť můžeme přesto bezpečně využívat – pokud ji použijeme jenom jako cestu k ustavení

tunelu – VPN – do nějakého důvěryhodného bodu, odkud pak přistupujeme dále do Internetu.

Ochrana před blokováním a cenzurou

Použití VPN nás také může ochránit před cenzurou Internetu nebo blokováním „nevhodných“ stránek. Jednoduše se

z cenzurované sítě připojíme někam, kde omezení již neplatí.

Provoz VPN jako takové samozřejmě lze blokovat také. Ovšem pouze jako celek, nelze zabránit pouze určitému

druhu provozu nebo dalšímu spojení. A ačkoliv je to technicky možné – a celkem snadné – zpravidla se tak neděje.

Jak již bylo popsáno výše, VPN se rutinně využívají v profesionální praxi. Používají se ve firemním prostředí, používají

se pro správu serverů a sítí (na řadu serverů není z bezpečnostních důvodů možný přístup z Internetu, ale jenom

z vnitřní sítě, do níž se lze dostat VPNkou).

Pokud tedy budete chtít přistupovat k webu, který je z rozhodnutí ministerstva financí blokován v ČR, stačí vytočit

VPN kamkoliv za hranice, kde je Internet ještě svobodný, a připojit se odtamtud.

VPN jako služba a proč ji nepoužívat

Poslední dobou se roztrhl pytel s komerčními i bezplatnými službami, které nabízejí VPN nebo se tak přinejmenším

tváří. Zdánlivě se jedná o nejjednodušší řešení – stačí využívat příslušnou službu a je hotovo. Nicméně tento postup

obecně nedoporučuji.

Použitím VPN se bezpečnostní problémy neřeší, jenom se přesunou – na provozovatele VPN, do jehož rukou

svěřujete svou bezpečnost a své soukromí. Protože on vidí a obecně může modifikovat váš provoz. Ukazuje se, že

všichni provozovatelé VPN (zejména těch bezplatných nebo levných) nejsou až tak důvěryhodní. Někteří modifikují

váš provoz a vkládají do webových stránek svou reklamu. Většinou si musíte nainstalovat speciální klientský program,

který může nainstalovat pokud ne přímo malware, tak přibalené další programy, bez kterých byste se obešli.

Bezpečnost samotných VPN také není vždy dobrá, nedávné studie prokázaly, že mnoho poskytovatelů má své servery

nastavené špatně a provoz lze dešifrovat nebo na něj úspěšně útočit jinak.

Vlastní brána v oblacích

Pokud toho jsme technicky a organizačně schopni, je samozřejmě nejlepší si provozovat vlastní VPN server (také se

mu někdy říká VPN gateway, brána) v prostředí, kterému důvěřujeme. Odkudkoliv se pak můžeme připojit na server

pod naší kontrolou a pak z něj dále.

Tento postup je výhodný i v případě, že se nacházíme v síti (nebo zemi), která si nepřeje, aby její uživatelé VPN

obecně používali, třeba k obcházení vynucené cenzury. Jak již bylo řečeno, není obvykle žádoucí blokovat VPN jako

takové. Ale je snadné blokovat konkrétní populární poskytovatele VPN služeb – to dělají například v Číně.

Page 7: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

7

Technologií pro provoz VPN je navíc celá řada a některé z nich jsou navržené tak, že při pohledu zvenčí nevypadají

jako VPN, ale jako běžný provoz, např. HTTPS.

VPN gateway můžeme rozběhnout například u sebe doma nebo ve firmě, pokud k tomu máme vhodné připojení

a server, ale jednodušší a výhodnější může být umístit ji k některému poskytovateli cloudových služeb. A to hned

z několika důvodů:

• Je to snadné a levné; v návodu popisované řešení jste schopni provozovat s nákladem v desetikorunách

měsíčně.

• Cloudové služby nabízejí dostatečné rychlosti připojení, aby nás VPN příliš nezpomalovala.

• Na připojení k cloudovým serverům není nic nestandardního ani podezřelého. Běží tam statisíce různých

webů a různých služeb.

• Je snadné změnit IP adresu cloudového serveru, pokud to potřebujeme.

• Lze si vybírat z mnoha datacenter po celém světě. Můžeme se tvářit jako uživatel z jiné země a obejít tak

například různá regionální omezení.

Streisand Effect a Streisand server

Streisand Effect je název pro situaci, kdy snaha skrýt nějakou informaci nebo zabránit jejímu šíření vede k opačnému

efektu, zvýšení zájmu o ni. Je pojmenován podle případu, kdy se herečka Barbra Streisand snažila soudně zakázat

šíření fotografie svého domu. Před podáním žaloby byl snímek ze stránky fotografa stažen pouze šestkrát, z toho

dvakrát hereččinými právníky. Měsíc po podání žaloby si jej prohlédlo přes 420 000 lidí.

Streisand je název projektu pro snadné a automatizované vytvoření serveru pro VPN gateway. Vytvořit a

zkonfigurovat VPN server ručně není triviální. Streisand tento proces automatizuje. Jedná se o sadu skriptů, které

umí po zadání přístupových údajů k poskytovateli cloudových služeb (podporováni jsou Amazon EC2, Digital Ocean,

Google Compute Engine, Linode a Rackspace) vytvořit cloudový server a na dálku na něm zkonfigurovat VPN

gateway.

Podporuje přitom několik různých protokolů a typů VPN. Nejpoužívanější je nejspíše standardní L2TP/IPSec, pro

který je podpora ve všech běžných operačních systémech. Streisand ale umožňuje i připojení přes OpenConnect,

Cisco AnyConnect, OpenVPN, Shadowsocks, Stunnel, Tor nebo WireGuard.

Streisand je zároveň navržen jako bezúdržbový, resp. server se udržuje a aktualizuje sám, je-li v provozu.

Tento princip, tedy vytváření na dálku, je však poněkud těžkopádný pro běžné uživatele, kteří nemají k dispozici další

server, na kterému by si rozjeli příslušnou instrumentaci. Naštěstí však existuje návod, jak vše zkonfigurovat na

cloudovém serveru přímo. Článek The VPN You Should Be Using2, jehož autorem je Jerry Gamblin, se stal základem

tohoto návodu.

2 https://jerrygamblin.com/2016/07/10/the-vpn-you-should-be-using/

Page 8: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž
Page 9: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

9

Návod k použití návodu Tato příručka obsahuje několik návodů, pomocí kterých můžete nainstalovat a zkonfigurovat vlastní VPN server

v cloudu. Návody nemusíte realizovat všechny, vyberte si ty, které budete potřebovat.

• Návod 01. Vytvoření virtuálního počítače u Digital Ocean vás seznamuje s poskytovatelem cloudových

služeb Digital Ocean. Ukáže vám, jak si tam můžete zřídit účet a vytvořit virtuální server. V návodu 02.

Vytvoření virtuálního počítače v Microsoft Azure najdete tento postup pro cloudovou službu od Microsoftu,

která nyní nabízí VM na rok zdarma.

• Návod 03. Nastavení dynamického DNS se bude hodit, pokud nechcete svůj VPN server nechat běžet trvale.

V takovém případě se totiž bude měnit jeho IP adresa. V tomto návodu si ukážeme, jak můžete pomocí

služby FreeMyIP změny IP adres sledovat a mít server dostupný vždy pod stejnou IP adresou.

• Návod 04. Instalace Streisand serveru je jádrem této příručky. Popisuje postup pro vytvoření VPN serveru

Streisand. Zde by návod v zásadě mohl skončit, protože Streisand vám dává instrukce, jak se připojit pomocí

různých metod. Tyto instrukce jsou bohužel místy zastaralé a místy poněkud matoucí, proto jsem připravil

další návody, které jsou podrobnější a aktuální.

• Návody 05. Nastavení L2TP/IPSec VPN na Windows 10 a Windows 8.1, 06. Nastavení L2TP/IPSec VPN na

Windows 7 a 07. Nastavení L2TP/IPSec VPN na Androidu 6.0 se zabývají možností připojení pomocí

L2TP/IPSec. Výhodou této technologie je, že ji podporuje naprostá většina platforem. Tento návod se zabývá

platformami Windows a Android, na návodech pro Mac OS a iOS se pracuje. Nevýhodou je, že tato

technologie nefunguje vždy a v některých sítích je (záměrně nebo špatnou konfigurací) blokována.

• Návod 08. Instalace a konfigurace OpenVPN na Windows proto popisuje jiný způsob připojení, OpenVPN.

To sice vyžaduje instalaci příslušného software, ale je jednodušší na konfiguraci a funguje spolehlivěji i

v různě divně nastavených sítích. Opět platí, že ačkoliv popisuji pouze instalaci pod Windows, OpenVPN

klient je dostupný pro většinu běžných platforem.

• Poslední návod 09. Zrušení a opětovné zřízení dropletu u Digital Ocean vám může ušetřit peníze, protože

ukazuje, jak můžete virtuální server spustit (a platit za něj) jenom když ho používáte.

Typografické konvence

Jednotlivé návody jsou prezentovány formou tabulky s po sobě následujícími očíslovanými kroky. Při práci na si

jednotlivé body odškrtávejte tužkou. Přeskočení jednoho bodu může znamenat problém, který se ale projeví až

o mnoho kroků později a může být obtížné ho odhalit.

1. Jednotlivé kroky jsou uvedeny v tabulce a očíslovány.

2. Názvy příkazy a URL jsou psány tímto neproporcionálním písmem.

3. Názvy prvků uživatelského rozhraní programů, menu a podobně jsou psány kurzívou. Pro ukázku hierarchie v menu se používá šipka: File Open.

Kontextové poznámky a doplňující informace jsou psány takto, v samostatných buňkách.

4. Delší sekvence příkazů jsou zapsány takto: root@server:~$ passwd Changing password for root. (current) UNIX password: stareheslo Enter new UNIX password: noveheslo Retype new UNIX password: noveheslo

Příkazy, které máte zadat jsou zobrazeny tučně. Pokud text nebude při zadávání vidět (typicky hesla) je zobrazen přeškrtnutý.

Page 10: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž
Page 11: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

11

01. Vytvoření virtuálního počítače u Digital Ocean 1. Otevřete v prohlížeči adresu https://www.digitalocean.com/.

Můžete se též registrovat přes tuto adresu: https://m.do.co/c/121847281617. To je můj referral link a pokud se přes něj přihlásíte, dostanete do začátku kredit 10 USD a já dostanu provizi, když něco utratíte.

2. Klepněte na tlačítko Sign Up.

3. Vytvořte si nový uživatelský účet. To předpokládá i ověření e-mailové adresy a zadání informací o platební kartě.

Vytvoření dropletu (virtuálního serveru)

4. Po přihlášení klepněte na zelené tlačítko Create Droplet v pravé horní části stránky.

5. V sekci Choose an image vyberte Ubuntu 16.04 x64:

6. V sekci Choose a size zvolte nejmenší velikost za $ 5 měsíčně:

7. Sekci Add block storage ponechte beze změny.

8. V sekci Choose a datacenter region si zvolte místo, kde se má váš server nacházet:

Pro všechny, k nimž se poté z VPN připojíte, to bude vypadat jako kdybyste se nacházeli v zemi, kterou si teď zvolíte. To může být užitečné pro obcházení různých regionálních blokování a podobně. Já jsem v příkladu

Page 12: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

12

výše zvolil Frankfurt, protože je k nám z hlediska síťové topologie obvykle nejblíže a spojení tedy bude nejrychlejší.

9. Sekci Select additional options ponechte beze změny.

10. Sekci Add your SSH keys ponechte beze změny.

Pokud umíte používat SSH a autentizaci klíči, můžete je samozřejmě použít a ušetřit si práci s opisováním hesla a ještě zvýšit bezpečnost.

11. V sekci Finalize and create dejte svému serveru jméno (např. streisand) a klepnutím na velké tlačítko Create jej vytvořte.

12. Čekejte, bude to nějakou dobu trvat, přibližně minutu až dvě.

První přihlášení

13. O vytvoření serveru budete informováni e-mailem. Součástí zprávy je též IP adresa, uživatelské jméno (root) a jednorázové heslo, které použijete pro první připojení:

14. Pro připojení použijte SSH klienta. V následujícím příkladu používám standardní SSH, které je součástí Bash on Ubuntu on Windows, tedy linuxového subsystému ve Windows 10. Můžete nicméně použít například populární PuTTY3 nebo cokoliv jiného.

Pokud žádného SSH klienta nemáte a nechcete si ho instalovat, můžete použít i webové rozhraní DigitalOcean. U dropletu klepněte na More v pravé části a z rozbalovacího seznamu zvolte Access Console.

15. Připojte se jako uživatel root k IP adrese vašeho serveru (zde v příkladu uvádím 198.51.100.1): altair@akhal-teke:~$ ssh [email protected]

3 http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Page 13: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

13

Budete vyzváni k ověření pravosti klíče serveru (zobrazený fingerprint bude jiný než v příkladu). Odpovězte yes a stiskněte Enter. The authenticity of host '198.51.100.1 (198.51.100.1)' can't be established. ECDSA key fingerprint is b5:ec:b8:cb:9e:b0:fc:7b:3e:2a:54:8a:88:22:91:3e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '198.51.100.1' (ECDSA) to the list of known hosts.

Zadejte jednorázové heslo, které jste obdrželi e-mailem. [email protected]'s password: dcff3a239de25f7f84a602a098 You are required to change your password immediately (root enforced) Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-66-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 0 packages can be updated. 0 updates are security updates. The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.

Po prvním přihlášení si musíte změnit heslo. Zadejte ještě jednou heslo, které jste dostali e-mailem a pak dvakrát nové heslo. To již po prvotní konfiguraci nebudete k připojování k VPN potřebovat. Changing password for root. (current) UNIX password: dcff3a239de25f7f84a602a098 Enter new UNIX password: noveheslo Retype new UNIX password: noveheslo

Jakmile uvidíte text v následujícím tvaru, jste úspěšně přihlášeni. root@streisand:~#

Page 14: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž
Page 15: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

15

02. Vytvoření virtuálního počítače v Microsoft Azure Jiným cloudovým poskytovatelem je Microsoft Azure. V době psaní tohoto článku nabízí na 12 měsíců zdarma

virtuální server velikosti B1S (1 CPU core, 1 GB RAM), jinak stojí $4.46 měsíčně. Pro prvních 30 dnů máte k dispozici

navíc kredit $200 na využití ostatních služeb. Po uplynutí těchto 30 dnů je nutné přejít na Pay-as-you-go program,

kdy za služby, které nejsou zdarma, platíte standardní sazbu.

1. Otevřete v prohlížeči adresu https://www.azure.com/.

2. Klepněte na odkaz Start Free a přihlašte se svým Microsoft účtem nebo si vytvořte nový. V průběhu registrace budete muset ověřit své telefonní číslo a zadat číslo platební karty (nebudete ale nic platit, pokud to v Azure explicitně nepovolíte).

Vytvoření Azure Cloud Shellu

Potřebná VM se dá v Azure „naklikat“ přes webové rozhraní, ale rychlejší je využít funkci Azure Cloud Shell, což je

příkazová řádka v prohlížeči. Pomocí ní se také dá celý proces dobře automatizovat. Další výhodou Azure Cloud

Shellu je, že se pomocí něj můžete na vytvořený server připojit přes SSH rovnou z prohlížeče, bez nutnosti cokoliv

instalovat na svůj lokální počítač.

3. Po přihlášení v pravém horním rohu klepněte na symbol >_:

4. Ve spodní části okna prohlížeče se zobrazí okno, kde si budete moci vybrat, zda chcete používat Bash nebo PowerShell. V tomto návodu budeme používat Bash, proto na něj klepněte:

5. V následujícím dialogu klepněte na Create storage:

Page 16: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

16

6. Vyčkejte, dokud neproběhne vytvoření Azure Cloud Shellu. Že je vše dokončeno poznáte tak, že se vám zobrazí prompt v následujícím tvaru: uzivatel@Azure:~$

7. Kdykoliv budete chtít v Azure používat příkazový řádek, stačí klepnout na ikonku >_ na vrchu stránky.

Vytvoření SSH klíčů

Pro přihlašování k vašemu cloudovému serveru budeme používat místo hesla SSH klíč. Je to bezpečnější a

pohodlnější.

8. Pár SSH klíčů vytvořte následujícím příkazem: username@Azure:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/username/.ssh/id_rsa): (stiskněte ENTER) Created directory '/home/username/.ssh'. Enter passphrase (empty for no passphrase): (stiskněte ENTER) Enter same passphrase again: (stiskněte ENTER) Your identification has been saved in /home/username/.ssh/id_rsa. Your public key has been saved in /home/username/.ssh/id_rsa.pub. The key fingerprint is: SHA256:8xafXuWck0rI4PLhZx35TE8sVApjXp9Ey1eTA+L46UA username@cc-5b9d-ba50de7d-459161135-226p4 The key's randomart image is: +---[RSA 2048]----+ | . .ooo| | o = o+=| | E + +.*+| | . . o o.o| | So.o ....| | .o=o.+.==| | . oo++.**+| | +..+.o.oo| | oo .. | +----[SHA256]-----+

Pokud si chcete vygenerované klíče lokálně zazálohovat, což je dobrý nápad, můžete si je vypsat následujícími příkazy:

• Veřejný klíč: cat .ssh/id_rsa.pub

• Tajný klíč: cat .ssh/id_rsa Vypsané hodnoty si přes schránku uložte a zazálohujte

Vytvoření VM pomocí skriptu

Proces vytváření a konfigurace VM jsem pro vás naskriptoval. Skript vytvoří Azure Resource Group jménem

Streisand. RG je organizační jednotka, skupina různých služeb, které lze jednotně spravovat a případně smazat.

Dále pak vytvoří Network Security Group a v ní pravidla pro firewall, která povolí porty potřebné pro různé služby,

které Streisand poskytuje. Jako poslední vytvoří vlastní VM.

9. Následujícím příkazem stáhněte skript pro vytvoření VM (celý příkaz musí být na jednom řádku): username@Azure:~$ wget https://raw.githubusercontent.com/ridercz/Scripts/master/StreisandAzure/streisand-create-vm.sh --2017-10-22 16:34:04-- https://raw.githubusercontent.com/ridercz/Scripts/master/StreisandAzure/streisand-create-vm.sh Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.36.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.36.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 3435 (3.4K) [text/plain] Saving to: ‘streisand-create-vm.sh’ streisand-create-vm.sh 100%[===============================================================>] 3.35K --.-KB/s in 0s 2017-10-22 16:34:04 (55.7 MB/s) - ‘streisand-create-vm.sh’ saved [3435/3435]

10. Následujícím příkazem nastavte soubor streisand-create-vm.sh jako spustitelný: username@Azure:~$ chmod +x streisand-create-vm.sh

Page 17: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

17

11. Následujícím příkazem skript spusťte: username@Azure:~$ ./streisand-create-vm.sh

Skript se nastavuje pomocí následujících proměnných prostředí:

Název Popis Výchozí hodnota REGION Azure region (umístění serveru) WestEurope

RG_NAME Název resource group Streisand

NSG_NAME Název network security group StreisandNSG-$REGION

VM_NAME Název virtuálního serveru Streisand-$REGION

VM_SIZE Velikost virtuálního serveru Standard_B1s

VM_SSH_KEY Cesta k použitému SSH klíči ~/.ssh/id_rsa.pub

LOGFILE Cesta k vytvářenému log souboru streisand-create-vm-*.log

Proměnné prostředí se nastavují před spuštěním skriptu příkazem export NÁZEV=hodnota. Záleží na velikosti velkých a malých písmen. Tj. např. budete-li chtít VM umístit do regionu EastUS, zadejte před spuštěním následující příkaz: username@Azure:~$ export REGION=EastUS

V době psaní tohoto textu byla bezplatná velikost B1S dostupná v regionech EastUS, WestUS2, WestEurope a SoutheastAsia.4

12. Skript vypíše seznam nastavení: Configured options for a Streisand VM: Region: WestEurope Resource Group: Streisand Network Security Group: StreisandNSG-WestEurope VM Name: Streisand-WestEurope VM Size: Standard_B1s VM SSH Key: /home/username/.ssh/id_rsa.pub Log file name: streisand-create-vm-20171204-214627.log This script will take about 10-15 minutes to complete. Are you sure you want to continue? (y/N)

Pokud s hodnotami souhlasíte, zadejte y a stiskněte ENTER. Pokud chcete něco změnit, stiskněte naprázdno ENTER a upravte proměnné jak bylo napsáno výše.

13. Vyčkejte, dokud neproběhnou všechny operace. To bude trvat cca. 10-15 minut. Na konci skript vypíše výsledek podobný následujícímu: Creating Azure Resource Group Streisand... Creating Network Security Group StreisandNSG-WestEurope... Adding firewall rules to StreisandNSG-WestEurope: SSH... IPSec-IKE... IPSec-L2TP... IPSec-NATT... HTTPS... HTTP... OpenConnect-TCP... OpenConnect-UDP... OpenVPN-TCP... OpenVPN-UDP... … Creating VM... Migrating disk to cheaper Standard tier: Deallocating current VM... Updating disk... Starting VM... Done, the following VMs are available in the Streisand resource group: Name IP Location Size Provisioning State -------------------- ------------ ---------- ------------ -------------- ---------- Streisand-WestEurope 198.51.100.1 westeurope Standard_B1s Succeeded VM running It took 12 min, 10 sec. Log file is available: streisand-create-vm-20171204-214627.log

14. IP adresa nově vytvořené VM se nachází ve sloupci IP, zde 198.51.100.1.

4 Dostupnost služeb v jednotlivých regionech najdete na https://azure.microsoft.com/en-us/regions/services/

Page 18: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

18

První připojení přes SSH

15. Na server se připojte následujícím příkazem (IP adresu nahraďte dle předchozího kroku): username@Azure:~$ ssh 198.51.100.1

Nemusíte zadávat žádné jméno a heslo, autentizujete se pomocí SSH klíče vytvořeného v kroku 8.

16. Při prvním přihlášení budete vyzváni k potvrzení správnosti SSH klíče serveru. Zadejte yes: The authenticity of host '198.51.100.1 (198.51.100.1)' can't be established. ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '198.51.100.1' (ECDSA) to the list of known hosts.

17. Jakmile uvidíte následující text, jste přihlášeni: Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.11.0-1013-azure x86_64) … username@Streisand-WestEurope:~$

Page 19: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

19

03. Nastavení dynamického DNS Náš server má dynamicky přidělenou IP adresu, která se může měnit, pokud ho budete používat jenom občas. Proto

použijeme službu FreeMyIP, která umožní přidělit tomuto serveru logické jméno, které bude stálé.

1. Otevřete v prohlížeči adresu https://www.freemyip.com/.

2. Do pole Domain name zadejte název, který chcete používat. Musí být unikátní. V příkladech dále používám hostname streisand-demo.freemyip.com, ale vy si zvolte jiný. Poté klepněte na Check Availability.

3. Pokud daný hostname není volný, zkuste to znovu. Pokud je, klepněte na Submit.

4. Služba vám vygeneruje URL zhruba v následujícím formátu (skutečná adresa se bude lišit): https://freemyip.com/update?token=xxxxxxxxxxxxxxxxxx&domain=streisand-demo.freemyip.com

Pokud uděláte HTTP request na tuto adresu, nasměruje se hostname (zde streisand-demo.freemyip.com) na tu IP adresu, z níž požadavek přišel. Potřebujeme tedy zařídit, aby po každém restartu server poslal tento HTTP request pomocí příkazu curl. To zařídíme pomocí služby Cron, což je plánovač událostí.

5. Připojte se pomocí SSH na server.

6. Na serveru spusťte příkaz sudo crontab -e, kterým spustíte editaci tabulky plánovače událostí. Když se vás zeptá, jaký editor chcete používat, zvolte možnost 2, tedy /bin/nano: user@streisand:~$ sudo crontab -e no crontab for root - using an empty one Select an editor. To change later, run 'select-editor'. 1. /bin/ed 2. /bin/nano <---- easiest 3. /usr/bin/vim.basic 4. /usr/bin/vim.tiny Choose 1-4 [2]: 2

7. Ukáže se vám rozhraní textového editoru GNU Nano. Pomocí šipek dojděte na konec souboru (za řádky začínající znakem #, což znamená komentář.

8. Přidejte nový řádek, který bude obsahovat @reboot curl a adresu získanou v bodu 4 v uvozovkách: @reboot curl "https://freemyip.com/update?token=xxxxxxxxxxxxx&domain=streisand-demo.freemyip.com"

9. Vyskočte z editoru stiskem kláves Ctrl+X (označeno jako ^X).

10. Na otázku Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ? odpovězte Y.

11. Název souboru nechte beze změny (stiskněte pouze Enter).

12. Následujícím příkazem restartujte server, čímž vyzkoušíte, že se aktualizace DNS provede: user@streisand:~$ sudo reboot now

Page 20: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž
Page 21: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

21

04. Instalace Streisand serveru Důležitá poznámka: Následující příklad předpokládá, že jste na serveru přihlášeni jako root (administrátor). Tak

funguje například DigitalOcean. V případě Windows Azure jste přihlášeni jako jiný uživatel.

Pokud je poslední znak promptu # (např. root@streisand:~#), nemusíte nic dělat, máte práva roota. Pokud je

poslední znak promptu $ (např. user@streisand:~$), zadejte před vykonáním příkazů v tomto příkladu následující

příkazy:

username@Streisand-WestEurope:~$ sudo su

root@streisand:/home/username# cd ~

root@streisand:~#

Povšimněte si přitom, že po zadání sudo su se změnil poslední znak z $ na #, protože jste tímto příkazem získali

práva roota. Příkaz sudo se dá s jistou mírou tolerance přirovnat k UAC promptu z Windows.

1. Připojte se pomocí SSH na server (nyní již nemusíte používat IP adresu, ale můžete použít DNS jméno, které jste nastavili v předchozím příkladu 03. Nastavení dynamického DNS).

2. Vytvořte pár klíčů pro ssh připojení následujícím příkazem: root@streisand:~/streisand# ssh-keygen Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): (zadejte heslo nebo jen ENTER) Enter same passphrase again: (zadejte heslo nebo jen ENTER) Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:HA7NBCPRWdn0+Cy1ztU0pXj4DTmYcNONk78Vy6qCwQ4 root@streisand The key's randomart image is: +---[RSA 2048]----+ | ooo+o+o o. +.| | .o=. .= *=+o| | . + . B B++| | + . + + O+| | . S . + + =| | E o + o . | | o o + | | o . . | | . | +----[SHA256]-----+

Tyto klíče nebudeme sami k ničemu používat, ale potřebuje je instalace Streisand.

3. Připravil jsem skript, který řadu následujících kroků provede automaticky. Pokud jej chcete použít, pokračujte následujícím krokem. Pokud mi nevěříte (což je docela správné) a chcete celý proces udělat sami, pokračujte krokem číslo 8.

4. Následujícím příkazem stáhněte skript pro vytvoření VM (celý příkaz musí být na jednom řádku): username@Azure:~$ wget https://raw.githubusercontent.com/ridercz/Scripts/master/StreisandAzure/streisand-setup.sh --2017-10-22 16:34:04-- https://raw.githubusercontent.com/ridercz/Scripts/master/StreisandAzure/streisand-setup.sh Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.36.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.36.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 3435 (3.4K) [text/plain] Saving to: ‘streisand-setup.sh’ streisand-setup.sh 100%[===============================================================>] 3.35K --.-KB/s in 0s 2017-10-22 16:34:04 (55.7 MB/s) - ‘streisand-setup.sh’ saved [3435/3435]

5. Následujícím příkazem nastavte soubor streisand-setup.sh jako spustitelný: username@Azure:~$ chmod +x streisand-setup.sh

6. Následujícím příkazem skript spusťte: username@Azure:~$ ./streisand-setup.sh

Page 22: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

22

7. Poračujte krokem číslo 14 – několik kroků můžete přeskočit, udělal je za vás skript.

8. Na serveru zadejte následující příkaz, kterým aktualizujete seznam dostupných balíčků a nainstalované balíčky samotné. To bude trvat několik minut. root@streisand:~# apt-get update && apt-get upgrade -y Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] Hit:2 http://ams2.mirrors.digitalocean.com/ubuntu xenial InRelease … Fetched 11.5 MB in 4s (2,418 kB/s) Reading package lists... Done root@streisand:~#

9. Zadejte následující příkaz, kterým nainstalujete komponenty, které Streisand potřebuje. Opět to bude nějakou dobu trvat: root@streisand:~# apt-get install -y git python-paramiko python-pip python-pycurl python-dev build-essential Reading package lists... Done Building dependency tree Reading state information... Done … Setting up python-wheel (0.29.0-1) ... Setting up python-pycurl (7.43.0-1ubuntu1) ... Processing triggers for libc-bin (2.23-0ubuntu7) ... root@streisand:~#

10. Zadejte následující příkaz, kterým nainstalujete Ansible, který Streisand využívá pro konfiguraci: root@streisand:~# pip install ansible markupsafe Collecting ansible Downloading ansible-2.2.2.0.tar.gz (2.5MB) 100% |████████████████████████████████| 2.5MB 353kB/s … Successfully installed PyYAML-3.12 ansible-2.2.2.0 dopy-0.3.5 jinja2-2.9.6 markupsafe-1.0 requests-2.13.0 root@streisand:~#

11. Zadejte následující příkaz, kterým stáhnete aktuální verzi Streisand z Githubu: root@streisand:~# git clone https://github.com/jlund/streisand.git Cloning into 'streisand'... remote: Counting objects: 6470, done. remote: Compressing objects: 100% (58/58), done. remote: Total 6470 (delta 27), reused 0 (delta 0), pack-reused 6409 Receiving objects: 100% (6470/6470), 1.11 MiB | 0 bytes/s, done. Resolving deltas: 100% (3793/3793), done. Checking connectivity... done. root@streisand:~/streisand/playbooks#

12. Přejděte do nově vytvořeného adresáře streisand následujícím příkazem: root@streisand:~# cd streisand

13. Spusťte instalaci následujícím příkazem: root@streisand:~/streisand# ./streisand

14. Spustí se průvodce, kde jako první zvolte volbu 7 (instalace na lokální server) a potvrďte zadáním slova streisand. Nechcete instalaci customizovat, takže na příslušnou otázku jenom naprázdno odešlete ENTERem. S T R E I S A N D Created new Streisand home directory: /root/.streisand Created new Streisand site vars file: /root/.streisand/site.yml Which provider are you using? 1. Amazon 2. Azure 3. DigitalOcean 4. Google 5. Linode 6. Rackspace 7. Localhost (Advanced) 8. Existing Server (Advanced) :7 LOCAL PROVISIONING WILL OVERWRITE CONFIGURATION ON **THIS** MACHINE.

Page 23: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

23

THE MACHINE YOU ARE CURRENTLY EXECUTING THIS SHELL SCRIPT ON. ARE YOU 100% SURE THAT YOU WISH TO CONTINUE? Please enter the word 'streisand' to continue: streisand Confirmed. Continuing Do you wish to customize which services Streisand will install? Please enter the word 'yes' or hit enter to continue: (stiskněte ENTER) Installing Streisand services specified in /root/.streisand/site.yml …

15. Nyní proběhne řada akcí, může to trvat i několik minut.

16. Na následující výzvu zadejte DNS název vašeho Streisand serveru, vytvořený v předchozím návodu 03. Nastavení dynamického DNS. Také zadejte e-mailovou adresu, na kterou vám mají být zasílány zprávy při problémech s certifikátem. Which domain do you want to use to host Streisand server? This is an optional question. If you have a domain that points to your Streisand server, the installation scripts can request Let's Encrypt HTTPS certificates for you automatically. If you do not provide one or the request fails, self-signed certificates will be used instead. If you have just created a new cloud server in previous steps, it is good time to point your domain to your server's public address, as DNS changes take time to propagate. Please type your domain below. Press enter to skip. : streisand-demo.freemyip.com Which email address do you want to use as contact of Streisand server? This is an optional question. The email is only used as contact method of your Let's Encrypt account. Please type your email below. Press enter to skip. : [email protected]

17. Vyčkejte. Nyní se vše instaluje a konfiguruje a bude to trvat docela dlouho, několik desítek minut.

18. Po úspěšném dokončení instalace se zobrazí následující zpráva: TASK [streisand-gateway : Success!] ************************************************************* [streisand-gateway : Success!] Server setup is complete. The `streisand.html` instructions file in the generated-docs folder is ready to give to friends, family members, and fellow activists. Press Enter to continue.:

Stiskněte ENTER a nenechte se zaskočit zobrazenou chybou, že není možné otevřít HTML soubor.

19. Informace potřebné pro připojení k vašemu novému Streisand serveru se nacházejí ve složce generated-docs. Název souboru je odvozen od názvu vašeho serveru. Seznam souborů si můžete vypsat pomocí následujícího příkazu: root@streisand:~/streisand# ls -l generated-docs/ total 32 -rw-r--r-- 1 root root 7363 Oct 21 23:07 streisand-firewall-information-fr.html -rw-r--r-- 1 root root 7351 Oct 21 23:07 streisand-firewall-information.html -rw-r--r-- 1 root root 7431 Oct 21 23:07 streisand-fr.html -rw-r--r-- 1 root root 7280 Oct 21 23:07 streisand.html

Nejdůležitější soubor se základními informacemi se v tomto případě jmenuje streisand.html. V něm se nacházejí důležité informace a je nutné ho zobrazit.

Instrukce zkopírujte na svůj počítač. Pokud máte na svém počítači SCP a umíte jej používat, pokračujte následujícím krokem. Pokud nemáte, pokračujte krokem 22.

20. Následujícím příkazem (spuštěným na lokálním počítači, ne na vzdáleném serveru) zkopírujte soubor streisand.html na svůj počítač. Místo streisand-demo.freemyip.com opět zadejte váš název serveru a místo streisand.html název souboru. Uživatelské jméno root před zavináčem nahraďte svým uživatelským jménem (v Microsoft Azure je odvozeno od vaší e-mailové adresy a vidíte ho v rámci promptu před zavináčem, případně jej můžete zjistit pomocí příkazu whoami). scp [email protected]:~/streisand/generated-docs/streisand.html streisand.html

Page 24: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

24

21. Lokálně stažený soubor otevřete v prohlížeči a opište si přihlašovací údaje:

Pokračujte krokem 26.

22. Nemáte-li SCP, můžete si na server nainstalovat textový prohlížeč Lynx následujícím příkazem: root@streisand:~# apt-get install -y lynx Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: lynx-common The following NEW packages will be installed: lynx lynx-common 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 1,035 kB of archives. After this operation, 2,761 kB of additional disk space will be used. Get:1 http://mirrors.digitalocean.com/ubuntu xenial/universe amd64 lynx-common all 2.8.9dev8-4ubuntu1 [411 kB] … Setting up lynx (2.8.9dev8-4ubuntu1) ... update-alternatives: using /usr/bin/lynx to provide /usr/bin/www-browser (www-browser) in auto mode root@streisand:~#

23. Prohlížení souboru spustíte následujícím příkazem (název souboru upravte dle skutečnosti): root@streisand:~# lynx ~/streisand/generated-docs/streisand.html

Page 25: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

25

24. Zobrazí se vám informační soubor – opište si přihlašovací údaje:

25. Z prohlížeče vyskočíte klávesou Q a potvrdíte ENTER.

26. Zadejte do prohlížeče adresu uvedenou v instrukčním souboru (zde https://streisand-demo.freemyip.com). Pro přihlášení uveďte uživatelské jméno streisand a heslo uvedené v instrukčním souboru.

27. Na tomto webu najdete personalizované informace potřebné pro připojení pomocí různých typů VPN (pozor, jsou jiné než výše uvedené jméno a heslo, to slouží pouze k připojení na informační server). Můžete se jimi řídit, případně můžete použít další návody v této příručce, které jsou podrobnější a aktualizované.

Page 26: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž
Page 27: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

27

05. Nastavení L2TP/IPSec VPN na Windows 10 a Windows 8.1

Získání přihlašovacích údajů

1. Zadejte do prohlížeče adresu svého Streisand serveru a přihlaste se jménem a heslem, viz konec předchozího příkladu 04. Instalace Streisand serveru.

2. Zobrazí se vám stránka s konkrétním návodem na nastavení jednotlivých VPN:

3. Klepněte na odkaz L2TP/IPsec.

4. Klepněte na odkaz Windows a poté Manual VPN configuration.

5. Najděte v seznamu bod číslo 12. Hodnota na šedém pozadí je vaše heslo (na obrázku níže extremism-remades, vaše bude jiné). Toto heslo si poznamenejte.

6. Najděte v seznamu krok číslo 20. Hodnota na šedém pozadí je váš pre-shared key (na obrázku níže anthelices-barrettes-peptized, váš bude jiný). Tento klíč si poznamenejte.

Page 28: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

28

Příprava připojení

7. Spusťte příkazovou řádku jako správce. Stiskněte klávesy Win+X a z menu zvolte Command prompt (Admin), případně PowerShell (Admin):

8. Zadejte do příkazové řádky následující příkaz (celý musí být na jednom řádku): REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 2

Novější verze Windows mají ve výchozím nastavení problém ustavit VPN, pokud jsou za NAT bránou či routerem, což bývá obvyklé. Výše uvedený příkaz toto nastavení změní.

9. Aby se změny projevily, restartujte počítač.

Vytvoření nového VPN připojení

10. Poté klepněte pravým tlačítkem na ikonu síťového připojení na hlavním panelu a z kontextového menu zvolte Open Network and Sharing Center.

11. Klepněte na Set up a new connection or network:

Page 29: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

29

12. Klepněte na Connect to a workplace a poté na Next.

13. Klepněte na Use my Internet connection (VPN).

14. Zadejte IP adresu vašeho Streisand serveru do pole Internet address. Spojení můžete pojmenovat (Destination name). Poté klepněte na Create.

15. V okně Network and Sharing Center klepněte na Change adapter settings:

16. Klepněte na název připojení (určený v kroku 8, zde Streisand) pravým tlačítkem a z kontextového menu zvolte Properties.

Page 30: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

30

17. Nastavte podrobnější parametry připojení:

• Na záložce Security nastavte jako Type of VPN hodnotu Layer 2 Tunneling Protocol with IPSec (L2TP/IPSec).

• Klepněte na tlačítko Advanced Settings a zadejte hodnotu preshared key zjištěnou v kroku 6 a potvrďte klepnutím na OK.

• V části Authentication povolte jako protokol Challenge Handshake Authentication Protocol (CHAP) a zrušte zaškrtnutí Microsoft CHAP version 2 (MS-CHAP v2).

• Poté klepněte na OK.

18. Klepněte na ikonu síťových připojení na hlavním panelu.

19. V seznamu připojení klepněte na název nově vytvořeného připojení (Streisand) a poté na tlačítko Connect.

20. Zadejte uživatelské jméno streisand a heslo zjištěné v kroku 5 a klepněte na OK.

21. Váš počítač se nyní připojí k VPN a bude do Internetu přistupovat jejím prostřednictvím

Pokud by vám připojení nefungovalo, je možné, že jej blokuje (záměrně nebo technickou chybou) váš router nebo poskytovatel připojení. V takovém případě je nutné buďto změnit konfiguraci nebo použít některou z jiných metod připojení, které Streisand podporuje.

Odpojení od VPN a opětovné připojení

22. Pokud se chcete od VPN odpojit, klepněte na ikonu síťových připojení na hlavním panelu, v seznamu zvolte název svého připojení (Streisand) a poté klepněte na tlačítko Disconnect.

23. Budete-li se chtít znovu připojit, stačí opět klepnout na ikonu síťových připojení, v seznamu zvolit připojení Streisand a klepnout na Connect.

Page 31: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

31

06. Nastavení L2TP/IPSec VPN na Windows 7

Získání přihlašovacích údajů

1. Zadejte do prohlížeče adresu svého Streisand serveru a přihlaste se jménem a heslem, viz konec příkladu 04. Instalace Streisand serveru.

2. Zobrazí se vám stránka s konkrétním návodem na nastavení jednotlivých VPN:

3. Klepněte na odkaz L2TP/IPsec.

4. Klepněte na odkaz Windows.

5. Najděte v seznamu bod číslo 12. Hodnota na šedém pozadí je vaše heslo (na obrázku níže extremism-remades, vaše bude jiné). Toto heslo si poznamenejte.

6. Najděte v seznamu bod číslo 20. Hodnota na šedém pozadí je váš pre-shared key (na obrázku níže anthelices-barrettes-peptized, váš bude jiný). Tento klíč si poznamenejte.

Page 32: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

32

Příprava připojení

7. Spusťte příkazovou řádku jako správce. Do vyhledávání v nabídce Start zadejte cmd. Poté co bude nalezen program cmd.exe na něj klepněte pravým tlačítkem a z kontextového menu zvolte Run as administrator.

8. Zadejte do příkazové řádky následující příkaz (celý musí být na jednom řádku): REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 2

Novější verze Windows mají ve výchozím nastavení problém ustavit VPN, pokud jsou za NAT bránou či routerem, což bývá obvyklé. Výše uvedený příkaz toto nastavení změní.

9. Aby se změny projevily, restartujte počítač.

Vytvoření nového VPN připojení

10. Poté klepněte pravým tlačítkem na ikonu síťového připojení na hlavním panelu a z kontextového menu zvolte Open Network and Sharing Center.

11. Klepněte na Set up a new connection or network:

12. Klepněte na Connect to a workplace a poté na Next.

13. Klepněte na Use my Internet connection (VPN).

Page 33: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

33

14. Zadejte IP adresu vašeho Streisand serveru do pole Internet address. Spojení můžete pojmenovat (Destination name). Zaškrtněte Don’t connect now; just set it up so I can connect later. Poté klepněte na tlačítko Next.

15. V dalším kroku průvodce zadejte uživatelské jméno (streisand) a heslo zjištěné v kroku 5. Zaškrtněte Remember this password a klepněte na tlačítko Create.

16. Spojení je vytvořeno. Klepněte na tlačítko Close.

17. V okně Network and Sharing Center klepněte na Change adapter settings:

18. Klepněte na název připojení (určený v kroku 8, zde Streisand) pravým tlačítkem a z kontextového menu zvolte Properties.

Page 34: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

34

19. Nastavte podrobnější parametry připojení:

• Na záložce Security nastavte jako Type of VPN hodnotu Layer 2 Tunneling Protocol with IPSec (L2TP/IPSec).

• Klepněte na tlačítko Advanced Settings a zadejte hodnotu preshared key zjištěnou v kroku 6 a potvrďte klepnutím na OK.

• V části Authentication povolte jako protokol Challenge Handshake Authentication Protocol (CHAP) a zrušte zaškrtnutí Microsoft CHAP version 2 (MS-CHAP v2).

• Poté klepněte na OK.

20. Klepněte na ikonu síťových připojení na hlavním panelu. V seznamu připojení klepněte na název nově vytvořeného připojení (Streisand) a poté na tlačítko Connect.

21. V dalším okně klepněte na Connect.

Page 35: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

35

Pokud toto okno nechcete v budoucnu zobrazovat, klepněte na Properties a potom zrušte zaškrtnutí Prompt for name and password, certificate, etc.

22. Zobrazí se okno s informacemi o průběhu připojování, které se posléze samo zavře.

23. Váš počítač se nyní připojil k VPN a bude do Internetu přistupovat jejím prostřednictvím

Pokud by vám připojení nefungovalo, je možné, že jej blokuje (záměrně nebo technickou chybou) váš router nebo poskytovatel připojení. V takovém případě je nutné buďto změnit konfiguraci nebo použít některou z jiných metod připojení, které Streisand podporuje.

Odpojení od VPN a opětovné připojení

24. Pokud se chcete od VPN odpojit, klepněte na ikonu síťových připojení na hlavním panelu, v seznamu zvolte název svého připojení (Streisand) a poté klepněte na tlačítko Disconnect.

25. Budete-li se chtít znovu připojit, stačí opět klepnout na ikonu síťových připojení, v seznamu zvolit připojení Streisand a klepnout na Connect.

Page 36: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž
Page 37: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

37

07. Nastavení L2TP/IPSec VPN na Androidu 6.0 1. Zadejte do prohlížeče adresu svého Streisand serveru a přihlaste se jménem a heslem, viz konec

předchozího příkladu 04. Instalace Streisand serveru.

2. Zobrazí se vám stránka s konkrétním návodem na nastavení jednotlivých VPN:

3. Klepněte na odkaz L2TP/IPsec.

4. Klepněte na odkaz Android. Můžete postupovat podle návodu na webu (pouze jako název serveru zadejte DNS jméno vašeho serveru, ne IP adresu), nebo postupovat dalšími kroky zde.

5. Najděte v seznamu bod číslo 8. Hodnota na šedém pozadí je váš pre-shared key (na obrázku níže anthelices-barrettes-peptized, váš bude jiný). Tento klíč si poznamenejte.

6. Najděte v seznamu bod číslo 12. Hodnota na šedém pozadí je vaše heslo (na obrázku níže extremism-remades, vaše bude jiné). Toto heslo si poznamenejte.

7. Spusťte na svém zařízení s Androidem aplikaci Settings.

8. V sekci Wireless & Networks klepněte na More....

9. Klepněte na VPN.

Page 38: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

38

10. Klepněte na tlačítko + v pravém horním rohu.

11. V následném dialogu vyplňte parametry:

• Název: Streisand (případně jaký chcete)

• Type: L2TP/IPSec PSK

• Server address: název serveru, zde streisand-demo.freemyip.com

• IPSec pre-shared key: Hodnota zjištěná v kroku 5. Poté klepněte na Save.

12. Klepněte na název nově vytvořeného připojení.

13. Zadejte uživatelské jméno streisand a heslo zjištěné v kroku 6 a klepněte na Connect.

14. Pro odpojení klepněte na název VPN a poté na Disconnect.

Page 39: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

39

08. Instalace a konfigurace OpenVPN na Windows

Získání konfiguračního souboru

Soubory s nastavením si můžete stáhnout i přes scp, pokud ho máte a umíte používat. Použijte následující příkaz, upravený podle názvu vašeho serveru (celý musí být na jednom řádku): scp [email protected]:/var/www/streisand/openvpn/client-1/streisand-combined.ovpn streisand-combined.ovpn V cestě můžete používat client-1 až client-5, podle toho pro kterého uživatele chcete soubor získat. Pokud již soubor máte, pokračujte krokem číslo 8.

1. Zadejte do prohlížeče adresu svého Streisand serveru a přihlaste se jménem a heslem, viz konec příkladu 04. Instalace Streisand serveru.

2. Zobrazí se vám stránka s konkrétním návodem na nastavení jednotlivých VPN:

3. Klepněte na odkaz OpenVPN (direct).

4. Na samém konci stránky najdete profily ke stažení. Jsou tam tři sekce:

• Alternate unified profiles for access via port 443

• Alternate unified profiles for access via UDP port 8757

• Alternate profile that will cycle through UDP port 8757, TCP port 636, and TCP port 443 V různých sítích mohou být blokovány různé porty. Váš VPN server naslouchá na několika různých, aby zvýšil šanci, že budete úspěšní. Z tohoto pohledu je nejlepší profil v poslední sekci, který bude postupně zkoušet různé metody.

5. Stáhněte si soubor s příponou .ovpn. Na výběr máte z pěti variant s pěti různými náhodně vygenerovanými jmény, můžete použít kterýkoliv z nich (jde o pět různých profilů pro až pět různých uživatelů).

Příprava OVPN souboru

Stažený soubor má v názvu IP adresu, jmenuje se např. 198.51.100.1-combined.ovpn. I pro připojení se používá

IP adresa, nikoliv DNS jméno. To je v pořádku v případě, že neplánujete adresu svého Streisand serveru nikdy měnit

(poběží nepřetržitě). Pokud ale chcete server zapínat a vypínat dle potřeby (viz návod 09. Zrušení a opětovné zřízení

dropletu u Digital Ocean), museli byste po každé změně IP adresy stahovat nový profil.

6. Otevřete stažený soubor v textovém editoru, např. v Notepadu.

7. Pomocí funkce Edit Replace zaměňte v souboru všechny výskyty IP adresy (zde 198.51.100.1) za název vašeho serveru (v příkladu streisand-demo.freemyip.com)

Page 40: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

40

Instalace OpenVPN

8. Otevřete v prohlížeči adresu https://openvpn.net/.

9. Klepněte na odkaz Community.

10. Klepněte na odkaz Downloads v levém menu.

11. Stáhněte si instalátor pro Windows:

12. Spusťte stažený instalátor OpenVPN.

13. Klepněte na tlačítko Next.

14. Klepnutím na I Agree odsouhlaste licenční podmínky.

15. Ponechte výchozí nastavení komponent pro instalaci a klepněte na Next.

16. Ponechte výchozí instalační adresář a klepněte na Install.

17. Potvrďte instalaci ovladače pro TAP.

18. Dokončete instalaci klepnutím na Next a Finish.

Konfigurace OpenVPN

19. Spusťte program OpenVPN GUI.

20. Zobrazí se varování, že nejsou definovány žádné profily. Zavřete ho klepnutím na OK.

21. Na liště se objeví nová ikonka OpenVPN. Klepněte na ni pravým tlačítkem a z kontextového menu zvolte Import file...

22. Vyberte soubor s příponou .ovpn, stažený v kroku číslo 5W.

Připojení a odpojení VPN

23. Pro připojení do VPN klepněte na ikonku v liště pravým tlačítkem a zvolte Connect.

24. Zobrazí se okno s popisem průběhu připojování. Když zmizí a ikonka v liště změní barvu na zelenou, jste připojeni.

25. Pro odpojení klepněte na ikonku v liště pravým tlačítkem a zvolte Disconnect.

Page 41: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

41

09. Zrušení a opětovné zřízení dropletu u Digital Ocean Provoz nejmenšího virtuálního serveru (dropletu) u Digital Ocean stojí $ 5 měsíčně. VPN ovšem nejspíš nebudete

používat celou dobu, takže můžete ještě ušetřit a virtuální server mít spuštěný pouze ve chvíli, kdy jej chcete využít.

Aby se za něj neplatilo, nestačí ovšem virtuální počítač pouze vypnout. Musíte ho úplně zrušit a příště zřídit znovu.

Ovšem abyste nemuseli začínat vždy od nuly, můžete si udělat takzvaný snapshot – obraz virtuálního počítače, který

je možné kdykoliv proměnit na droplet.

Vytvoření snapshotu

1. Přihlašte se na svůj server pomocí SSH nebo webové konzole.

2. Následujícím příkazem server vypněte: root@streisand:~# shutdown -hP now Connection to streisand-demo.freemyip.com closed by remote host. Connection to streisand-demo.freemyip.com closed.

Vypnutí serveru není absolutně nezbytné, snapshot lze udělat i z běžícího počítače. Z důvodu konzistence dat se nicméně doporučuje server vypnout.

3. Otevřete v prohlížeči adresu https://www.digitalocean.com/ a přihlašte se svým jménem a heslem.

4. V seznamu dropletů klepněte na název vašeho Streisand serveru.

5. V levém menu klepněte na odkaz Snapshot.

6. Zadejte název snapshotu (například ve formátu streisand-RRRRMMDD-hhmm) a klepněte na tlačítko Take Live Snapshot.

7. Vyčkejte, dokud se nevytvoří snapshot, což může nějakou trvat několik minut. I za snapshot se platí, ale méně. Za snapshot typického Streisand serveru zaplatíte přibližně 3 Kč měsíčně.

Page 42: Streisand: Vlastní VPN server pro vyšší bezpečnost i ... · k Internetu, ne do nějaké konkrétní vnitřní sítě. V praxi se často k Internetu připojujeme do sítí, jimž

42

Zrušení dropletu

8. V levém menu klepněte na odkaz Destroy.

9. Na stránce klepněte na velké tlačítko Destroy.

10. V potvrzovacím dialogu klepněte na tlačítko Confirm.

11. Nyní je droplet zničen a neplatíte za něj. Platíte pouze za diskový prostor zabraný snapshotem, což jsou minimální částky.

Opětovné zřízení dropletu ze snapshotu

12. Klepněte na odkaz Images v horní části stránky.

13. V seznamu snapshotů vyberte ten správný a klepněte na odkaz More vpravo.

14. Z menu zvolte Create Droplet.

15. Podobně jako při vytvoření nového dropletu můžete zvolit jeho velikost (a cenu) a pojmenovat ho.

16. Klepnutím na tlačítko Create droplet vytvoříte a nastartujete.

Poznámky k používání snapshot

Procesem zrušení a nového vytvoření dropletu se změní jeho IP adresa a tím i IP adresa, pod kterou přistupujete do

Internetu. To může být dobrou obranou proti případnému sledování.

Snapshot můžete používat opakovaně – stačí jej vytvořit jednou, nemusíte jej znovu vytvářet před každým zrušením

dropletu. Nicméně je třeba jej udržovat aktuální, což Streisand za běhu dělá automaticky. Jednou za čas je tedy

dobré vytvořit nový snapshot a ten starý smazat.