Apache near Howz-E-Madad for Op Spinarwa, 2009 Part 2
Innholdsfortegnelse:
- Forutsetninger
- Installer Certbot
- Generer Strong Dh (Diffie-Hellman) -gruppen
- Innhenting av et Let's Encrypt SSL-sertifikat
- Forny automatisk Let's Encrypt SSL-sertifikat
- Konklusjon
Let's Encrypt er en sertifikatmyndighet opprettet av Internet Security Research Group (ISRG). Det gir gratis SSL-sertifikater via en helautomatisert prosess designet for å eliminere manuell sertifikatoppretting, validering, installasjon og fornyelse.
Sertifikater utstedt av Let's Encrypt er gyldige i 90 dager fra utstedelsesdatoen og er klarert av alle større nettlesere i dag.
Denne opplæringen vil guide deg gjennom prosessen med å skaffe et gratis Let's Encrypt ved hjelp av certbot-verktøyet på Debian 9. Vi vil også vise hvordan du konfigurerer Apache til å bruke det nye SSL-sertifikatet og aktivere HTTP / 2.
Forutsetninger
Forsikre deg om at du har oppfylt følgende forutsetninger før du fortsetter med denne opplæringen:
- Logget inn som bruker med sudo-rettigheter. Har et domenenavn som peker til serverens offentlige server-IP. Vi bruker
example.com
Apache installert. En virtuell apache-vert for domenet ditt. Du kan følge disse instruksjonene for informasjon om hvordan du oppretter en.
Installer Certbot
Certbot er et fullt utstyrt og brukervennlig verktøy som kan automatisere oppgavene for å skaffe og fornye Let's Encrypt SSL-sertifikater. Certbot-pakken er inkludert i standard Debian-lagringene.
Oppdater pakkelisten og installer certbot-pakken ved hjelp av følgende kommandoer:
sudo apt update
sudo apt install certbot
Generer Strong Dh (Diffie-Hellman) -gruppen
Diffie – Hellman nøkkelutveksling (DH) er en metode for sikker utveksling av kryptografiske nøkler over en usikret kommunikasjonskanal.
Slik genererer du et nytt sett med 2048 bit DH-parametere:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Hvis du vil, kan du endre størrelsen opp til 4096 biter, men i så fall kan generasjonen ta mer enn 30 minutter avhengig av systemets entropi.
Innhenting av et Let's Encrypt SSL-sertifikat
For å få et SSL-sertifikat for domenet vårt, bruker vi Webroot-plugin som fungerer ved å lage en midlertidig fil for å validere det forespurte domenet i katalogen
${webroot-path}/.well-known/acme-challenge
. Let's Encrypt-serveren sender HTTP-forespørsler til den midlertidige filen for å bekrefte at det forespurte domenet løses til serveren der certbot kjører.
For å gjøre det enklere skal vi kartlegge alle HTTP-forespørsler for
.well-known/acme-challenge
til en enkelt katalog,
/var/lib/letsencrypt
.
Følgende kommandoer lager katalogen og gjør den skrivbar for 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 å unngå duplisering av kode oppretter du følgende to konfigurasjonsutdrag:
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"
Utdraget over bruker flishuggerne som er anbefalt av Cipherli.st, aktiverer OCSP-stifting, HTTP Strict Transport Security (HSTS) og håndhever få sikkerhetsfokuserte
Før du aktiverer konfigurasjonsfilene, må du sørge for at både
mod_ssl
og
mod_headers
er aktivert ved å utstede:
sudo a2enmod ssl
sudo a2enmod headers
Aktiver HTTP / 2-modulen, som vil gjøre nettstedene dine raskere og mer robuste:
sudo a2enmod
Aktiver SSL-konfigurasjonsfilene ved å kjøre følgende kommandoer:
sudo a2enconf letsencrypt
sudo a2enconf ssl-params
Last inn Apache-konfigurasjonen på nytt for at endringene skal tre i kraft:
sudo systemctl reload apache2
Bruk Certbot-verktøyet med webroot-plugin for å skaffe SSL-sertifikatfilene:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Hvis SSL-sertifikatet er oppnådd, skriver certbot ut følgende melding:
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:
Nå som du har sertifikatfilene, kan du redigere konfigurasjonen av den virtuelle domene for domene slik:
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 konfigurasjonen over tvinger vi HTTPS og omdirigerer fra www til ikke-www versjon. Du kan velge å justere konfigurasjonen etter dine behov.
Last inn Apache-tjenesten på nytt for at endringer skal tre i kraft:
sudo systemctl reload apache2
Åpne nettstedet ditt ved å bruke
https://
, og du vil merke et grønt låseikon.
Forny automatisk Let's Encrypt SSL-sertifikat
Let's Encrypts sertifikater er gyldige i 90 dager. For å automatisk fornye sertifikatene før de utløper, oppretter certbot-pakken en cronjob som kjøres to ganger om dagen og vil automatisk fornye ethvert sertifikat 30 dager før utløpet.
Når sertifikatet er fornyet, må vi også laste inn Apache-tjenesten på nytt. Legg til -
--renew-hook "systemctl reload apache2"
til filen
--renew-hook "systemctl reload apache2"
slik at den ser ut slik:
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 å teste fornyelsesprosessen bruker du certbot -
--dry-run
:
sudo certbot renew --dry-run
Hvis det ikke er noen feil, betyr det at fornyelsesprosessen var vellykket.
Konklusjon
I denne opplæringen brukte du Let's Encrypt-klientens certbot, for å skaffe SSL-sertifikater for domenet ditt. Du har også opprettet Apache-utdrag for å unngå duplisering av kode og konfigurert Apache til å bruke sertifikatene. På slutten av opplæringen har du satt opp en cronjob for automatisk fornyelse av sertifikatet.
apache debian la oss kryptere certbot sslDette innlegget er en del av Hvordan installere LAMP Stack i Debian 9-serien.
Andre innlegg i denne serien:
• Hvordan installere Apache på Debian 9 • Hvordan installere PHP på Debian 9 • Slik konfigurerer du virtuelle verter av Apache på Debian 9 • Hvordan installerer MariaDB på Debian 9 • Sikker Apache med Let's Encrypt på Debian 9Sikker apache med la oss kryptere på centos 7

I denne opplæringen vil vi dekke trinnene som er nødvendige for å installere et gratis Let's Encrypt SSL-sertifikat på en CentOS 7-server som kjører Apache som en webserver.
Sikre apache med la oss kryptere på centos 8

Denne veiledningen forklarer hvordan du installerer et gratis Let's Encrypt SSL-sertifikat på CentOS 8 som kjører Apache som en webserver. Vi bruker certbot-verktøyet til å skaffe og fornye sertifikatene.
Sikker apache med la oss kryptere på ubuntu 18.04

I denne opplæringen gir vi trinnvise instruksjoner om hvordan du sikrer din Apache med Let's Encrypt ved å bruke certbot-verktøyet på Ubuntu 18.04.