Introduction to Amazon Web Services by Leo Zhadanovsky
Tartalomjegyzék:
- Előfeltételek
- Telepítse a Certbotot
- Erős Dh (Diffie-Hellman) csoport létrehozása
- SSL tanúsítvány beszerzése
- Automatikus megújítás Titkosítsuk az SSL tanúsítványt
- Következtetés
A Let's Encrypt az Internet Security Research Group (ISRG) által létrehozott tanúsító hatóság. Ingyenes SSL tanúsítványokat nyújt egy teljesen automatizált folyamat révén, amely a kézi tanúsítványok létrehozását, érvényesítését, telepítését és megújítását akadályozza meg.
A Let's Encrypt által kiadott tanúsítványokat ma minden nagyobb böngésző megbízza.
Ebben az oktatóanyagban lépésről lépésre nyújtunk útmutatást arról, hogyan lehet az Apache-t biztonságossá tenni a Encrypt segítségével az Ubuntu 18.04 certbot eszközével.
Előfeltételek
Mielőtt folytatná ezt az oktatóprogramot, győződjön meg arról, hogy teljesítette a következő feltételeket:
- A nyilvános kiszolgáló IP-jére mutató domain név. A példa.com szolgáltatást fogjuk használni. Telepítette az Apache-t egy domain-apache virtuális gazdagéppel.
Telepítse a Certbotot
A Certbot egy teljes funkcionalitású és könnyen használható eszköz, amely automatizálja a Let's Encrypt SSL tanúsítványok beszerzésének és megújításának, valamint a webszerverek konfigurálásának feladatait. A certbot csomag szerepel az alapértelmezett Ubuntu tárolókban.
Frissítse a csomagok listáját és telepítse a certbot csomagot:
sudo apt update
sudo apt install certbot
Erős Dh (Diffie-Hellman) csoport létrehozása
A Diffie – Hellman kulcscsere (DH) a kriptográfiai kulcsok biztonságos cseréje egy nem biztonságos kommunikációs csatornán. Új biztonsági, 2048 bites DH-paramétereket generálunk a biztonság megerősítése érdekében:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Ha szeretné, 4096 bitig megváltoztathatja a méretet, de ebben az esetben a generálás a rendszer entrópiájától függően több mint 30 percet vehet igénybe.
SSL tanúsítvány beszerzése
A domain SSL-tanúsítványának beszerzéséhez a Webroot beépülő modult fogjuk használni, amely ideiglenes fájlt hoz létre a kért tartomány érvényesítéséhez a
${webroot-path}/.well-known/acme-challenge
könyvtárban. A Let's Encrypt szerver HTTP kéréseket küld az ideiglenes fájlhoz annak ellenőrzésére, hogy a kért tartomány feloldja-e azt a szervert, amelyen a certbot fut.
Az egyszerűbbé tétele érdekében az
.well-known/acme-challenge
összes HTTP kérését a
/var/lib/letsencrypt
könyvtárba
/var/lib/letsencrypt
.
A következő parancsok elkészítik a könyvtárat, és újraírhatóvá teszik azt az Apache szerver számára.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp www-data /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
A kettőzés elkerülése érdekében hozza létre a következő két konfigurációs kódrészletet:
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"
A fenti kivonat a Cipherli.st által javasolt aprítókat használja, lehetővé teszi az OCSP tűzés, a HTTP szigorú szállításbiztonság (HSTS) használatát, és kevés biztonsági szempontból összpontosított HTTP-fejlécet hajt végre.
A konfigurációs fájlok engedélyezése előtt ellenőrizze, hogy a
mod_ssl
és a
mod_headers
is engedélyezve vannak-e:
sudo a2enmod ssl
sudo a2enmod headers
Ezután engedélyezze az SSL konfigurációs fájlokat a következő parancsok futtatásával:
sudo a2enconf letsencrypt
sudo a2enconf ssl-params
Engedélyezze a HTTP / 2 modult, amely gyorsabbá és robusztusabbá teszi webhelyeit:
sudo a2enmod
Töltse újra az Apache konfigurációját, hogy a változások érvénybe lépjenek:
sudo systemctl reload apache2
Most futtathatjuk a Certbot eszközt a webroot pluginnel és az SSL tanúsítványfájlokat a következő gépeléssel szerezhetjük be:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Ha az SSL-tanúsítványt sikeresen megszerezte, a certbot a következő üzenetet nyomtatja ki:
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:
Most, hogy megvan a tanúsítványfájlok, módosítsa a tartomány virtuális gazdagép konfigurációját az alábbiak szerint:
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
A fenti konfigurációval kényszerítjük a HTTPS-t, és átirányítunk a www-ról a nem-www verzióra. Ha szabadon beállíthatja a konfigurációt az Ön igényei szerint.
Töltse újra az Apache szolgáltatást a módosítások hatályba lépése érdekében:
sudo systemctl reload apache2
Most már megnyithatja webhelyét a
https://
, és egy zöld zár ikonra kattint.
Automatikus megújítás Titkosítsuk az SSL tanúsítványt
Titkosítsuk a tanúsítványok 90 napig érvényesek. A tanúsítványok automatikus megújításához, mielőtt azok lejárnak, a certbot csomag létrehoz egy cronjob-ot, amely naponta kétszer fut, és 30 nappal a lejárta előtt automatikusan megújítja a tanúsítványokat.
A tanúsítvány megújítása után az Apache szolgáltatást is újra kell töltenünk.
--renew-hook "systemctl reload apache2"
fájlt az
/etc/cron.d/certbot
fájlba úgy, hogy a következőképpen néz ki:
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"
A megújítási folyamat teszteléséhez használja a certbot
--dry-run
kapcsolót:
sudo certbot renew --dry-run
Ha nincs hiba, ez azt jelenti, hogy a megújítási folyamat sikeres volt.
Következtetés
Ebben az oktatóprogramban a Let's Encrypt kliens tanúsítványt használta az SSL tanúsítványok letöltéséhez a domainjéhez. Az Apache kódrészleteket is létrehozott a kód sokszorosításának elkerülése érdekében, és az Apache-t konfigurálta a tanúsítványok használatához. Az oktatóprogram végén létrehozott egy cronjob-ot az automatikus tanúsítási megújításhoz.
apache ubuntu titkosítsuk a certbot ssl-tEz a bejegyzés a how-to-install-lamp-stack-on-ubuntu-18-04 sorozat részét képezi.
A sorozat többi hozzászólása:
• Az Apache telepítése az Ubuntu 18.04-en • Az Apache virtuális gazdagépeinek beállítása az Ubuntu 18.04-en • Biztonságos Apache titkosítással az Ubuntu 18.04-en • Hogyan telepíthetjük a MySQL-t az Ubuntu 18.04-en • Hogyan telepíthetjük a PHP-t az Ubuntu 18.04-enBiztonsági apache titkosítással a centos 7-en
Ebben az oktatóanyagban bemutatjuk az ingyenes, az SSL-titkosítás igazolásának telepítéséhez szükséges lépéseket egy CentOS 7 szerverre, amely Apache-t webszolgáltatóként futtatja.
Biztonsági apache titkosítással a centos 8-on
Ez az oktatóanyag elmagyarázza, hogyan telepítsünk egy ingyenes Let's Encrypt SSL tanúsítványt az Apache-t webkiszolgálóként futtató CentOS 8-ra. A certbot eszközt fogjuk használni a tanúsítványok beszerzéséhez és megújításához.
Biztonsági apache titkosítással a Debian 9-en
Ez az oktatóprogram végigvezeti Önt egy ingyenes Let's Encrypt beszerzésének folyamatában a Debian 9-en a certbot eszköz használatával. Megmutatjuk azt is, hogyan állítsuk be az Apache-t az új SSL tanúsítvány használatához és a HTTP / 2 engedélyezéséhez.