How to install Apache webserver | in linux
Obsah:
- Předpoklady
- Nainstalujte Certbot
- Vytvořte silnou skupinu Dh (Diffie-Hellman)
- Získání šifrovaného certifikátu SSL
- Automatické obnovení certifikátu SSL
- Závěr
Let's Encrypt je bezplatná a otevřená certifikační autorita vyvinutá společností Internet Security Research Group (ISRG). Certifikáty vydané Let's Encrypt jsou dnes důvěryhodné téměř všemi prohlížeči.
V tomto tutoriálu vám krok za krokem poskytneme pokyny, jak zabezpečit Nginx pomocí Let's Encrypt pomocí nástroje certbot na Ubuntu 16.04.
Předpoklady
Před pokračováním v tomto kurzu se ujistěte, že jste splnili následující předpoklady:
- Máte doménové jméno ukazující na IP vašeho veřejného serveru. V tomto tutoriálu použijeme
example.com
. Nginx máte nainstalován podle pokynů Jak nainstalovat Nginx na Ubuntu 16.04.
Nainstalujte Certbot
Certbot je nástroj napsaný v Pythonu, který dokáže automatizovat úkoly pro získání a obnovu Let's Encrypt SSL SSL a konfiguraci webových serverů.
Nejprve nainstalujte balíček
software-properties-common
, který poskytuje nástroj
add-apt-repository
potřebný pro přidání dalších PPA.
Aktualizujte index balíčků a nainstalujte
software-properties-common
s:
sudo apt update
sudo apt install software-properties-common
Po dokončení instalace přidejte úložiště certbot PPA do systému pomocí následujícího příkazu:
sudo add-apt-repository ppa:certbot/certbot
Aktualizujte seznam balíčků a nainstalujte balíček certbot:
sudo apt update
sudo apt install certbot
Vytvořte silnou skupinu Dh (Diffie-Hellman)
Výměna klíčů Diffie – Hellman (DH) je metoda bezpečné výměny kryptografických klíčů přes nezajištěný komunikační kanál. Vygenerujte novou sadu 2048bitových DH parametrů pro posílení zabezpečení:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Pokud chcete, můžete změnit velikost až na 4096 bitů, ale v tomto případě může generování trvat déle než 30 minut v závislosti na entropii systému.
Získání šifrovaného certifikátu SSL
K získání certifikátu SSL pro naši doménu použijeme plugin Webroot, který funguje vytvořením dočasného souboru pro ověření požadované domény v adresáři
${webroot-path}/.well-known/acme-challenge
. Server Pojďme šifrovat provede požadavky HTTP na dočasný soubor, aby ověřil, že se požadovaná doména převede na server, na kterém je spuštěn certbot.
Aby to bylo jednodušší, budeme mapovat všechny požadavky HTTP na
.well-known/acme-challenge
do jednoho adresáře
/var/lib/letsencrypt
.
Následující příkazy vytvoří adresář a učiní jej zapisovatelným pro server Nginx.
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
Chcete-li se vyhnout duplicitě kódu, vytvořte následující dva úryvky, které zahrneme do všech našich blokových souborů serveru Nginx.
location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }
/etc/nginx/snippets/ssl.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 30s; add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload"; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
Úryvek výše obsahuje chippers doporučované Mozillou, umožňuje OCSP sešívání, HTTP Strict Transport Security (HSTS) a vynucuje několik záhlaví HTTP zaměřených na zabezpečení.
Po vytvoření úryvků otevřete blok serveru domény a
letsencrypt.conf
útržek
letsencrypt.conf
jak je uvedeno níže:
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
Blok serveru aktivujte vytvořením symbolického odkazu z
sites-available
na
sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Znovu načtěte konfiguraci Nginx, aby se změny projevily:
sudo systemctl reload nginx
Spusťte skript certbot s pluginem webroot a získejte soubory certifikátů SSL:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Pokud je certifikát SSL úspěšně získán, certbot vytiskne následující zprávu:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-04-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
Nyní, když máme soubory certifikátů, upravte blok serveru domény následujícím způsobem:
/etc/nginx/sites-available/example.com.conf
server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; #… other code }
S výše uvedenou konfigurací nutíme HTTPS a přesměrujeme
www
verzi domény na
non www
verzi
non www
.
Znovu načtěte službu Nginx, aby se změny projevily:
Automatické obnovení certifikátu SSL
Certifikáty šifrování jsou platné 90 dní. Chcete-li automaticky obnovit certifikáty před vypršením jejich platnosti, vytvoří balíček certbot cronjob, který bude spuštěn dvakrát denně a automaticky obnoví jakýkoli certifikát 30 dní před jeho vypršením.
Protože po obnovení certifikátu používáme plug-in webového kořenového modulu certbot, musíme službu nginx znovu načíst. Chcete-li tak učinit, připojte
--renew-hook "systemctl reload nginx"
k souboru
/etc/cron.d/certbot
tak, jak vypadá takto:
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"
Chcete-li otestovat proces obnovy, použijte přepínač certbot
--dry-run
:
sudo certbot renew --dry-run
Pokud neexistují žádné chyby, znamená to, že proces obnovy byl úspěšný.
Závěr
V tomto tutoriálu jste použili klienta Let's Encrypt, certbot k získání certifikátů SSL pro vaši doménu. Také jste vytvořili úryvky Nginx, abyste zabránili duplicitě kódu, a nakonfigurovali jste Nginx, aby používal certifikáty. Na konci tutoriálu jste nastavili cronjob pro automatické obnovení certifikátu.
nginx ubuntu pojďme zašifrovat certbot sslZabezpečte nginx pomocí šifrování na centech 7

V tomto tutoriálu vám poskytneme postupné pokyny, jak zabezpečit Nginx pomocí Let's Encrypt pomocí nástroje certbot na CentOS 7
Zabezpečte nginx pomocí šifrování Debianu 9

V tomto tutoriálu si vysvětlíme, jak používat nástroj Certbot k získání bezplatného certifikátu SSL pro Nginx na Debianu 9. Ukážeme také, jak nakonfigurovat Nginx tak, aby používal certifikát SSL a povolil HTTP / 2.
Zabezpečte nginx pomocí šifrování na Ubuntu 18.04

Pojďme Encrypt je bezplatná a otevřená certifikační autorita vyvinutá společností Internet Security Research Group. V tomto tutoriálu vám poskytneme postupné pokyny, jak zabezpečit Nginx pomocí Let's Encrypt pomocí nástroje certbot na Ubuntu 18.04.