Nginx biztonságossá tétele Let’s Encrypt-tel Debian 11 rendszeren

Nginx biztonságossá tétele Let’s Encrypt-tel Debian 11 rendszeren

Bevezetés

Az Nginx egy népszerű webkiszolgáló szoftver, amely gyorsasága, megbízhatósága és biztonsága miatt ismert. A Let’s Encrypt egy ingyenes, automatizált és egyszerűen használható hitelesítésszolgáltató, amely SSL/TLS tanúsítványokat bocsát ki webhelyek számára.

Ebben az útmutatóban végigvezetjük Önt az Nginx biztonságossá tételének folyamatán a Let’s Encrypt használatával Debian 11 rendszeren. Ez magában foglalja a tanúsítvány beszerzését, a konfigurálását és a telepítését, valamint az Nginx biztonságos konfigurálását.

Tanúsítvány beszerzése

1. Certbot telepítése

A Certbot egy könnyen használható eszközkészlet, amely lehetővé teszi SSL/TLS tanúsítványok beszerzését és telepítését. Telepítse a Certbotot a következő paranccsal:


sudo apt update
sudo apt install certbot

2. Tanúsítvány beszerzése

Miután telepítette a Certbotot, futtassa a következő parancsot a tanúsítvány beszerzéséhez és telepítéséhez a tartománynevéhez:


sudo certbot --nginx

Kövesse a képernyőn megjelenő utasításokat az e-mail címének megadásához és a felhasználási feltételek elfogadásához. A Certbot most beszerzi a tanúsítványt, és automatikusan konfigurálja az Nginx-et a tanúsítvány használatához.

Nginx biztonságos konfigurálása

1. HTTP-továbbítások letiltása

Az HTTP-továbbítások biztonsági kockázatot jelenthetnek, ezért le kell tiltani őket. Nyissa meg az Nginx konfigurációs fájlt (/etc/nginx/sites-enabled/default) szövegszerkesztővel, és adja hozzá a következő sort a szerver blokkjához:


server {

...

listen 443 ssl;
listen [::]:443 ssl;
server_name example.com;

HTTP-továbbítások letiltása

return 400;

...

}

2. HTTP Strict Transport Security (HSTS) engedélyezése

Az HSTS megakadályozza, hogy a böngészők HTTP-n keresztül férjenek hozzá a webhelyhez. Nyissa meg az Nginx konfigurációs fájlt, és adja hozzá a következő sort a szerver blokkjához:


server {

...

HSTS engedélyezése

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

...

}

3. TLS-verziók korlátozása

A gyenge TLS-verziók letiltásával növelhető a webhely biztonsága. Nyissa meg az Nginx konfigurációs fájlt, és adja hozzá a következő sort a szerver blokkjához:


server {

...

TLS-verziók korlátozása

ssl_protocols TLSv1.3 TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:RSA+AES256:RSA+3DES:!aNULL:!EXPORT:!DES:!RC4:!MD5;

...

}

4. HTTPS szigorú átirányítása

A HTTPS szigorú átirányítása kényszeríti, hogy a webhely minden kérése HTTPS-en keresztül történjen. Nyissa meg az Nginx konfigurációs fájlt, és adja hozzá a következő sort a szerver blokkjához:


server {

...

HTTPS szigorú átirányítása

rewrite ^ https://$server_name$request_uri? permanent;

...

}

Újratöltés és tesztelés

Miután elvégezte a szükséges konfigurációs módosításokat, töltse újra az Nginx-et a következő paranccsal:


sudo systemctl reload nginx

Ezután tesztelheti az Nginx biztonságos konfigurációját a következő online eszközökkel:

* Qualys SSL Labs
* Immuniweb SSL Teszter

Következtetés

A Let’s Encrypt és az Nginx együttesen egy biztonságos és hatékony webhelyet hozhat létre. A tanúsítvány beszerzésével, konfigurálásával és az Nginx biztonságos konfigurálásával növelheti webhelye biztonságát és védelmét a potenciális fenyegetések ellen. Ne feledje, hogy a webhely biztonságát folyamatosan felül kell vizsgálni és frissíteni kell, hogy megfeleljen a változó fenyegetési környezetnek.

GYIK

1. Miért fontos a Let’s Encrypt használata?
A Let’s Encrypt ingyenes SSL/TLS tanúsítványokat bocsát ki, amelyek lehetővé teszik a webhelyek számára, hogy titkosítsák az adatátvitelt és védjék a felhasználókat az adathalász támadásoktól.

2. Telepíthetem a Let’s Encrypt-et más operációs rendszerekre?
Igen, a Let’s Encrypt a Debian mellett más operációs rendszerekre is telepíthető, mint például az Ubuntu, a CentOS és a Fedora.

3. Hogyan hosszabbíthatom meg a tanúsítványom érvényességét?
A Certbot automatikusan megújítja a tanúsítványokat 60 nappal a lejárat előtt. Győződjön meg róla, hogy a Certbot telepítve van és fut, hogy ez automatikusan megtörténjen.

4. Hogyan lehet letiltani az SSLv3 protokollt az Nginx-ben?
Az SSLv3 protokoll letiltásához adja hozzá a következő sort az Nginx konfigurációs fájl ssl_protocols direktívájához:


ssl_protocols TLSv1.3 TLSv1.2;

5. Hogyan lehet engedélyezni az OCSP staplinget az Nginx-ben?
Az OCSP stapling engedélyezéséhez adja hozzá a következő sort az Nginx konfigurációs fájl ssl_stapling direktívájához:


ssl_stapling on;

6. Hogyan lehet védeni az Nginx-et a brute force támadásoktól?
Az Nginx védelme a brute force támadásoktól:
* A kísérletek számának korlátozása az Auth Limit modul használatával.
* A kéttényezős hitelesítés engedélyezése.
* Az X-Forwarded-For fejléc ellenőrzése a hamisított IP-címek kiszűrésére.

7. Hogyan lehet blokkolni a rosszindulatú botok hozzáférését az Nginx-hez?
A rosszindulatú botok blokkolása az Nginx-ben:
* Az alacsony sebességű kérések korlátozása.
* Gyakori HTTP-kódok azonosítása és blokkolása, mint például a 404 és a 500.
* A gyanús fejlécek és felhasználóügynökök blokkolása.

8. Hogyan lehet javítani az Nginx teljesítményét?
Az Nginx teljesítményének javítása:
* A statikus fájlok gyorsítótárazása.
* Az Nginx dolgozóinak számának optimalizálása.
* Az Nginx konfiguráció finomhangolása, például a pufferméretek és a kapcsolatok időtúllépése.