Rumah >Operasi dan penyelenggaraan >Nginx >Langkah keselamatan asas untuk Nginx

Langkah keselamatan asas untuk Nginx

WBOY
WBOYasal
2023-06-10 17:55:472959semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn