Az Nginx biztonságossá tétele a Let's Encrypt segítségével a CentOS 8 rendszeren
Az Electronic Frontier Foundation (EFF) által 2016 áprilisában alapított Let’s Encrypt egy ingyenes és automatizált digitális tanúsítvány, amely TLS titkosítást biztosít a webhelyek számára, teljesen költségmentesen.
A Titkosítsuk tanúsítvány célja a biztonsági tanúsítvány érvényesítésének, létrehozásának, aláírásának, valamint automatikus megújításának automatizálása. Ez a tanúsítvány lehetővé teszi a titkosított kapcsolatokat a HTTPS protokollt használó webszerverekhez, egyszerű, problémamentes módon, minden bonyolultság nélkül. A tanúsítvány csak 90 napig érvényes, amelyen belül aktiválható az automatikus megújítás.
Ajánlott olvasmány: Az Apache biztonságossá tétele a Let’s Encrypt SSL-tanúsítvánnyal a CentOS 8 rendszeren
Ebben a cikkben bemutatjuk, hogyan telepítheti a Let's Encrypt alkalmazást, hogy ingyenes SSL-tanúsítványt szerezzen az Nginx webszerver biztonságossá tételéhez CentOS 8 rendszeren ( ugyanezek az utasítások az RHEL 8 esetén is működnek). Azt is elmagyarázzuk, hogyan kell automatikusan megújítani az SSL-tanúsítványt.
Előfeltételek
Mielőtt folytatnánk, győződjön meg arról, hogy a következőket ellenőrizte.
1. Egy Fullly Qualified Domain Name (FQDN), amely a webszerver dedikált IP-címére mutat. Ezt a DNS-webtárhely-szolgáltató ügyfélterületén kell konfigurálni. Ebben az oktatóanyagban a linuxtechwhiz
domain nevet használjuk, amely a 34.70.245.117 IP-címre mutat.
2. Ezt úgy is megerősítheti, hogy a képen látható dig paranccsal előre keresést hajt végre.
dig linuxtechwhiz.info
3. Az Nginx telepítve van és fut a webszerveren. Ezt megerősítheti, ha bejelentkezik a terminálba, és futtatja az alábbi parancsot. Ha az Nginx nincs telepítve, kövesse cikkünket az Nginx telepítéséhez a CentOS 8 rendszeren.
sudo systemctl status nginx
4. Az ellenőrzést úgy is megteheti, hogy meglátogatja a webszerver URL-jét egy webböngészőben.
http://server-IP-or-hostname
Az URL-ből egyértelműen láthatjuk, hogy az oldal nem biztonságos, így nincs titkosítva. Ez azt jelenti, hogy a webszerverhez intézett bármely kérés lehallgatható, mivel ezek olyan kritikus és bizalmas információkat tartalmaznak, mint a felhasználónevek, jelszavak, társadalombiztosítási számok és hitelkártyaadatok, hogy néhányat említsünk.
Most mocskoljuk be a kezünket, és telepítsük a Let's Encrypt alkalmazást.
1. lépés: Telepítse a Certbotot a CentOS 8 rendszerben
A Let’s Encrypt tanúsítvány telepítéséhez mindenekelőtt telepítenie kell a certbotot. Ez egy bővíthető kliens, amely biztonsági tanúsítványt kér le a Let’s Encrypt Authority-től, és lehetővé teszi, hogy automatizálja a tanúsítvány webszerver általi használatra való érvényesítését és konfigurálását.
Töltse le a certbot programot a curl paranccsal.
sudo curl -O https://dl.eff.org/certbot-auto
Ezután helyezze át a tanúsítványt a /usr/local/bin könyvtárba.
sudo mv certbot-auto /usr/local/bin/certbot-auto
Ezután rendeljen fájlengedélyt a certbot fájlhoz, az ábra szerint.
chmod 0755 /usr/local/bin/certbot-auto
2. lépés: Konfigurálja az Nginx szerverblokkot
Az Nginx szerverblokkja megegyezik az Apache virtuális gazdagépével. A szerverblokkok beállítása nemcsak több webhely beállítását teszi lehetővé egy szerveren, hanem azt is, hogy a certbot igazolja a domain tulajdonjogát a Tanúsító hatóság – CA felé.
Szerverblokk létrehozásához futtassa az alábbi parancsot.
sudo vim /etc/nginx/conf.d/www.linuxtechwhiz.info
Feltétlenül cserélje ki a domain nevet a saját domain nevére. Ezután illessze be az alábbi konfigurációt.
server {
server_name www.linuxtechwhiz.info;
root /opt/nginx/www.linuxtechwhiz.info;
location / {
index index.html index.htm index.php;
}
access_log /var/log/nginx/www.linuxtechwhiz.info.access.log;
error_log /var/log/nginx/www.linuxtechwhiz.info.error.log;
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Mentse el a fájlt, és lépjen ki a szövegszerkesztőből.
3. lépés: Telepítse a Lets Encrypt tanúsítványt a CentOS 8 rendszeren
Most használja a certbot parancsot a Let’s Encrypt biztonsági tanúsítvány lekérésének és konfigurációjának inicializálásához.
sudo /usr/local/bin/certbot-auto --nginx
Ez a parancs több Python-csomagot és azok függőségeit futtatja és telepíti az ábrán látható módon.
Ezt követően egy interaktív prompt követi, az alábbi módon:
Ha minden jól ment, a legvégén látnia kell egy gratuláló üzenetet.
Az Nginx-webhely titkosításának ellenőrzéséhez töltse be újra a weboldalt, és figyelje meg a lakat szimbólumot az URL elején. Ez azt jelzi, hogy a webhely SSL/TLS titkosítással védett.
A biztonsági tanúsítvánnyal kapcsolatos további információkért kattintson a lakat szimbólumra, és válassza a „Tanúsítvány” lehetőséget.
A biztonsági tanúsítvánnyal kapcsolatos további információk az alábbiak szerint jelennek meg.
Ezenkívül a biztonsági tanúsítvány erősségének teszteléséhez látogasson el a https://www.ssllabs.com/ssltest/ oldalra, és keresse meg a biztonsági tanúsítvány állapotának pontosabb és alaposabb elemzését.
4. lépés: A Let’s Encrypt tanúsítvány megújítása
Ahogy korábban láttuk, a biztonsági tanúsítvány csak 90 napig érvényes, és a lejárat előtt meg kell újítani.
A tanúsítvány megújítási folyamatot szimulálhatja vagy tesztelheti a parancs futtatásával:
sudo /usr/local/bin/certbot-auto renew --dry-run
Következtetés
Ezzel zárja le ezt az oktatóanyagot az Nginx biztonságáról a Let's Encrypt segítségével CentOS 8 rendszeren. A Titkosítsuk hatékony és problémamentes módszert kínál az Nginx webszerver biztonságossá tételére, amelyet egyébként manuálisan bonyolult feladat lenne.
Webhelyének most teljesen titkosítottnak kell lennie. Néhány héttel a tanúsítvány lejárati dátuma előtt az EFF e-mailben figyelmezteti Önt a tanúsítvány megújítására, hogy elkerülje a lejárt tanúsítvány miatti megszakításokat. Srácok mára ennyi!