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.
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.
- Předchozí článek: Domácí webový server, část 3: Nastavení http virtuálního hosta
- Následující článek: FTP server na Raspberry
- Všechny články rubriky
Napište komentář
Kriminální případ: Vraždy Roberta Picktona, část 3
Upozornění: Tato epizoda obsahuje explicitní obsah týkající se vyšetřování zločinů vražd, který může být pro některé posluchače znepokojující.…
Kriminální případ: Vraždy Roberta Picktona, část 2
Upozornění: Tato epizoda obsahuje explicitní obsah týkající se vyšetřování zločinů vražd, který může být pro některé posluchače znepokojující.…
Kriminální případ: Vraždy Roberta Picktona, část 1
Upozornění: Tato epizoda obsahuje explicitní obsah týkající se vyšetřování zločinů vražd, který může být pro některé posluchače znepokojující.…
Kriminální případ: Vražda rodiny Johnson-Bentley
V srpnu 1982 se šest členů jedné rodiny vydalo na dvoutýdenní kempování na odlehlé místo ve Wells Parku v Britské Kolumbii. O měsíc později byly…
Čtyři roky s trumpetou, část 2
Výroční epizoda o mém životě s trumpetou, tentokráte již čtvrté pokračování. Dva díly shrnující rok 2023, oba napěchovány hudbou Kiksylendu a hudbou…
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.
Komentáře: 0