Weboldal keresés

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!