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 gratis, automatisert og åpen sertifikatmyndighet utviklet av Internet Security Research Group (ISRG). Sertifikater utstedt av Let's Encrypt er gyldige i 90 dager fra utstedelsesdatoen og er klarert av alle større nettlesere i dag.
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. Vi bruker certbot-verktøyet til å skaffe og fornye Let's Encrypt-sertifikater.
Forutsetninger
Forsikre deg om at du har oppfylt følgende forutsetninger før du fortsetter med denne opplæringen:
- Har et domenenavn som peker til den offentlige server-IP-en. Vi bruker
example.com
Apache er installert og kjører på serveren din. Har den virtuelle Apache-verten for ditt domene. Portene 80 og 443 er åpne i brannmuren din.
Installer følgende pakker som er nødvendige for en SSL-kryptert webserver:
Installer Certbot
Certbot er et verktøy som forenkler prosessen for å skaffe SSL-sertifikater fra Let's Encrypt og automatisk aktivere HTTPS på serveren din.
Certbot-pakken er tilgjengelig for installasjon fra EPEL. Hvis EPEL-repository ikke er installert på systemet ditt, kan du installere det ved hjelp av følgende kommando:
sudo yum install epel-release
Når EPEL-arkivet er aktivert, installerer du certbot-pakken ved å skrive:
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. Generer et nytt sett med 2048 bit DH-parametere for å styrke sikkerheten:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Du kan 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
.
Kjør thr etter kommandoer for å opprette katalogen og gjøre den skrivbar for Apache-serveren:
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /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
Utdraget over bruker flishuggerne som er anbefalt av Cipherli.st, aktiverer OCSP-stifting, HTTP Strict Transport Security (HSTS) og håndhever få sikkerhetsfokuserte
Last inn Apache-konfigurasjonen på nytt for at endringene skal tre i kraft:
sudo systemctl reload
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-12-07. 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:
CentOS 7 sendes med Apache versjon 2.4.6, som ikke inkluderer
SSLOpenSSLConfCmd
direktivet. Dette direktivet er bare tilgjengelig på Apache 2.4.8 senere, og det brukes til konfigurasjon av OpenSSL-parametere som Diffie – Hellman key exchange (DH).
Vi må lage en ny kombinert fil ved hjelp av Let's Encrypt SSL-sertifikatet og den genererte DH-filen. For å gjøre dette, skriver du inn:
cat /etc/letsencrypt/live/example.com/cert.pem /etc/ssl/certs/dhparam.pem >/etc/letsencrypt/live/example.com/cert.dh.pem
Nå som alt er satt opp, kan du redigere konfigurasjonen av virtuell domene for domene slik:
/etc/httpd/conf.d/example.com.conf
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.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.
Start Apache-tjenesten på nytt for at endringene skal tre i kraft:
sudo systemctl restart
Du kan nå åpne nettstedet ditt ved hjelp av
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 vi en cronjob som kjøres to ganger om dagen og automatisk fornyer alle sertifikater 30 dager før utløpet.
Kjør
crontab
kommandoen for å lage en ny cronjob som vil fornye sertifikatet, lage en ny kombinert fil inkludert DH-tasten og starte apache på nytt:
sudo crontab -e
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
Lagre og lukk filen.
For å teste fornyelsesprosessen kan du bruke certbot-kommandoen etterfulgt av -
--dry-run
bryteren:
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 til å 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 centos la oss kryptere certbot sslDette innlegget er en del av Install LAMP Stack på CentOS 7-serien.
Andre innlegg i denne serien:
• Hvordan installere Apache på CentOS 7 • Installer MySQL på CentOS 7 • Slik konfigurerer du virtuelle verter av Apache på CentOS 7 • Sikre Apache med Let's Encrypt på CentOS 7Sikre 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
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.