Nginx ialah pelayan HTTP yang digunakan secara meluas dan pelayan proksi terbalik yang memastikan keselamatan komunikasi rangkaian melalui protokol SSL/TLS. Dalam artikel ini, kami akan meneroka amalan terbaik untuk konfigurasi keselamatan SSL/TLS Nginx untuk membantu anda memastikan keselamatan pelayan anda dengan lebih baik.
1. Gunakan versi terkini Nginx dan OpenSSL
Versi terkini Nginx dan OpenSSL mengandungi pembetulan dan kemas kini keselamatan terkini. Oleh itu, memastikan penggunaan versi terkini Nginx dan OpenSSL adalah cara asas untuk memastikan keselamatan pelayan.
2. Hasilkan kunci peribadi dan sijil dengan kata laluan yang kukuh
Apabila menjana sijil SSL dan kunci peribadi, kami mesti memastikan kata laluan yang kukuh digunakan. Kata laluan yang kuat boleh meningkatkan keselamatan kunci peribadi dan sijil, dan juga boleh menghalang serangan penggodam. Sebagai contoh, kita boleh menggunakan alat openssl untuk menjana kunci peribadi RSA 2048-bit:
openssl genrsa -out key.pem 2048
Begitu juga, kata laluan juga diperlukan semasa menjana sijil permintaan:
openssl req -new -key key.pem -out csr.pem
3 Dilarang menggunakan algoritma penyulitan yang lemah
Protokol SSL/TLS menyokong. berbilang algoritma penyulitan termasuk DES, RC4, dsb. Walau bagaimanapun, beberapa algoritma penyulitan telah terbukti cacat dan juga rosak. Oleh itu, untuk memastikan keselamatan pelayan, kita harus melarang penggunaan algoritma penyulitan yang sudah tidak selamat ini. Kami boleh menggunakan konfigurasi berikut untuk melumpuhkan penggunaan algoritma penyulitan yang lemah:
ssl_ciphers HIGH:!aNULL:!MD5;
4. Dayakan Strict-Transport-Security (STS)
Dayakan perlindungan STS daripada serangan lelaki di tengah dan percubaan untuk menyahsulit trafik. STS memberitahu penyemak imbas untuk hanya mengakses tapak web melalui sambungan HTTPS, dan penyemak imbas akan mengubah hala secara automatik ke HTTPS sebaik sahaja ia mendapati tapak web itu diakses melalui sambungan HTTP. STS boleh didayakan melalui konfigurasi berikut:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
5 Dayakan penyematan kunci awam HTTP
Walaupun protokol SSL/TLS telah menjadi lebih selamat, serangan penetapan kunci awam masih wujud. Prinsip serangan penyematan kunci awam ialah penggodam boleh mendapatkan kunci awam tapak web dan mengubah suainya, menyebabkan penyemak imbas tersalah anggap bahawa sambungan itu selamat. Serangan ini boleh dilindungi daripada dengan mendayakan penyematan kunci awam HTTP. Kami boleh mendayakan penyematan kunci awam HTTP menggunakan konfigurasi berikut:
add_header Public-Key-Pins 'pin-sha256="base64+primary=="; -age=5184000; includeSubDomains';
6 Dayakan OCSP Stapling
OCSP Stapling ialah ciri keselamatan yang menyimpan cache respons OCSP untuk mengurangkan tekanan pada pelayan dan memendekkan masa yang diperlukan untuk OCSP. masa tindak balas pelayan meningkatkan kelajuan dan keselamatan tindak balas pelayan. Kami boleh mendayakan OCSP Stapling menggunakan konfigurasi berikut:
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/ocsp.crt;
resolver 8.8._8.8>; 10s ;
Atas ialah kandungan terperinci Amalan terbaik untuk konfigurasi keselamatan SSL/TLS Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!