Apache near Howz-E-Madad, Kandahar, Afghanistan for Op Spinarwa, 2009 Part 1
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 klarert av alle store nettlesere i dag.
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.
Forutsetninger
Forsikre deg om at du har oppfylt følgende forutsetninger før du fortsetter med denne opplæringen:
- Domenenavn som peker til din offentlige server-IP. Vi bruker
example.com
Du har Apache installert med en virtuell apache-vert for domenet ditt.
Installer Certbot
Certbot er et fullt utstyrt og brukervennlig verktøy som kan automatisere oppgavene for å skaffe og fornye Let's Encrypt SSL-sertifikater og konfigurere webservere. Certbot-pakken er inkludert i standard Ubuntu-lagringene.
Oppdater pakkelisten og installer certbot-pakken:
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. Vi kommer til å generere et nytt sett med 2048 bit DH-parametere for å styrke sikkerheten:
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, 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 deretter SSL-konfigurasjonsfilene ved å kjøre følgende kommandoer:
sudo a2enconf letsencrypt
sudo a2enconf ssl-params
Aktiver HTTP / 2-modulen, som vil gjøre nettstedene dine raskere og mer robuste:
sudo a2enmod
Last inn Apache-konfigurasjonen på nytt for at endringene skal tre i kraft:
sudo systemctl reload apache2
Nå kan vi kjøre Certbot-verktøyet med webroot-plugin og skaffe SSL-sertifikatfilene ved å skrive:
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: - 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-10-28. 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:
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
Du kan nå å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 forny automatisk 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 kan du bruke 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 å laste ned 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 ubuntu la oss kryptere certbot sslDette innlegget er en del av hvordan-å-installere-lampe-stabel-på-ubuntu-18-04-serien.
Andre innlegg i denne serien:
• Hvordan installere Apache på Ubuntu 18.04 • Hvordan konfigurere Apache virtuelle verter på Ubuntu 18.04 • Sikre Apache med Let's Encrypt på Ubuntu 18.04 • Hvordan installere MySQL på Ubuntu 18.04 • Hvordan installere PHP på Ubuntu 18.04Sikker 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å debian 9

Denne veiledningen 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