Jak nasadit vlastní SSL certifikát

SSL certifikát vám umožní šifrovanou komunikaci mezi webem a prohlížečem. Jde o tzv. HTTPS. Ve většině případů vystačí Let’s Encrypt certifikát je zdarma a vystačí vám v 99 % případů. Kdy ale už nestačí?

Kdy se více hodí placené certifikáty?

U specifických požadavků na typ certifikátu

  • EV certifikáty (Extended Validation): Se hodí, potřebujete-li nejvyšší úroveň důvěryhodnosti. Využití je typické například u bank, velkých e-shopů nebo finančních institucí. EV certifikáty zobrazují v prohlížeči název organizace a signalizují tak zákazníkům vysokou úroveň zabezpečení.
  • OV certifikáty (Organization Validation): Vyžadují ověření organizace, což přímo Let’s Encrypt nenabízí. OV certifikáty jsou vhodné, pokud chcete prokázat, že web patří konkrétní vaší firmě.

Pokud vlastníte více domén najednou nebo pro Wildcard

Let’s Encrypt podporuje Wildcard certifikáty. Jejich nesporná výhoda je, že zvládají automatickou aktivaci SSL u všech vašich subdomén naráz. Avšak nemusí být ideální pro složité struktury, kde potřebujete pokrýt mnoho různých domén nebo více úrovní subdomén. Některé komerční certifikáty umožňují flexibilnější pokrytí.

Placené certifikáty mají delší dobu platnosti

Let’s Encrypt certifikáty mají platnost pouze 90 dní, což vyžaduje častou obnovu (i když i to lze automatizovat). Pokud nemůžete zajistit pravidelnou obnovu, může být vhodnější komerční certifikát s platností 1-2 roky.

Placené certifikáty nabízí pokročilé funkce i zákaznickou podporu

Let’s Encrypt neposkytuje zákaznickou podporu. Pokud chcete technickou pomoc nebo další funkce (např. záruku při kompromitaci certifikátu), je lepší použít komerční certifikát.

Právní a regulační požadavky na neplacená řešení

Některé organizace, obzvláště ve zdravotnictví, finančnictví nebo vládním sektoru, vyžadují certifikáty od konkrétních poskytovatelů, kteří splňují přísné regulační normy. Let’s Encrypt nemusí být v takovém případě vždy považován za dostatečný.

Není lepší mít vlastní certifikát?

Existuje ještě možnost zakoupit si vlastní SSL certifikát. Samozřejmě v šifrování pak není ŽÁDNÝ rozdíl a web, který je zabezpečený certifikátem od Let’s Encrypt je stejně bezpečný, jako s placeným certifikátem.

Avšak rozdílů tam je víc. Například fakt, že vlastní certifikát poskytuje další vrstvu ověřování –⁠⁠⁠⁠⁠⁠ jako třeba telefonní číslo společnosti, dopis přímo na adresu atd., dále poskytuje ještě všechny rozdíly zmíněné výše. Tedy po úspěšném kolečku ověřování a zaplacení 10 tisíc ročně můžete mít v adresním řádku název společnosti jako na obrázku níže.

Ukázka adresního řádku s aktivním HTTPS

Je zapotřebí mít na paměti, že některé starší systémy mohou mít problémy s certifikáty Let’s Encrypt.

Pojďme se tedy naučit, jak si vlastní certifikát nainstalovat.

Aktivace z VPS Centra

Pokud půjdete cestou vlastního řešení, můžete si svůj certifikát nahrát v nastavení vaší domény.

nastaveni-ssl-certifikatu-vps-centrum

Nahrání certifikátu na server

Nahrát certifikát na server můžete třeba pomocí SSH nebo právě pomocí VPS Centra, jak je popsáno výše.

Nahrání certifikátu přes SSH

Jak pro nahrání SSL certifikátu na server, tak i přes SSH, můžete použít metody – rsync a scp. Níže popisujeme postup pro oba případy:

Použití rsync

Rsync je ideální, pokud chcete synchronizovat soubory nebo adresáře mezi místním a vzdáleným serverem.

Příkaz:

rsync -avz /místní/cesta/k-certifikátu.pem uživatel@server:/cesta/na/serveru/

Parametry:

  • -a: Archivní mód – zachovává oprávnění, časy úprav a symbolické odkazy.
  • -v: Zobrazuje podrobnosti (volitelně).
  • -z: Komprese dat při přenosu.
  • /místní/cesta/k-certifikátu.pem: Cesta k certifikátu na vašem počítači.
  • uživatel@server:/cesta/na/serveru/: SSH přihlašovací údaje a cílové umístění na serveru.

Příklad:

rsync -avz /home/user/ssl/cert.pem root@192.168.1.100:/etc/ssl/certs/

Použití scp

Scp je jednodušší nástroj pro kopírování souborů mezi místním počítačem a serverem přes SSH.

Příkaz:

scp /místní/cesta/k-certifikátu.pem uživatel@server:/cesta/na/serveru/

Parametry:

  • /místní/cesta/k-certifikátu.pem: Cesta k certifikátu na vašem počítači.
  • uživatel@server:/cesta/na/serveru/: SSH přihlašovací údaje a cílové umístění na serveru.

Příklad:

scp /home/user/ssl/cert.pem root@192.168.1.100:/etc/ssl/certs/

Použití Midnight Commander (MC)

  1. Přihlaste se na SSH a spusťte příkaz mc. Ten spustí Midnight Commander (MC).
  2. Nahrajte si certifikát na server, umístění je čistě na vás. Důležité je hlavně poté soubory dostat do příslušné složky. V MC můžete pomocí F5 kopírovat soubory z levého okna do pravého.

Certifikát se vloží do adresáře: /etc/ssl/certs
Klíč zase do adresáře: /etc/ssl/private
.PEM soubory do složky: /etc/ssl/certs

Rozhraní Midnight Commander

Co je dobré před nahráním ověřit?

  1. Přístupová práva: Ujistěte se, že máte dostatečná práva na serveru k zápisu do cílové složky (např. etc/ssl/certs).
  2. Privátní klíč: Pokud nahráváte i privátní klíč, zajistěte, aby byl chráněn správnými právy:
chmod 600 /etc/ssl/private/key.pem

Po nahrání ověřte, že certifikát i klíč jsou nainstalované správně (např. restartujte webový server a zkontrolujte konfiguraci).

Soukromý klíč by měl být uložen v zabezpečeném adresáři, například v /etc/ssl/private, kde přístup mají pouze root nebo konkrétní uživatelé.

rsync je vhodnější pro větší množství souborů nebo opakované synchronizace. Scp je jednodušší pro jednorázový přenos.

Závěrečná kontrola konfigurace Apache

Přihlaste se do VPS Centra a otevřete konfiguraci Apache.

Nastavení webserveru v VPS centru

A musíme aktualizovat názvy souborů a ověřit si cesty, že jsme vše nakopírovali správně. S jedinou chybou, můžete shodit celý web. Pro jistotu doporučujeme původní soubory a původní konfiguraci uložit k sobě jako kopii a v případě problémů vše vrátit do původního stavu.

Nastavení Apache v VPS centru

Přidejte SSL směrnice

Upravený konfigurační soubor by měl obsahovat následující blok pro HTTPS:

<VirtualHost *:443>
    ServerName vaše-domena.cz
    ServerAlias www.vase-domena.cz

    DocumentRoot /var/www/vase-web

    SSLEngine on
    SSLCertificateFile /cesta/k/vasemu_certifikatu.pem
    SSLCertificateKeyFile /cesta/k/vasemu_soukromemu_klici.key
    SSLCertificateChainFile /cesta/k/vasemu_intermediate_certifikatu.pem

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Popis parametrů:

  • SSLEngine on: Povolení SSL.
  • SSLCertificateFile: Cesta k vašemu hlavnímu certifikátu.
  • SSLCertificateKeyFile: Cesta k vašemu privátnímu klíči.
  • SSLCertificateChainFile: (Nepovinné) Pokud váš certifikát vyžaduje řetězové certifikáty, přidejte tuto cestu.

Zkontrolujte konfigurace

Zkontrolovat konfiguraci můžete přes SSH pomocí příkazu:

sudo apachectl configtest

Pokud je vše v pořádku, uvidíte zprávu Syntax OK. V opačném případě opravte chyby uvedené ve výstupu.

Restartujte Apache

Nakonec zbývá restartovat Apache. to můžete udělat přes VPS Centrum a jednorázové akce.

Nebo případně i přes SSH a příkaz:

sudo systemctl restart apache2

Můžete si i zkontrolovat, že je certifikát aktivní.

Nebo pro hlubší diagnostiku jsou k dispozici také logy:

sudo journalctl -xe
sudo tail -f /var/log/apache2/error.log

Pomohl vám tento článek?

Podobné články