Android

Osigurajte apache uz šifrirajmo na debianu 9

Sorte pšenice i ječma kompanije Axereal Serbia doo.

Sorte pšenice i ječma kompanije Axereal Serbia doo.

Sadržaj:

Anonim

Let's Encrypt je autoritet za certifikate koji je stvorila Internet Security Research Group (ISRG). Pruža besplatne SSL certifikate kroz potpuno automatizirani proces dizajniran za uklanjanje ručnog stvaranja, provjere valjanosti, instalacije i obnove certifikata.

Potvrde izdane od strane Let's Encrypt vrijede 90 dana od dana izdavanja i danas im vjeruju svi glavni preglednici.

Ovaj će vas vodič voditi kroz postupak dobivanja besplatnog Šifrirajmo pomoću alata certbot na Debianu 9. Također ćemo pokazati kako konfigurirati Apache za korištenje novog SSL certifikata i omogućiti HTTP / 2.

Preduvjeti

Prije nastavka s ovim vodičem osigurajte da ste ispunili sljedeće preduvjete:

  • Prijavljeni ste kao korisnik s sudo privilegijama. Imajte naziv domene koji upućuje na IP vašeg poslužitelja. Koristit ćemo example.com .Apache instaliran. Apache virtualni domaćin za vašu domenu. Možete slijediti ove upute za detalje o tome kako ih stvoriti.

Instalirajte Certbot

Certbot je potpuno opremljen i jednostavan za korištenje alat koji može automatizirati zadatke za dobivanje i obnovu Let’s Encrypt SSL certifikata. Paket certbot uključen je u zadane spremišta Debiana.

Ažurirajte popis paketa i instalirajte certbot paket koristeći sljedeće naredbe:

sudo apt update sudo apt install certbot

Stvaranje snažne Dh (Diffie-Hellman) grupe

Razmjena ključeva Diffie-Hellman (DH) metoda je sigurne razmjene kriptografskih ključeva preko nezaštićenog komunikacijskog kanala.

Za generiranje novog skupa od 2048 bitnih DH parametara pokrenite:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 Ako želite, možete promijeniti veličinu do 4096 bita, ali u tom slučaju generacija može potrajati više od 30 minuta, ovisno o entropiji sustava.

Dobivanje šifriramo SSL certifikat Let's Šifriraj

Za dobivanje SSL certifikata za našu domenu koristit ćemo Webroot dodatak koji djeluje stvaranjem privremene datoteke za provjeru tražene domene u ${webroot-path}/.well-known/acme-challenge direktoriju ${webroot-path}/.well-known/acme-challenge . Poslužitelj Let's Encrypt postavlja HTTP zahtjeve u privremenu datoteku kako bi potvrdio da se zatražena domena rješava na poslužitelju na kojem se pokreće certbot.

Da bismo to pojednostavili, /var/lib/letsencrypt ćemo sve HTTP zahtjeve za .well-known/acme-challenge u jedan direktorij, /var/lib/letsencrypt .

Sljedeće naredbe stvaraju direktorij i čine ga mogućnost pisanja za Apache poslužitelj.

sudo mkdir -p /var/lib/letsencrypt/.well-known sudo chgrp www-data /var/lib/letsencrypt sudo chmod g+s /var/lib/letsencrypt sudo chgrp www-data /var/lib/letsencrypt sudo chmod g+s /var/lib/letsencrypt

Da biste izbjegli dupliciranje koda, stvorite sljedeće dvije isječke konfiguracije:

/etc/apache2/conf-available/letsencrypt.conf

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 /etc/apache2/conf-available/ssl-params.conf

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"

Gornji isječak koristi sječiće koje preporučuje Cipherli.st, omogućuje OCSP spajanje, HTTP strogu transportnu sigurnost (HSTS) i nameće nekoliko HTTP zaglavlja usmjerenih na sigurnost.

Prije omogućavanja konfiguracijskih datoteka, provjerite jesu li mod_ssl i mod_headers i mod_headers izdavanjem:

sudo a2enmod ssl sudo a2enmod headers

Omogućite HTTP / 2 modul, koji će vaše web stranice učiniti bržim i robusnijim:

sudo a2enmod

Omogućite SSL konfiguracijske datoteke pokretanjem sljedećih naredbi:

sudo a2enconf letsencrypt sudo a2enconf ssl-params

Učitajte ponovo Apache konfiguraciju da bi promjene stupile na snagu:

sudo systemctl reload apache2

Pomoću alata Certbot s dodatkom webroot dobivate datoteke SSL certifikata:

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com

Ako je SSL certifikat uspješno dobiven, certbot će ispisati sljedeću poruku:

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:

Sada kada imate datoteke certifikata, uredite konfiguraciju virtualnog računala hosta na sljedeći način:

/etc/apache2/sites-available/example.com.conf

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

S gornjom konfiguracijom, prisiljavamo HTTPS i preusmjeravamo s www na verziju koja nije www. Slobodno prilagođavajte konfiguraciju prema vašim potrebama.

Učitajte ponovo Apache uslugu da bi promjene stupile na snagu:

sudo systemctl reload apache2

Otvorite svoju web stranicu koristeći https:// i vidjet ćete zelenu ikonu zaključavanja.

Automatska obnova Let's Šifriraj SSL certifikat

Neka šifriraju potvrde vrijede 90 dana. Da bi automatski obnavljao certifikate prije njihovog isteka, certbot paket stvara cronjob koji se izvodi dva puta dnevno i automatski će obnoviti bilo koji certifikat 30 dana prije njegovog isteka.

Nakon obnavljanja certifikata moramo ponovno učitati Apache uslugu. Dodajte --renew-hook "systemctl reload apache2" u /etc/cron.d/certbot datoteku tako da izgleda kao sljedeće:

/etc/cron.d/certbot

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"

Za testiranje postupka obnove upotrijebite prekidač certbot --dry-run sušenjem:

sudo certbot renew --dry-run

Ako nema pogrešaka, to znači da je proces obnove bio uspješan.

Zaključak

U ovom su udruženju koristili certbot Let's Encrypt klijenta za dobivanje SSL certifikata za svoju domenu. Također ste stvorili isječke Apache da izbjegnete dupliciranje koda i konfigurirali Apache za korištenje certifikata. Na kraju udžbenika postavili ste cronjob za automatsku obnovu certifikata.

apache debian šifrirajmo certbot ssl

Ovaj je post dio Kako instalirati LAMP stack na Debian 9 seriji.

Ostali postovi u ovoj seriji:

• Kako instalirati Apache na Debian 9 • Kako instalirati PHP na Debian 9 • Kako postaviti virtualne hostove Apache na Debian 9 • Kako instalirati MariaDB na Debian 9 • Osigurati Apache uz Šifriraj na Debianu 9