Požadavky
Tato příručka používá Ubuntu 16.04 jako operační systém, na kterém běží webový server. Stejné kroky však lze použít pro všechny ostatní verze Ubuntu, pokud v nastavení není žádný rozdíl. Tato příručka předpokládá, že uživatel již má nainstalovaný webový server a je to Nginx. Jako SSH klient se používá Putty a jako editor souborů se doporučuje Nano.
Řešení
- Webový server vytvořený na Droplets je přístupný přes SSH protokol. Stáhněte si a nainstalujte Putty z jeho oficiálních webových stránek. Aplikace je zcela zdarma.
- Po stažení Putty pokračujte a stáhněte si Nano. Účelem Putty je přístup k linuxové konzoli pro zadávání příkazů prostředí, zatímco Nano se používá k úpravám interních souborů, jako je výchozí soubor Nginx.
- Spusťte tmel a přejděte na kartu relace.
- Do pole Název hostitele zadejte IP adresu kapičky DigitalOcean, kde je nainstalován webový server. IP adresu kapiček najdete v cloudu https: //.digitalocean.com / kapičky. Do pole port zadejte 22.
- Po odeslání všech požadovaných polí, jak je vidět výše, stiskněte OK, abyste provedli změny a přihlaste se k Dropletu. Při přihlášení do systému se zobrazí výzva k zadání uživatelského jména a hesla kapičky. Při vytváření kapičky se uživatelské jméno i heslo zašle e-mailem na registrovaný e-mail v DigitalOcean.
- Tato příručka používá Certbot, nástroj třetí strany k automatizaci celého procesu načítání a obnovování digitálních certifikátů. Certbot má své vlastní webové stránky, ze kterých lze snadno generovat příkazy, které se mají použít. Podle Certbota jsou to správné příkazy k instalaci Certbotu na Ubuntu. Nejprve aktualizuje informace o balíčku v místním úložišti, poté nainstaluje běžný balíček vlastností softwaru, který poskytuje některé užitečné skripty pro zpracování osobních balíčků (PPA), poté nainstaluje certbot, poté znovu aktualizuje místní úložiště a nakonec nainstaluje balíček pygin certbot nginx. Před přechodem na další krok se ujistěte, že jsou všechny tyto balíčky správně nainstalovány.
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get aktualizace
$ sudo apt-get nainstalovat python-certbot-nginx
- Přejděte na web, ze kterého byla doména zakoupena. Tato příručka používá Porkbun jako registrátora domény a poté do domény přidá záznam A. Typ je Záznam, hostitel je prázdný, pokud je IP přidružena ke kořenové doméně, jinak použijte název subdomény bez kořenové domény, například pokud je to nucuta.com, stačí použít www. Jako odpověď zadejte IP adresu kapičky.
- Stejným způsobem přesměrujte provoz WWW do kořenové domény následujícím způsobem. Typ je „CNAME“, hostitel je „WWW“, odpověď je „nucuta.com “nebo vaše doména. Tento krok je důležitý, protože přesměrovává veškerý provoz www do kořenové domény.
- Pomocí následujícího příkazu na Putty získáte přístup k výchozímu souboru Nginx. Výchozí soubor ve výchozím nastavení používá jeden blok serveru, kde je umístěna primární doména. Nano Editor se velmi doporučuje, protože jeho použití je ve srovnání s ostatními docela pohodlné.
- Ve výchozím souboru přejděte na server blokovat a přesměrovat provoz HTTP na HTTP a v druhém bloku serveru, kde se zpracovává zabezpečený provoz, změňte například název_serveru na název domény
- Zadejte následující příkaz k restartování webového serveru Nginx. Kdykoli byla provedena změna ve výchozím souboru, je nutné restartovat celý server Nginx, aby se projevily nové změny.
- Ve výchozím nastavení brána firewall blokuje veškerý provoz kromě portů 80 a 22. HTTPS používá port 443; pro přístup k webovému serveru ze strany klienta je tedy nutné jej otevřít ručně. Otevření portu závisí na firewallu.
V CSF (nakonfigurovaný firewall serveru)
- Otevře konfigurační soubor CSF zadáním následujícího příkazu.
- Přidejte následující porty do TCP In a Out.
TCP_OUT = "20,21,22,25,53,80,443"- Restartujte CSF zadáním
CSF -r
V USF (nekomplikovaný firewall)
- Zadejte následující dva příkazy a přidejte HTTPS do seznamu výjimek. Balíček „Nginx Full“ má porty HTTP i HTTPS; přidání celého balíčku tedy umožňuje přenos dovnitř i ven.
sudo ufw smazat povolit 'Nginx HTTP'- Chcete-li zobrazit stav, zadejte následující příkaz
stav ufw
- Zkontrolujte port 443 z externího webu, abyste se ujistili, že se pro jistotu otevře. Pokud je port otevřený, řekne „443 port je otevřený“
- Nyní použijte Certbot k načtení certifikátu SSL do domény. K určení domény je vyžadován parametr D. Pojďme zašifrovat vydání jednoho certifikátu pro kořenovou i www subdoménu. Mít pouze jednu pro každou verzi vydá varování v prohlížeči, pokud návštěvník přistupuje k druhé verzi; proto je důležité získat certifikát pro obě verze. sudo certbot --nginx -d nucuta.com -d www.nucuta.com
- Certbot požádá o přesměrování veškerého provozu HTTP na HTTPS, ale není to nutné, protože se to již stalo v jednom z předchozích kroků.
- Nyní přejděte na web SSL Lab a zkontrolujte kvalitu nebo jiné problémy s certifikátem a jeho konfigurací. https: // www.ssllabs.com / ssltest /
- Pokud aktuální konfigurace není dostatečně zabezpečená, přejděte do generátoru konfigurace Mozilla SSL a vygenerujte nastavení pro váš webový server. https: // mozilla.github.io / server-side-tls / ssl-config-generátor /. Protože zde používá Nginx, nezapomeňte použít Nginx jako webový server. Nabízí tři možnosti, střední, starý a moderní. Díky staré možnosti je web kompatibilní s prakticky každým prohlížečem, včetně super starých prohlížečů, jako je IE 6, zatímco přechodná možnost je ideální pro průměrné uživatele, moderní možnost generuje konfiguraci požadovanou pro maximální zabezpečení, ale protože kompromis webu nebude fungovat správně na starších prohlížečích. Důrazně se tedy doporučuje pro weby, kde je hlavním problémem zabezpečení.
- Přejděte na svůj web a klikněte pravým tlačítkem na ikonu zámku a poté na možnost „Certifikát“. Zobrazí se certifikát.
- Pokud se zobrazí budoucí datum po TO v platnosti od možnosti, což znamená, že proces získávání certifikátu byl dokončen. Je však důležité přesměrovat provoz na příslušnou verzi domény, například provoz HTTP a WWW lze přesměrovat kořenovou doménu HTTPS, jak je vidět v této příručce. Certifikát bude automaticky obnoven certbotem; proto je vlastníkovi webu navždy zdarma k dispozici.