Android

Varmista apache salaamalla Debian 9

Calling All Cars: The 25th Stamp / The Incorrigible Youth / The Big Shot

Calling All Cars: The 25th Stamp / The Incorrigible Youth / The Big Shot

Sisällysluettelo:

Anonim

Let's Encrypt on Internet Security Research Groupin (ISRG) luoma varmenteen myöntäjä. Se tarjoaa ilmaisia ​​SSL-varmenteita täysin automatisoidun prosessin avulla, joka on suunniteltu poistamaan manuaalinen varmenteiden luominen, validointi, asennus ja uusiminen.

Let's Encryptin myöntämät sertifikaatit ovat voimassa 90 päivää myöntämispäivästä, ja kaikkien tärkeimpien selainten luottamus tänään.

Tämä opetusohjelma opastaa sinua ilmaisen Let's Encrypt -sovelluksen hankkimisessa Debian 9: n certbot-työkalulla. Osoitamme myös, kuinka Apache määritetään käyttämään uutta SSL-varmennetta ja ottamaan käyttöön HTTP / 2.

edellytykset

Varmista, että olet täyttänyt seuraavat ehdot, ennen kuin jatkat tätä opastusta:

  • Sisäänkirjautuneena käyttäjänä, jolla on sudo-oikeudet.On verkkotunnus osoittanut palvelimen julkiseen palvelimeen IP. Käytämme example.com .Apache asennettuna. Verkkotunnuksen apache-virtuaalinen isäntä. Seuraa näitä ohjeita saadaksesi lisätietoja sen luomisesta.

Asenna Certbot

Certbot on täysin varusteltu ja helppokäyttöinen työkalu, joka voi automatisoida Let's Encrypt SSL -sertifikaattien hankkimis- ja uusimistehtävät. Certbot-paketti sisältyy Debianin oletusvarastoihin.

Päivitä pakettiluettelo ja asenna certbot-paketti seuraavilla komennoilla:

sudo apt update sudo apt install certbot

Luo vahva Dh (Diffie-Hellman) -ryhmä

Diffie – Hellman-avaintenvaihto (DH) on menetelmä salausavainten vaihtamiseksi turvallisesti suojaamattoman tietoliikennekanavan kautta.

Uuden 2048-bittisten DH-parametrien sarjan luominen suoritetaan:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 Halutessasi voit muuttaa kokoa enintään 4096 bittiä, mutta tällöin luominen voi viedä yli 30 minuuttia järjestelmän entropiasta riippuen.

Salamme SSL-varmenteen

Saadaksesi verkkotunnuksellemme SSL-varmenteen aiomme käyttää Webroot-laajennusta, joka toimii luomalla väliaikaisen tiedoston vahvistaaksesi pyydetyn verkkotunnuksen ${webroot-path}/.well-known/acme-challenge hakemisto. Let's Encrypt -palvelin tekee HTTP-pyyntöjä väliaikaiseen tiedostoon vahvistaakseen, että pyydetty verkkotunnus ratkaisee palvelimelle, jossa certbot toimii.

Yksinkertaistamiseksi aiomme kartoittaa kaikki. Hyvin .well-known/acme-challenge HTTP-pyynnöt yhteen hakemistoon, /var/lib/letsencrypt .

Seuraavat komennot luovat hakemiston ja tekevät siitä kirjoitettavan Apache-palvelimelle.

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

Koodin päällekkäisyyksien välttämiseksi luo seuraavat kaksi kokoonpanokatkelmaa:

/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"

Yllä oleva katkelma käyttää Cipherli.st: n suosittelemia hakkereita, mahdollistaa OCSP-nidonnan, HSTS-tiukan liikenneturvallisuuden (HSTS) ja valvoo muutamaa turvallisuuteen keskittynyttä

Varmista ennen määritystiedostojen käyttöönottoa, että sekä mod_ssl että mod_headers ovat käytössä antamalla:

sudo a2enmod ssl sudo a2enmod headers

Ota HTTP / 2-moduuli käyttöön, mikä tekee sivustosi nopeammiksi ja kestävämmiksi:

sudo a2enmod

Ota SSL-määritystiedostot käyttöön suorittamalla seuraavat komennot:

sudo a2enconf letsencrypt sudo a2enconf ssl-params

Lataa Apache-asetukset uudelleen, jotta muutokset tulevat voimaan:

sudo systemctl reload apache2

Käytä Certbot-työkalua webroot-laajennuksen kanssa saadaksesi SSL-varmennetiedostot:

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

Jos SSL-varmenne saadaan onnistuneesti, certbot tulostaa seuraavan viestin:

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:

Nyt kun sinulla on varmennetiedostot, muokkaa verkkotunnuksen virtuaalisen palvelimen kokoonpanoa seuraavasti:

/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

Yllä olevalla kokoonpanolla pakotamme HTTPS: n ja ohjaamme www-osoitteesta muuhun kuin www-versioon. Voit vapaasti säätää kokoonpanoa tarpeidesi mukaan.

Lataa Apache-palvelu uudelleen, jotta muutokset tulevat voimaan:

sudo systemctl reload apache2

Avaa verkkosivusto verkkosivustolla https:// , ja huomaat vihreän lukon kuvakkeen.

Automaattinen uusiminen Let's Encrypt SSL -varmenne

Salatko varmenteet ovat voimassa 90 päivää. Jos haluat uusia sertifikaatteja automaattisesti ennen niiden voimassaolon päättymistä, certbot-paketti luo cronjobin, joka toimii kahdesti päivässä ja uusii sertifikaatit automaattisesti 30 päivää ennen niiden voimassaolon päättymistä.

Kun varmenne uusitaan, meidän on myös ladattava Apache-palvelu uudelleen. Lisää --renew-hook "systemctl reload apache2" /etc/cron.d/certbot joten se näyttää seuraavalta:

/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"

Testaa uusimisprosessi käyttämällä certbot --dry-run -kytkintä:

sudo certbot renew --dry-run

Jos virheitä ei ole, uusimisprosessi onnistui.

johtopäätös

Tässä opetusohjelmassa käytit Let's Encrypt Client -sertifikaattia saadaksesi verkkotunnuksesi SSL-varmenteet. Olet myös luonut Apache-katkelmat koodin päällekkäisyyksien välttämiseksi ja määrittänyt Apachen käyttämään varmenteita. Opetusohjelman lopussa olet asettanut cronjob-sertifikaatin automaattiseen uusimiseen.

apache debian salattava certbot ssl

Tämä viesti on osa Kuinka asentaa LAMP-pino Debian 9 -sarjaan.

Muut tämän sarjan viestit:

• Kuinka asentaa Apache Debian 9: ään • Kuinka asentaa PHP Debian 9: ään • Kuinka asentaa Apache-virtuaalisia isäntä Debian 9: ään • Kuinka asentaa MariaDB Debian 9: ään • Suojaa Apache suojaamalla Debian 9