Git Alapismeretek 06. Kapcsolódási módok
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 egy ingyenes, automatizált és nyílt tanúsítási jogosultság, amelyet az Internet Security Research Group (ISRG) fejlesztett ki. A Let's Encrypt által kiállított tanúsítványok a kiállítás napjától számított 90 napig érvényesek, és manapság az összes fő böngésző megbízható.
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 webszerverként fut. A certbot segédprogramot fogjuk használni a Encrypt tanúsítványok beszerzéséhez és megújításához.
Előfeltételek
A bemutató folytatása előtt győződjön meg arról, hogy teljesítette a következő előfeltételeket:
- Van egy domain név, amely a nyilvános kiszolgáló IP-jére mutat. A példát.com fogjuk használni. AzApache telepítve van és fut a kiszolgálón.A domainhez tartozó Apache virtuális gazdagépen van. A 80. és 443. portok nyitva vannak a tűzfalban.
Telepítse a következő csomagokat, amelyek szükségesek egy SSL titkosított webszerverhez:
Telepítse a Certbotot
A Certbot olyan eszköz, amely leegyszerűsíti az SSL-tanúsítványok beszerzésének folyamatát a Encrypt alkalmazásból, és automatikusan engedélyezi a HTTPS-t a szerveren.
A certbot csomag telepíthető az EPEL-től. Ha az EPEL lerakat nincs telepítve a rendszerére, telepítheti a következő paranccsal:
sudo yum install epel-release
Miután engedélyezte az EPEL lerakatot, telepítse a certbot csomagot a következő gépeléssel:
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. Generáljon egy új, 2048 bites DH paramétereket a biztonság megerősítése érdekében:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
A méret akár 4096 bit is megváltoztatható, de ebben az esetben a generálás a rendszer entrópiájától függően 30 percnél tovább tarthat.
SSL tanúsítvány beszerzése
Tartományunk 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 a
.well-known/acme-challenge
összes HTTP kérését a
/var/lib/letsencrypt
könyvtárba
/var/lib/letsencrypt
.
Futtassa a következő parancsokat a könyvtár létrehozásához és az Apache szerver számára írhatóvá tételéhez:
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /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
A fenti kódrészlet a Cipherli.st által javasolt aprítókat használja, lehetővé teszi az OCSP tűzés, a HTTP szigorú szállítási biztonság (HSTS) használatát, és kevés biztonsági szempontból összpontosított HTTP-fejlécet hajt végre.
Töltse újra az Apache konfigurációját, hogy a változások érvénybe lépjenek:
sudo systemctl reload
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-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:
A CentOS 7 az Apache 2.4.6 verzióját szállítja, amely nem tartalmazza az
SSLOpenSSLConfCmd
irányelvet. Ez az irányelv csak az Apache 2.4.8 későbbi verzióján érhető el, és az OpenSSL paraméterek, például a Diffie – Hellman kulcscsere (DH) paramétereinek konfigurálására szolgál.
Új kombinált fájlt kell létrehoznunk a Let's Encrypt SSL tanúsítvány és a létrehozott DH fájl felhasználásával. Ehhez írja be:
cat /etc/letsencrypt/live/example.com/cert.pem /etc/ssl/certs/dhparam.pem >/etc/letsencrypt/live/example.com/cert.dh.pem
Most, hogy minden fel van állítva, módosítsa a domain virtuális gazdagép konfigurációját az alábbiak szerint:
/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
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.
Indítsa újra az Apache szolgáltatást a változások hatályba lépése érdekében:
sudo systemctl restart
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, létrehozunk egy cronjob-ot, amely naponta kétszer fut, és automatikusan megújítja a tanúsítványokat 30 nappal a lejárta előtt.
Futtassa a
crontab
parancsot egy új cronjob létrehozásához, amely megújítja a tanúsítványt, hozzon létre egy új kombinált fájlt, amely tartalmazza a DH kulcsot, és indítsa újra az apache-t:
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
Mentse és zárja be a fájlt.
A megújítási folyamat teszteléséhez használhatja a certbot parancsot, amelyet a
--dry-run
kapcsoló követ:
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 centos titkosítsuk a certbot ssl-tEz a bejegyzés része a Install LAMP Stack on CentOS 7 sorozatnak.
A sorozat többi hozzászólása:
• Az Apache telepítése a CentOS 7-re • A MySQL telepítése a CentOS 7-re • Az Apache virtuális gazdagépeinek beállítása a CentOS 7-en • Biztonságos Apache a EncOSpt segítségével a CentOS 7-enBiztonsá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.
Biztonsági apache titkosítással az ubuntu 18.04-en
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.