Rumah > Artikel > Operasi dan penyelenggaraan > Langkah keselamatan asas untuk Nginx
Nginx ialah pelayan web yang berkuasa, pelayan proksi terbalik dan pengimbang beban. Prestasi tinggi dan rangkaian aplikasinya yang luas menjadikannya pilihan pertama bagi banyak syarikat Internet, tapak dan aplikasi. Walau bagaimanapun, disebabkan kerumitan dan popularitinya, Nginx juga telah menjadi sasaran banyak serangan penggodam. Untuk melindungi aplikasi web dan pelayan kami, kami perlu mengambil beberapa langkah keselamatan asas Nginx.
1. Dayakan tembok api
Tembok api ialah barisan pertahanan pertama untuk mana-mana aplikasi web dan pelayan. Gunakan tembok api untuk menghalang akses dan serangan yang tidak dibenarkan. Apabila menggunakan Nginx, kami mengesyorkan menggunakan perisian firewall seperti iptables atau firewalld, mengkonfigurasi peraturan untuk menyekat alamat IP dan port yang mengakses aplikasi web dan pelayan kami.
2. Lumpuhkan kaedah HTTP yang tidak diperlukan
Nginx mendayakan semua kaedah HTTP secara lalai, termasuk kaedah tidak selamat seperti PUT, DELETE dan TRACE. Penyerang boleh mengeksploitasi kaedah ini untuk melakukan tindakan yang tidak dibenarkan, seperti memuat naik fail berniat jahat atau membaca fail sensitif. Untuk mengelakkan ini, kami mengesyorkan untuk melumpuhkan kaedah HTTP yang tidak diperlukan dan membenarkan kaedah yang diperlukan sahaja, seperti kaedah GET dan POST. Arahan berikut boleh digunakan dalam fail konfigurasi Nginx:
if ($request_method !~ ^(GET|POST)$ ) { return 444; }
Ini akan melumpuhkan semua kaedah HTTP kecuali GET dan POST dan mengembalikan ralat 444.
3. Gunakan penghantaran disulitkan SSL/TLS
Penggunaan penghantaran disulitkan SSL/TLS boleh melindungi aplikasi web dan pelayan kami daripada kebocoran data dan serangan man-in-the-middle. Kami boleh menggunakan sijil SSL percuma seperti Let's Encrypt untuk mencapai penghantaran yang disulitkan SSL/TLS. Dalam fail konfigurasi Nginx, kami boleh mengkonfigurasi arahan berikut untuk mendayakan SSL:
listen 443 ssl; ssl_certificate /path/to/cert; ssl_certificate_key /path/to/key;
Ini akan membolehkan penghantaran disulitkan SSL/TLS dan menentukan laluan ke sijil SSL dan kunci peribadi.
4. Hadkan sambungan serentak
Penyerang boleh menduduki sumber pelayan dengan menghantar sejumlah besar permintaan, menyebabkan perkhidmatan tidak tersedia. Untuk mengelakkan ini, kita boleh menggunakan modul limit_conn Nginx untuk mengehadkan bilangan sambungan serentak. Dalam fail konfigurasi Nginx, kami boleh mengkonfigurasi arahan berikut untuk mengehadkan bilangan sambungan serentak:
http { limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m; server { limit_conn conn_limit_per_ip 10; ... } }
Ini akan mengehadkan bilangan sambungan serentak kepada 10 setiap alamat IP.
5. Maklumat versi pelayan Shield
Penyerang boleh menggunakan maklumat versi pelayan untuk mencari versi pelayan yang mungkin mempunyai kelemahan dan cuba mengeksploitasi kelemahan ini untuk serangan. Untuk mengelakkan ini, kami boleh menutup maklumat versi pelayan Nginx. Dalam fail konfigurasi Nginx, kami boleh mengkonfigurasi arahan berikut untuk menutup maklumat versi pelayan:
server_tokens off;
Ini akan menyembunyikan maklumat versi pelayan dalam pengepala respons HTTP.
Ringkasan
Nginx ialah pelayan web yang berkuasa, pelayan proksi terbalik dan pengimbang bebannya yang berprestasi tinggi dan aplikasi yang luas menjadikannya pilihan utama bagi banyak syarikat Internet, tapak dan aplikasi. Walau bagaimanapun, disebabkan kerumitan dan popularitinya, kami perlu mengambil beberapa langkah keselamatan asas untuk melindungi aplikasi web dan pelayan kami. Di atas memperkenalkan beberapa langkah keselamatan asas Nginx, seperti mendayakan tembok api, melumpuhkan kaedah HTTP yang tidak perlu, menggunakan penghantaran disulitkan SSL/TLS, mengehadkan sambungan serentak dan menyekat maklumat versi pelayan. Dengan mengambil langkah-langkah ini, kami boleh meningkatkan keselamatan aplikasi web dan pelayan kami serta melindungi data dan perniagaan kami dengan berkesan.
Atas ialah kandungan terperinci Langkah keselamatan asas untuk Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!