Dengan perkembangan Internet, semakin banyak perhatian telah diberikan kepada keselamatan tapak web, terutamanya yang melibatkan privasi pengguna dan maklumat sensitif. Sijil SSL telah menjadi salah satu langkah penting untuk memastikan keselamatan laman web. Nginx, sebagai pelayan web berprestasi tinggi, juga menyokong sijil SSL. Artikel ini akan memperkenalkan cara mengoptimumkan rantaian jabat tangan dan sijil SSL Nginx untuk meningkatkan prestasi keselamatan tapak web.
SSL handshake ialah bahagian yang sangat penting dalam protokol SSL/TLS, yang memastikan bahawa komunikasi antara pelanggan dan pelayan adalah selamat. Pengoptimuman sokongan Nginx untuk jabat tangan SSL boleh dicapai dalam dua cara berikut:
1.1 Hidupkan penggunaan semula sesi SSL
Penggunaan semula sesi SSL ialah cara untuk menambah baik jabat tangan SSL dengan menyimpan sesi SSL ID dan teknologi Kecekapan. Semasa proses jabat tangan SSL, pelanggan dan pelayan perlu bertukar-tukar sijil dan melakukan rundingan kunci penyulitan dan operasi lain ini akan mengambil banyak masa dan sumber. Mendayakan penggunaan semula sesi SSL membolehkan pelanggan dan pelayan menggunakan sambungan SSL yang telah ditetapkan sebelum ini secara langsung dalam proses jabat tangan SSL berikutnya, mengelakkan pengiraan kunci berulang dan operasi jabat tangan, sekali gus meningkatkan kecekapan jabat tangan SSL.
Sangat mudah untuk mendayakan penggunaan semula sesi SSL dalam Nginx Anda hanya perlu menambah arahan berikut dalam blok konfigurasi SSL:
ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m;
Antaranya, ssl_session_cache menentukan kaedah dan nama bagi. Cache sesi SSL, di sini Cache memori kongsi digunakan dan saiz cache 10M ditentukan. ssl_session_timeout menentukan masa tamat tempoh sesi SSL, yang ditetapkan kepada 5 minit di sini.
1.2 Pilih suite penyulitan SSL yang sesuai
Semasa proses jabat tangan SSL, pelanggan dan pelayan perlu memilih algoritma penyulitan untuk melindungi keselamatan data komunikasi. Keselamatan dan kecekapan algoritma penyulitan yang berbeza adalah berbeza, jadi memilih suite penyulitan SSL yang sesuai boleh meningkatkan kecekapan dan keselamatan jabat tangan SSL.
Dalam Nginx, anda boleh menggunakan arahan ssl_ciphers untuk menentukan suite sifir SSL, contohnya:
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA;
Satu set suite sifir SSL dengan keselamatan lebih tinggi dipilih di sini, termasuk ECDHE, DHE dan Algoritma penyulitan AES.
Sijil SSL ialah bahagian penting dalam mewujudkan sambungan HTTPS dan rantaian sijil ialah salah satu kunci kepada pengesahan sijil SSL. Untuk meningkatkan keselamatan rantaian sijil, Nginx menyokong dua kaedah pengoptimuman berikut.
2.1 Menggunakan protokol HTTP/2
Protokol HTTP/2 ialah protokol rangkaian baharu yang menggunakan protokol TLS/SSL pada lapisan pengangkutan dan boleh terus mendayakan penyulitan TLS. Menggunakan protokol HTTP/2 boleh mengelakkan serangan lelaki di tengah dan gangguan sijil SSL, meningkatkan lagi keselamatan rantaian sijil.
Dalam Nginx, mendayakan protokol HTTP/2 adalah sangat mudah Anda hanya perlu menambah arahan berikut dalam blok konfigurasi SSL:
listen 443 ssl http2;
Antaranya, http2 menyatakan bahawa pelayan menggunakan. Protokol HTTP/2.
2.2 Pasang rantai sijil
Sijil SSL dikeluarkan oleh pihak berkuasa sijil digital (CA) Rantaian sijil termasuk sijil pihak berkuasa sijil SSL dan sijil perantaraan, dsb., yang boleh membuktikan sijil SSL. Untuk meningkatkan keselamatan rantai sijil, adalah disyorkan untuk memasang rantai sijil lengkap pada pelayan.
Memasang rantai sijil dalam Nginx adalah sangat mudah, cuma letakkan fail rantai sijil di lokasi yang ditentukan:
ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem;
Antaranya, fullchain.pem ialah fail rantai sijil lengkap, dan privkey. pem ialah Fail kunci peribadi sijil SSL.
Ringkasnya, rantaian jabat tangan dan sijil SSL Nginx adalah komponen yang sangat penting untuk memastikan keselamatan tapak web Dengan mengoptimumkan rantaian jabat tangan dan sijil SSL, anda boleh meningkatkan prestasi keselamatan tapak web dan menghalang man-in-the-. serangan tengah dan pemalsuan sijil SSL mengancam.
Atas ialah kandungan terperinci Pengoptimuman prestasi keselamatan rangkaian jabat tangan dan sijil SSL Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!