V současné době šifrovaná komunikace zažívá velkým boom. Po kauzách s únikem dat a se sledováním osobní komunikace se i běžní uživatelé začínají obávat o svá data a hledají možnosti v zabezpečení. V této souvislosti roste i zájem o SSL certifikáty, které umožní bezpečný přenos komunikace mezi uživatelem a serverem. V dnešním článku si ukážeme, jak správně nainstalovat SSL certifikát na virtuální server.

Co je to SSL?

SSL (Secure Sockets Layer) je nekomerční otevřený protokol a v současné době jedna z nejvíce používaných metod pro zabezpečení datových přenosů v rámci internetu mezi serverem s webovou prezentací a prohlížečem (uživatelem).

Princip funkce SSL certifikátů je založen na asymetrickém šifrování, kdy každá z komunikujících stran má dva šifrovací klíče – veřejný a soukromý. Veřejný klíč je možné zveřejnit a pokud tímto veřejným klíčem dojde k zašifrování dat, je zajištěno, že tyto data bude moci rozšifrovat pouze majitel použitého veřejného klíče svým soukromým klíčem (využití pro šifrování).

Na druhou stranu, pokud se privátním klíčem zašifrují data, pouze veřejným klíčem je lze rozšifrovat. To by moc nedávalo smysl, jelikož má veřejný klíč každý. Pokud však veřejný klíč nese informaci, že patří konkrétnímu subjektu (společnosti) a toto potvrzení dá důvěryhodná autorita, máme jistotu, že komunikujeme se správným subjektem a ne s podvodníkem (využití pro určení pravosti).

SSL protokol využívá pro zajištění šifrování přenášených dat a autentizaci serveru digitální certifikáty. To, že jsme připojení na webové stránky zabezpečené pomocí SSL protokolu, poznáme podle adresy stránky, která obsahuje navíc písmeno „s“, např. https://www.interval.cz nebo podle upozornění prohlížeče ikonkou zámečku. zdroj: www.sslmarket.cz

Jak nainstalovat SSL certifikát na server?

Před instalací certifikátu a balíků proveďme aktualizaci softwaru pomocí Apt-get update.

Pro instalaci SSL certifikátu jsme zvolili profesionální virtuální servery od ZonerCloud.cz

ZonerCloud

Nasměrování DNS

Pokud ještě nemáte na serveru nainstalovaný webový server Apache, učiňte tak příkazem apt-get install apache2. Více informací o nastavení Apache a virtualhostů najdete v samostatném návodu Seznámení a konfigurace s Apache.

dns world

Aby se vaši návštěvníci na vás nový server dostali, že třeba nasměrovat vaši doménu na váš nový server.

V DNS manažeru vyplňte záznam „@“ a „www“ a jako cíl zadejte IP adresu serveru. To však samo o sobě nestačí – na serveru je třeba nastavit webový server pro poskytování webových stránek pro tuto doménu. Jinak řečeno váš server v tuto chvíli neví, že má sloužit pro obsluhování stránek vaší domény; je třeba mu to sdělit.

Pokud máte doménu u CZECHIA.com, můžete využít DNS manažera. Více informací nastavení DNS najdete v článku Jak spravovat DNS záznamy pomocí manažera.

Adresář a soubory webu

Webový server Apache bude návštěvníkům servírovat webové stránky uložené v konkrétním adresáři. Ten musíte nejprve vytvořit. Soubory webu jsou vždy umístěny ve složce public_html a hlavní soubor se jmenuje index.html (php). Novou složku založte příkazem:

mkdir -p /var/www/nazev-domeny/public_html

K tomuto adresáři nastavte vlastnictví a práva. Uživatel www-data je účet, pod kterým bude běžet Apache. Proto je nutné mu adresář přiřadit. Vlastnictví nastavte příkazem chown -R www-data:www-data /var/www/nazev-domeny/public_html a práva potom chmod -R 755 /var/www.

První stránku index.hrml můžete vytvořit přímo v terminálu. Založte nový soubor v editoru nano:
nano /var/www/nazev-domeny/public_html/index.html a po ukončení úprav odejděte s uložením stiskem Ctrl+X a Y a Enter.

Vaše první webová stránka může vypadat například takto:

Začátečníkům doporučujeme použít tento příklad a změnit v něm název domény. Pak bude patrné, zdali je nastavení správné a u domény je zobrazena správná webová stránka.

<html>
<head>
<title>www.nazev-domeny.cz</title>
<meta charset="UTF-8">
</head>
<body>
<h1>Vaše první website</h1>
</body>
</html>

Konfigurace HTTP vhostu

Úprava konfigurace u Debianu neprobíhá v httpd.conf, ale v jednotlivých konfiguračních souborech v adresáři/etc/apache2/sites-available. Zde je potřeba vytvořit první vhost pro vaši nově hostovanou doménu.

Zkopírujte nebo zeditujte konfiguraci výchozího webu default v sites-available. Konfiguraci zkopírujte příkazem cp /etc/apache2/sites-available/default /etc/apache2/sites-available/nazev-domeny.com

V editoru nano si otevřete konfigurační soubor: nano /etc/apache2/sites-available/nazev-domeny.com a a doplňte údaje ServerAlias (ostatní tvary domén, např. Tvar s www), ServerName, DocumentRoot (vámi vytvořená složka, kde jsou uloženy soubory webu /var/www/nazev-domeny/public_html).

Nově vytvořený web musíte povolit. Učiníte tak příkazem a2ensite a názvem webu (konf. Souboru) – a2ensite nazev-domeny.com. Nyní bude zástupce konfigurace ve složce /sites-enabled, což potvrzuje, že je web používán.

Výchozí vhost (web) zakážeme, aby se nepletl s novým webem – a2dissite default.

Novou konfiguraci načtěte příkazem service apache2 reload. Poté začnou nové webové stránky fungovat podle nové konfigurace.

Konfigurace SSL vhostu

Před použitím HTTPS je na nutné povolit mod_ssl, tedy doplněk Apache, který umožní šifrování.
To provedete příkazem a2enmod ssl.

Úprava konfigurace neprobíhá v httpd.conf, ale v jednotlivých konfiguračních souborech v adresáři /etc/apache2/sites-available. Zkopírujte nebo zeditujte konfiguraci výchozího SSL webu default-ssl.

sslsmall

Konfiguraci zkopírujte příkazem cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/nazev-domeny-ssl a pak vytvořte složku příkazem mkdir /etc/ssl/nazev-domeny-ssl/.

V editoru nano si otevřete konfigurační soubor: nano /etc/apache2/sites-available/nazev-domeny-ssl a doplňte údaje ServerAlias (ostatní tvary domén, např. Tvar s www), ServerName, DocumentRoot (stejná složka, jako u nastavení webu pro HTTP výše).

Nastavení SSL certifikátu se odehrává v následujících 3 důležitých direktivách. U každé nastavujete odkaz na cestu, ve které se nachází soubor s certifikátem (umístění souboru na serveru). SSLCertificateFile je soubor s vašim certifikátem,SSLCertificateKeyFile je soubor s privátním klíčem a konečně SSLCertificateChainFile je soubor s certifikáty CA (tzv. Intermediate).

SSLCertificateFile /etc/ssl/nazev-domeny-ssl/certifikat.pem
SSLCertificateKeyFile /etc/ssl/nazev-domeny-ssl/privatni.key
SSLCertificateChainFile /etc/ssl/nazev-domeny-ssl/chain.pem

Privátní klič musí být zabezpečen proti přístupu nepovolených uživatelů, proto nastavíme práva pro čtení jen pro roota: chmod 600 /etc/ssl/nejlepsissl/privatni.key

Novou zabezpečenou website musíte povolit příkazem a2ensite a názvem webu. Tento název webu je stejný, jako název konfiguračního souboru ve složce /sites-available. Zadejte do terminálu:
a2ensite nazev-domeny-ssl

Novou konfiguraci načtěte příkazem restartem serveru – service apache2 reload. Pak bude nový certifikát běžet a můžete ho prověřit například nástrojem TLS dump.

Pokud Apache nenaběhl a žádá zadání hesla, je to kvůli zabezpečení privátního klíče certifikátu heslem. Musíte ho zadat při každém spuštění Apache, nebo ho z privátního klíče pomocí OpenSSL odstranit.

Chcete-li, můžete na serveru zakázat použití HTTP protokolu. Provedete to zakomentování následujících dvou řádků. Znak „#“ znamená, že daný řádek bude server ignorovat.

#NameVirtualHost *:80 – zruší HTTP virtualhost pro nezabezpečený web
#Listen 80 v /etc/apache2/ports.conf zakáže běh Apache na portu 80

 

Podařilo se? Pokud ano, přidejte pod článkem krátký komentář proč jste se rozhodli nasadit SSL certifikát. Můžete přidat i odkaz na váš web.

Žádný příspěvek v diskuzi

Odpovědět