Tartalomjegyzék
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.