Week 7, continued
Indholdsfortegnelse:
- Forudsætninger
- Installer Certbot
- Generer Strong Dh (Diffie-Hellman) -gruppen
- At få et Let's Encrypt SSL-certifikat
- Automatisk fornyelse af Let's Encrypt SSL-certifikat
- Konklusion
Let's Encrypt er en certifikatmyndighed oprettet af Internet Security Research Group (ISRG). Det giver gratis SSL-certifikater via en fuldautomatisk proces designet til at eliminere manuel certifikatoprettelse, validering, installation og fornyelse.
Certifikater udstedt af Let's Encrypt er gyldige i 90 dage fra udstedelsesdatoen og er tillid til alle større browsere i dag.
Denne tutorial vil guide dig gennem processen med at få et gratis Let's Encrypt ved hjælp af certbot-værktøjet på Debian 9. Vi viser også, hvordan du konfigurerer Apache til at bruge det nye SSL-certifikat og aktivere HTTP / 2.
Forudsætninger
Sørg for, at du har opfyldt følgende forudsætninger, før du fortsætter med denne tutorial:
- Logget ind som bruger med sudo-privilegier. Har et domænenavn, der peger på din server offentlige server IP. Vi bruger
example.com
Apache installeret. En virtuel apache-vært for dit domæne. Du kan følge disse instruktioner for detaljer om, hvordan du opretter en.
Installer Certbot
Certbot er et fuldt udstyret og brugervenligt værktøj, der kan automatisere opgaverne til opnåelse og fornyelse af Let's Encrypt SSL-certifikater. Certbot-pakken er inkluderet i Debian's standardlager.
Opdater pakkelisten, og installer certbot-pakken ved hjælp af følgende kommandoer:
sudo apt update
sudo apt install certbot
Generer Strong Dh (Diffie-Hellman) -gruppen
Diffie – Hellman key exchange (DH) er en metode til sikker udveksling af kryptografiske nøgler over en usikret kommunikationskanal.
Sådan genereres et nyt sæt 2048 bit DH-parametre:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Hvis du vil, kan du ændre størrelsen op til 4096 bits, men i dette tilfælde kan genereringen tage mere end 30 minutter afhængigt af systemets entropi.
At få et Let's Encrypt SSL-certifikat
For at få et SSL-certifikat til vores domæne vil vi bruge Webroot-plugin, der fungerer ved at oprette en midlertidig fil til validering af det anmodede domæne i
${webroot-path}/.well-known/acme-challenge
bibliotek. Let's Encrypt-serveren fremsætter HTTP-anmodninger til den midlertidige fil for at validere, at det anmodede domæne løses til den server, hvor certbot kører.
For at gøre det lettere skal vi kortlægge alle HTTP-anmodninger om
.well-known/acme-challenge
til et enkelt bibliotek,
/var/lib/letsencrypt
.
De følgende kommandoer opretter kataloget og gør det skrivbart til Apache-serveren.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp www-data /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
For at undgå duplikering af kode skal du oprette følgende to konfigurationsuddrag:
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"
Uddraget ovenfor bruger de flishuggere, der er anbefalet af Cipherli.st, aktiverer OCSP-hæftning, HTTP Strict Transport Security (HSTS) og håndhæver få sikkerhedsfokuserede
Før du aktiverer konfigurationsfilerne, skal du sørge for, at både
mod_headers
og
mod_headers
er aktiveret ved at udstede:
sudo a2enmod ssl
sudo a2enmod headers
Aktivér HTTP / 2-modulet, som vil gøre dine websteder hurtigere og mere robuste:
sudo a2enmod
Aktivér SSL-konfigurationsfilerne ved at køre følgende kommandoer:
sudo a2enconf letsencrypt
sudo a2enconf ssl-params
Genindlæs Apache-konfigurationen, så ændringerne træder i kraft:
sudo systemctl reload apache2
Brug Certbot-værktøjet med webroot-plugin til at hente SSL-certifikatfiler:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Hvis SSL-certifikatet er opnået med succes, udskriver certbot følgende meddelelse:
IMPORTANT NOTES: IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will expire on 2019-01-17. 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 lose your account credentials, you can recover through e-mails sent to [email protected]. - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
Nu når du har certifikatfilerne, rediger din konfiguration af din virtuelle host-domæne som følger:
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
Med konfigurationen ovenfor tvinger vi HTTPS og omdirigerer fra www til ikke-www version. Bliv fri for at justere konfigurationen efter dine behov.
Genopdater Apache-tjenesten, så ændringerne træder i kraft:
sudo systemctl reload apache2
Åbn dit websted ved hjælp af
https://
, og du vil se et grønt låsikon.
Automatisk fornyelse af Let's Encrypt SSL-certifikat
Let's Encrypt's certifikater er gyldige i 90 dage. For automatisk at fornye certifikaterne, før de udløber, opretter certbot-pakken en cronjob, der kører to gange om dagen og vil automatisk forny ethvert certifikat 30 dage før det udløber.
Når certifikatet er fornyet, skal vi også genindlæse Apache-tjenesten. Tilføj -
--renew-hook "systemctl reload apache2"
til filen
/etc/cron.d/certbot
, så den ser ud som følger:
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 apache2"
For at teste fornyelsesprocessen skal du bruge certbot -
--dry-run
kontakten:
sudo certbot renew --dry-run
Hvis der ikke er nogen fejl, betyder det, at fornyelsesprocessen var vellykket.
Konklusion
I denne tutorial anvendte du Let's Encrypt-klientcertbot til at få SSL-certifikater til dit domæne. Du har også oprettet Apache-kodestykker for at undgå duplikering af kode og konfigureret Apache til at bruge certifikaterne. I slutningen af selvstudiet har du konfigureret en cronjob til automatisk fornyelse af certifikater.
apache debian lad os kryptere certbot sslDette indlæg er en del af Sådan installeres LAMP Stack i Debian 9-serien.
Andre indlæg i denne serie:
• Sådan installeres Apache på Debian 9 • Sådan installeres PHP på Debian 9 • Sådan konfigureres Apache virtuelle værter på Debian 9 • Sådan installeres MariaDB på Debian 9 • Sikker Apache med Let's Encrypt på Debian 9Sikker apache med lad os kryptere på centos 7

I denne tutorial vil vi dække de trin, der er nødvendige for at installere et gratis Let's Encrypt SSL-certifikat på en CentOS 7-server, der kører Apache som en webserver.
Sikker apache med lad os kryptere på centos 8

Denne tutorial forklarer, hvordan du installerer et gratis Let's Encrypt SSL-certifikat på CentOS 8, der kører Apache som en webserver. Vi bruger certbot-værktøjet til at få og forny certifikaterne.
Sikker apache med lad os kryptere på ubuntu 18.04

I denne tutorial giver vi trin for trin instruktioner om, hvordan du sikrer din Apache med Let's Encrypt ved hjælp af certbot-værktøjet på Ubuntu 18.04.