Jak zabezpečit Nginx pomocí Let’s Encrypt na Rocky Linux 9

Photo of author

By etechblogcz

Úvodní informace

Nginx je velmi efektivní a populární webový server s otevřeným zdrojovým kódem. Běžně se využívá pro prezentaci webových stránek, funguje jako proxy server pro aplikace a spravuje statické soubory. Pro zvýšení bezpečnosti vašeho serveru Nginx je klíčové nasadit SSL/TLS certifikát. Tyto certifikáty šifrují data mezi serverem a prohlížečem uživatele, čímž chrání citlivá data, jako jsou hesla a údaje o platebních kartách.

Let’s Encrypt je certifikační autorita, která nabízí důvěryhodné a bezplatné SSL/TLS certifikáty. V tomto průvodci se dozvíte, jak zabezpečit váš server Nginx pomocí Let’s Encrypt na operačním systému Rocky Linux 9.

Základní kroky zabezpečení

Proces zabezpečení Nginx pomocí Let’s Encrypt zahrnuje následující klíčové fáze:

  • Instalace nástroje Certbot
  • Vygenerování privátního klíče a požadavku na certifikát
  • Ověření, že vlastníte danou doménu
  • Instalace SSL/TLS certifikátu
  • Nastavení Nginx pro použití SSL/TLS

Instalace Certbotu

Certbot je nástroj, který značně usnadňuje získávání a instalaci SSL/TLS certifikátů od Let’s Encrypt. Pro instalaci Certbotu na Rocky Linux 9 postupujte takto:

sudo dnf install certbot

Generování klíče a požadavku na certifikát

Než si zažádáte o SSL/TLS certifikát, je nutné vygenerovat privátní klíč a požadavek na certifikát. Privátní klíč slouží k šifrování a dešifrování dat. Požadavek na certifikát obsahuje informace o vaší doméně a veřejný klíč, který koresponduje s vaším privátním klíčem.

Pro vygenerování klíče a požadavku na certifikát použijte tento příkaz:

sudo certbot certonly --webroot -w /usr/share/nginx/html -d example.com

Nezapomeňte nahradit example.com názvem vaší skutečné domény.

Ověření vlastnictví domény

Po vytvoření privátního klíče a požadavku na certifikát musíte ověřit, že jste skutečným vlastníkem domény, pro kterou certifikát žádáte. Let’s Encrypt nabízí několik metod ověření, my zde použijeme ověření HTTP.

Ověření HTTP spočívá v umístění souboru do adresáře .well-known/acme-challenge/ na vašem webovém serveru. Certbot tento soubor automaticky vytvoří a umístí na správné místo. Jediné, co musíte udělat, je restartovat Nginx, aby se provedené změny projevily.

Nginx restartujete takto:

sudo systemctl restart nginx

Instalace SSL/TLS certifikátu

Po úspěšném ověření vlastnictví domény vám Let’s Encrypt vydá SSL/TLS certifikát. Certbot automaticky stáhne a uloží tento certifikát do následujícího adresáře:

/etc/letsencrypt/live/example.com/

V tomto adresáři naleznete soubory cert.pem, chain.pem a fullchain.pem. Soubor cert.pem obsahuje váš serverový certifikát, chain.pem obsahuje řetězec certifikátů certifikační autority a fullchain.pem obsahuje kombinaci obou.

Nastavení Nginx pro použití SSL/TLS

Posledním krokem je konfigurace Nginx, aby používal nově získaný SSL/TLS certifikát. Otevřete konfigurační soubor Nginx v textovém editoru:

sudo nano /etc/nginx/conf.d/example.com.conf

V tomto souboru najděte blok definice serveru a doplňte následující řádky:


server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}

Uložte soubor a editor zavřete.

Závěrem

Použití SSL/TLS certifikátu na vašem serveru Nginx prostřednictvím Let’s Encrypt významně zlepší zabezpečení vašeho webu. Tento průvodce vás provedl všemi kroky potřebnými k zabezpečení Nginx, včetně instalace Certbotu, vygenerování klíče a požadavku na certifikát, ověření vlastnictví domény, instalace certifikátu a konfigurace Nginx pro jeho použití.

Nezapomeňte pravidelně obnovovat váš SSL/TLS certifikát, aby váš web zůstal chráněný a v souladu s nejnovějšími bezpečnostními standardy.

Často kladené dotazy

1. Jak ověřím, že můj SSL/TLS certifikát funguje správně?
– Využijte nástroj jako SSL Labs Server Test (https://www.ssllabs.com/ssltest/) pro otestování a vyhodnocení vašeho SSL/TLS certifikátu.

2. Jak často mám obnovovat svůj SSL/TLS certifikát?
– Certifikáty od Let’s Encrypt platí 90 dní. Doporučujeme obnovit certifikát s předstihem několika týdnů před jeho vypršením.

3. Mohu pomocí Let’s Encrypt zabezpečit více domén na jednom Nginx serveru?
– Ano, Certbot umožňuje získat a nainstalovat SSL/TLS certifikáty pro více domén na jednom serveru Nginx.

4. Co když se setkám s problémy při instalaci nebo konfiguraci SSL/TLS certifikátu?
– Zkontrolujte logy Nginx a Certbot pro případné chybové hlášky. Pro další pomoc navštivte dokumentaci Let’s Encrypt (https://letsencrypt.org/docs/).

5. Jak mohu automatizovat obnovování SSL/TLS certifikátů?
– Certbot obsahuje nástroj certbot-renew, který umožňuje automatické obnovování certifikátů.

6. Jaké další kroky mohu podniknout pro zvýšení zabezpečení Nginx serveru?
– Implementujte bezpečnostní HTTP hlavičky jako HSTS a CSP.
– Povolte dvoufaktorové ověření (2FA) pro přístup k administračnímu rozhraní Nginx.
– Pravidelně aktualizujte software Nginx a operační systém.

7. Co je ověření HTTP?
– Ověření HTTP je metoda prokazování vlastnictví domény, která spočívá v umístění souboru do adresáře .well-known/acme-challenge/ na vašem webovém serveru.

8. Co je řetězec certifikátů?
– Řetězec certifikátů je soubor certifikátů, které spojují váš serverový certifikát s důvěryhodnou kořenovou certifikační autoritou.