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í Pojďme šifrovat SSL certifikát
- 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 CentOS 7.
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
. Povolili jste úložiště EPEL a nainstalovali Nginx podle postupu Jak nainstalovat Nginx na CentOS 7.
Nainstalujte Certbot
Certbot je snadno použitelný nástroj, který může automatizovat úkoly pro získávání a obnovu Let's Encrypt SSL SSL a konfiguraci webových serverů.
Instalace balíčku certbot z úložiště EPEL:
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 2048 bitových DH parametrů zadáním následujícího příkazu:
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.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp nginx /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
Chcete-li se vyhnout duplikování kódu, vytvořte následující dva úryvky, které zahrneme do všech našich blokových souborů serveru Nginx:
sudo mkdir /etc/nginx/snippets
/etc/nginx/snippets/letsencrypt.conf
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 zahrnuje chippery doporučené 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; }
Znovu načtěte konfiguraci Nginx, aby se změny projevily:
sudo systemctl reload nginx
Nyní můžete spustit Certbot s pluginem webroot a získat soubory certifikátů SSL pro vaši doménu vydáním:
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-06-11. 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áte soubory certifikátů, můžete upravit blok serveru domény následujícím způsobem:
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 na jinou než www verzi.
Nakonec znovu načtěte službu Nginx, aby se změny projevily:
Automatické obnovení Pojďme šifrovat SSL certifikát
Certifikáty šifrování jsou platné 90 dní. K automatickému obnovení certifikátů před vypršením jejich platnosti vytvoříme cronjob, která bude spuštěna dvakrát denně a automaticky obnoví jakýkoli certifikát 30 dní před jeho vypršením.
Spusťte příkaz
crontab
a vytvořte nový cronjob:
sudo crontab -e
Vložte následující řádky:
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"
Uložte a zavřete soubor.
Chcete-li otestovat proces obnovy, můžete použít příkaz certbot následovaný přepínačem
--dry-run
:
sudo certbot renew --dry-run
Pokud neexistují žádné chyby, znamená to, že proces obnovy testu byl úspěšný.
Závěr
V tomto tutoriálu jste použili klienta Let's Encrypt, certbot ke stažení certifikátů SSL pro vaši doménu. Vytvořili jste také úryvky Nginx, abyste zabránili duplikování kódu, a nakonfigurovali jste Nginx, aby používal certifikáty. Na konci tutoriálu jste nastavili cronjob pro automatické obnovení certifikátu.
nginx centos zašifrujme certbot sslTento příspěvek je součástí balíčku Install LEMP Stack na sérii CentOS 7.
Další příspěvky v této sérii:
• Jak nainstalovat Nginx na CentOS 7 • Zabezpečit Nginx pomocí šifrování na CentOS 7 • Nainstalovat MariaDB na CentOS 7 • Nainstalovat PHP 7 na CentOS 7 • Jak nastavit serverové bloky Nginx na CentOS 7Zabezpečte apache pomocí šifrování na centech 7

V tomto tutoriálu se budeme věnovat krokům nezbytným k instalaci bezplatného certifikátu Pojďme šifrovat SSL na server CentOS 7, na kterém běží Apache jako webový server.
Zabezpečte apache pomocí šifrování na centech 8

Tento tutoriál vysvětluje, jak nainstalovat bezplatný certifikát Encrypt SSL na CentOS 8, na kterém běží Apache jako webový server. K získání a obnovení certifikátů použijeme nástroj certbot.
Zabezpečte nginx pomocí šifrování na centech 8

V tomto tutoriálu vám krok za krokem poskytneme pokyny, jak nainstalovat bezplatný certifikát šifrování SSL na CentOS 8, na kterém běží Nginx jako webový server. Ukážeme také, jak nakonfigurovat Nginx tak, aby používal certifikát SSL a povolil HTTP / 2.