Domácí webový server, část 4: Nastavení virtuálního hosta pro zabezpečené připojení

Pokud byste chtěli nastavit svůj počítač v prostředí Windows jako domácí server a provozovat na něm svoje webové stránky, nebo jej třeba využít jako vzdálené úložiště, anebo si to prostě jen vyzkoušet, nabízím v tomto článku návod, jak na to. Dnes se budu věnovat nastavení přesměrování na zabezpečený port 443, nastavení virtuálního hosta a tvorbě samopodepsaného certifikátu.

Apache virtual hosts - Vytvořeno pomocí DALL·E

Jak na zabezpečené připojení

Postup nastavení domácího webového serveru, jak jsem psal v prvních třech článcích, je sice plně funkční, ale pro opravdový webový projekt bychom ovšem potřebovali zabezpečené připojení přes HTTPS. HTTP (Hypertext Transfer Protocol) a HTTPS (Hypertext Transfer Protocol Secure) jsou protokoly používané pro přenos dat na internetu, ale mají mezi sebou několik zásadních rozdílů, zejména co se týče bezpečnosti.

Zabezpečení:

•HTTP je nezabezpečený protokol, což znamená, že veškerá data přenášená mezi webovým prohlížečem a serverem jsou odesílána v čisté formě, což je zranitelné vůči odposlechu a útokům typu "man-in-the-middle".

•HTTPS je bezpečná verze HTTP. Používá šifrování (nejčastěji protokol SSL/TLS) k zabezpečení dat přenášených mezi prohlížečem a serverem. To znamená, že veškerá komunikace je šifrována a chráněna před odposlechem, falšováním a dalšími druhy útoků.

2. Porty:

•HTTP běžně používá port 80 pro připojení k webovým serverům.

•HTTPS používá port 443, což je standard pro zabezpečené komunikace.

Výkon:

•HTTP má potenciálně mírně rychlejší dobu načítání stránky v důsledku absence procesu šifrování. Avšak s moderními optimalizačními technikami a výkonnějším hardwarem se tento rozdíl stává téměř zanedbatelným.

•HTTPS může způsobit mírně pomalejší dobu načítání kvůli dodatečné režii způsobené šifrováním a dešifrováním dat. Výhody v oblasti bezpečnosti ale tento malý kompromis výkonu výrazně převažují.

SEO a důvěra:

•Weby používající HTTPS jsou vyhodnocovány vyhledávači, jako je Google, pozitivněji, což může vést k lepšímu umístění ve výsledcích vyhledávání.

•HTTPS také zvyšuje důvěru uživatelů díky zobrazení zámku v adresním řádku prohlížeče, což signalizuje zabezpečené spojení.

Z textu výše bychom měli pochopit, že rozdílů v nastavení http a HTTPS je hned několik. Shrňme si znovu, co vše budeme muset udělat:

1.      Nové nastavení přesměrování na port 443

2.      Nastavení virtuálního hosta pro port 443

3.      Vytvoření certifikátu pro zabezpečené připojení

Nastavení přesměrování na port 443

Tomuto kroku jsem se již podrobně věnoval v prvním článku tohoto seriálu, doporučuji si jej tedy před nastavováním modemu přečíst, pokud jste jej nečetli. Spusťme náš webový prohlížeč a zadejme IP adresu naší vstupní brány, tedy `192.168.1.1`, což je adresa naší lokální sítě. Mělo by se zobrazit webové konfigurační rozhraní našeho modemu, v mém případě je to TP-Link Archer. Pokud máte vytvořeny své přístupové údaje k Vašemu modemu, tak je zde vyplňte, popřípadě zadejte údaje tovární, dost často to bývá `admin`, jak pro uživatelské jméno, tak i pro heslo. Po přihlášení do administrace byste měli vidět všeliké možnosti nastavení pro Váš modem. Potřebujeme nyní najít položky pro přesměrování. Proto hledejme například: `Network`, `Virtual servers`, `Forwarding` apod. Záleží vždy ovšem na tom kterém modemu. V mém případě k nastavení přesměrování vede tato cesta: `Advanced > NAT Forwarding > Virtual Servers`. Zde vložíme nové pravidlo pro přesměrování. Každé rozhraní vypadá samozřejmě jinak, ale principiálně bude vše velmi podobné. Stiskem `ADD` můžeme zadat nové pravidlo. Zadejme poté údaje níže do příslušných polí:

a) Service Type: https

b) External Port: 443

c) Internal IP: 192.168.1.120 (IP adresa Vašeho počítače v lokální síti)

d) Internal Port: 443

e) Protocol: TCP or UDP

Máte-li hotovo, změny uložte a můžete opustit konfiguraci modemu.

Nastavení virtuálního hosta pro port 443

Tomuto tématu jsem se podrobně věnoval ve třetím článku tohoto seriálu, doporučuji si jej tedy také přečíst, pokud jste jej nečetli. Soubor, který budeme editovat je opět `httpd-vhosts.conf` a najdeme jej v adresáři ` xampp\apache\conf\extra` a vložíme do něj tento kód:

<VirtualHost *:443>

    DocumentRoot "D:/project/webserver/www"

    ServerName 48.16.158.160

    SSLEngine on

    SSLCertificateFile "C:/workspace/php/webserver/server.crt"

    SSLCertificateKeyFile "C:/workspace/php/webserver/server.key"

    <Directory "D:/project/webserver/www">

     #use mod_rewrite for pretty URL support

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

    </Directory>

<Location />

    Require all granted

</Location>

</VirtualHost>

Připomínám jen prosím, že podrobný popis všech řádků tohoto nastavení, najdete ve třetím článku tohoto seriálu. Oproti nastavení pro port 80, je zde největší změnou tato direktiva:

    SSLEngine on

    SSLCertificateFile "C:/workspace/php/webserver/server.crt"

    SSLCertificateKeyFile "C:/workspace/php/webserver/server.key"

Z výše uvedeného je zřejmé, že budeme pro zabezpečené připojení potřebovat ještě certifikát a klíč. Abychom mohli vytvořit certifikát od certifikačních autorit, bylo by nutné, aby náš projekt nesl nějaké doménové jméno, například `example.com`. Já pro svoji veřejnou IP doménové jméno nemám, proto mohu vytvořit pro svůj projekt jen self-signed certifikát pomocí Open SSL.

Instalace OpenSSL na Windows

1.      Stažení OpenSSL:

Prvním krokem je stažení binární distribuce OpenSSL pro Windows. Můžete navštívit oficiální stránky OpenSSL nebo použít distribuci, jako je Win32/Win64 OpenSSL od Shining Light Productions, která je široce používána a dobře dokumentována.

2. Instalace:

Po stažení spusťte instalační program a postupujte podle pokynů k instalaci OpenSSL na vašem systému. Během instalace si zaznamenejte cestu, kam se OpenSSL instaluje, protože budete potřebovat přidat OpenSSL do systémové proměnné PATH.

3. Nastavení systémové proměnné PATH:

Abyste mohli spouštět OpenSSL z příkazové řádky bez nutnosti zadávat celou cestu k executable, přidejte cestu k adresáři bin OpenSSL do systémové proměnné PATH.

•Otevřete Systémové vlastnosti > Pokročilé nastavení systému > Proměnné prostředí.

•V sekci Systémové proměnné najděte proměnnou `Path` a vyberte Upravit.

•Přidejte cestu k adresáři bin vaší instalace OpenSSL (např. `C:\Program Files\OpenSSL-Win64\bin`).

•Klikněte na OK a restartujte příkazovou řádku, aby se změny projevily.

Vytvoření SSL/TLS Certifikátu pomocí OpenSSL na Windows

Po úspěšné instalaci OpenSSL můžete pokračovat vytvořením SSL/TLS certifikátu:

1. Otevření Příkazové řádky:Otevřete příkazovou řádku jako administrátor a vstupte do svého adresáře, kde je umístěn Váš projekt.

2. Vytvoření Privátního Klíče a samopodepsaného certifikátu :

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt -config C:\Program Files\OpenSSL-Win64\bin\openssl.cnf

Tímto vytvoříte klíč a SSL certifikát, který je platný 365 dní. Posledním příkazem tohoto promptu je cesta ke konfiguračnímu souboru, cestu si samozřejmě zvolte sami svoji vlastní. Objevovala se mi totiž vždy chyba, že nelze najít cestu ke konfiguračnímu souboru. Pokud jste při vytváření byli ve složce s projektem, soubory se vytvořily do kořene Vašeho projektu a tím by mělo být všechno nastaveno. Nyní stačí jen do prohlížeče zapsat https:// a Vaši veřejnou IP adresu. Pamatujte, že při použití samopodepsaného certifikátu prohlížeče obvykle zobrazí varování o nebezpečí spojení, protože certifikát není vydán důvěryhodnou certifikační autoritou. Pro veřejně přístupné webové stránky je vhodnější získat certifikát od uznávané certifikační autority.


Komentáře: 0
Napište komentář

Výlet do neznáma

Píseň z alba Rozpaky, inspirovaná neznámou dívkou v modrém... Text i hudba byli napsány 9. 12. 2018.

Podzim

Báseň a píseň z alba Rozpaky vydaná v roce 2019. Báseň byla napsána za letní noci 21. 8. 2016, nevzpomínám si přesně, ale myslím, že nad sklenkou whisky.

Třešně a led

Píseň z alba Rozpaky inspirovaná událostmi prvních lednových dní roku 2003. Píseň patří všem, kteří toho roku tragicky zahynuli... Text byl napsán 4. 7. 2016. Hudba byla napsána 27. 8. 2016.

Světem vcelku

Píseň z alba Rozpaky. Inspirace všeobímající, tak trochu osobní výpověď. Pojednání o věcech těžko pochopitelných. Text byl napsán 29. 11. 2015. Hudba byla napsána v lednu 2016.

Změna

Píseň z alba Rozpaky inspirovaná podzimními událostmi roku 2003. Text byl napsán 24. 8. 2016. Hudba byla napsána 20. 12. 2018.

Čumísek

Píseň z alba Rozpaky inspirovaná událostmi roku 2003. Text byl napsán 9. 7. 2016. Hudba byla napsána 17. 12. 2018.

Takový jako tento

Píseň z alba Rozpaky inspirovaná jak jinak nešťastnou láskou. Hudba původně z anglickým textem byla napsána v září 2003. Text byl napsán 20. 2. 2016.

Služby zdarma

Píseň z alba Rozpaky inspirovaná nehynoucí touhou všelijakých obchodníků prodat vám cokoli. Text i hudba byli napsány 10. 5. 2017.

Málem omylem

Vzpomínka na první červencové dny roku 2003. Pokud se vám náhodou něco někdy nepovede, nesahejte na alkohol, je to velice zlý pán a nemá slitování. Text písně byl napsán 8. 5. 2017.

Tak dávno

Vzpomínka na první červencové dny roku 2003. Text i hudba byli napsány 10. 5. 2017.

Video

Zbyněk Sklenský na vernisáži v Knížecím domě v Moravském Krumlově

Populární podcastové epizody

Všechny podcasty
Upovídaný podcast

Rozhovor s Michalem o Betwindu, část 1

Rozhovor s Michalem Králem o kapele Betwind jako pokračování mojí kytarové cesty. V první části nahrávka písně Figure

Zbyněk Sklenský

Zbyněk Sklenský

Upovídaný podcast

Přání k Vánocům

Vánoční přání a nahrávka Chtíc, aby spal

Vzpomínky nejen školní, část 1: Gymnázium

Úsměvné vzpomínky na léta nejen školní. Přeji příjemný poslech

Upovídaný podcast

Kiksylend na Portě

Jaké to bylo na letošní portě? Působení Kiksylendu na legendárním hudebním festivalu, nahrávky písní Kavárenský povaleč, Kateřina a MDŽ a dále kratičké představení celkového vítěze Porty.

Rozhovor s Michalem o Betwindu, část 2

Rozhovor s Michalem Králem o kapele Betwind jako pokračování mojí kytarové cesty. Ve druhé části píseň Ophelia

Vzpomínky nejen školní, část 4: Gymnázium naposledy

Závěrečný díl školních vzpomínek

Vzpomínky nejen školní, část 3: Gymnázium potřetí

Již třetí pokračování školních vzpomínek, tentokráte bude o panu řediteli a o gymnaziálním biologovi a chemikovi v jedné osobě. Přeji příjemný poslech

Vzpomínky nejen školní, část 2: Gymnázium podruhé

Další vzpomínky na školní léta z Gymnázia, tentokráte bude o našem dějepisáři a češtináři v jedné osobě. Přeji příjemný poslech!

Bez peněz do hospody nelez

Pročpak asi není dobré jíti do hospody bez peněz? Přece tam jistě bude spousta lidí, kteří za vás rádi zaplatí, nebo ne?

jaký šel, takového potkal

Jak se dnešní přísloví odráží v našem životě a jak naše chování a postoje ovlivňují lidi, které potkáváme?

Podcast Přísloví pro každý den

Další epizody
Přísloví pro každý den

Kráva zajíce nedohoní

Dnešní přísloví pojednává o realistických očekáváních a limitech schopností a o důležitosti přizpůsobení nároků reálným možnostem.

Zbyněk Sklenský

Zbyněk Sklenský

K pramenům řeky Rokytné II.

Kde je dar, tam je i dárce

Že dar musí mít svého dárce je jasné, ale přemýšleli jste někdy, co všechno by se mohlo ještě pod těmito slovy skrývat? Nabízím zde svoji krátkou úvahu.

Důvěřuj, ale prověřuj

Je vůbec možné důvěřovat a prověřovat zároveň? Nejedná se spíše o protimluv? Krátké zamyšlení nad známým příslovím

K pramenům řeky Rokytné II.

Drzé čelo lepší než poplužní dvůr

Co je vlastně drzé čelo a co přesně poplužní dvůr? A proč by mělo býti lepší? Málo známé přísloví ovšem opět velmi aktuální

Jak se do lesa volá, tak se z něho ozývá

Krátké zamyšlení o aplikaci přísloví v každodenním životě a také o tom, jak může sloužit jako cenná životní moudrost.

Dobrý nápad chodívá málokdy sám

Pocházejí veliké myšlenky jen od velikých lidí, nebo jsou veliké myšlenky vždy jen fúzí myšlenek lidí předešlých?

Devatero řemesel, desátá bída

Jestliže desátá by měla být bída, pak je lépe devatero řemesel nezkoušet, ale co když desátý by mohl být ten pravý poklad? Kdo to ví? Krátké zamyšlení nad známým příslovím

Jedna vlaštovka jaro nedělá

Že jedna vlaštovka jaro nedělá sice víme, ale proč vlastně? Drobné zamyšlení nad známým příslovím

jaký šel, takového potkal

Jak se dnešní přísloví odráží v našem životě a jak naše chování a postoje ovlivňují lidi, které potkáváme?

Ježek sám sobě kadeřav

Přestože ježek kadeřemi neoplývá, občas se s nimi chlubí. Znáte nějakého takového?