Rumah > Artikel > Operasi dan penyelenggaraan > Panduan konfigurasi keselamatan Nginx untuk mencegah serangan laman web dan akses berniat jahat
Panduan konfigurasi keselamatan Nginx untuk mencegah serangan laman web dan akses berniat jahat
Pengenalan:
Dengan perkembangan pesat Internet, isu keselamatan rangkaian telah menarik perhatian lebih dan lebih. Sebagai pentadbir laman web, adalah penting untuk melindungi tapak web anda daripada serangan dan akses berniat jahat. Sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, Nginx menyediakan pelbagai pilihan konfigurasi keselamatan yang boleh membantu kami mengukuhkan keselamatan tapak web kami. Artikel ini akan memperkenalkan beberapa konfigurasi keselamatan Nginx yang biasa digunakan untuk membantu pentadbir tapak web menghalang serangan tapak web dan akses berniat jahat.
1. Hadkan kaedah akses
Larang kaedah HTTP yang tidak selamat
Secara lalai, Nginx menyokong pelbagai kaedah HTTP, termasuk GET, POST, OPTIONS, dsb. Walau bagaimanapun, beberapa kaedah HTTP mungkin menimbulkan risiko keselamatan, contohnya, kaedah TRACE boleh digunakan untuk serangan skrip silang tapak (XSS). Kami boleh menggunakan arahan "limit_except" Nginx untuk mengehadkan akses kepada kaedah HTTP tertentu.
Contoh kod:
location / { limit_except GET POST { deny all; } }
Tutup penyenaraian direktori yang tidak perlu
Jika direktori Nginx tidak mempunyai fail indeks lalai, ia akan memaparkan senarai fail dalam direktori secara automatik, yang mungkin mendedahkan maklumat sensitif. Kita boleh menghalang tingkah laku ini dengan melumpuhkan penyenaraian direktori automatik.
Contoh kod:
location / { autoindex off; }
2. Cegah permintaan dan serangan hasad
Cegah permintaan hasad
Permintaan hasad termasuk sejumlah besar permintaan, muat naik fail besar, skrip hasad, dsb., yang akan menyebabkan beban pelayan, dsb. terlalu tinggi. Kita boleh menghalang perkara ini daripada berlaku dengan menetapkan had permintaan.
Contoh kod:
http { limit_req_zone $binary_remote_addr zone=req_limit:10m rate=1r/s; server { location / { limit_req zone=req_limit burst=5 nodelay; # 其他配置 } } }
Dalam kod di atas, kami menggunakan arahan "limit_req_zone" untuk menentukan kawasan had permintaan dan menetapkan saiz dan kadar had (sehingga 1 permintaan sesaat dibenarkan). Kemudian, gunakan arahan "limit_req" dalam konfigurasi "pelayan" yang sepadan untuk menggunakan zon had.
proxy_buffer_size
dan proxy_buffers
pilihan konfigurasiproxy_buffer_size
和 proxy_buffers
配置选项large_client_header_buffers
配置选项large_client_header_buffers
配置选项client_max_body_size
配置选项limit_conn
和 limit_req
配置选项三、使用HTTPS保证数据传输安全
HTTPS协议可以保证数据传输的机密性和完整性,防止数据被窃取或篡改。使用HTTPS可以防止中间人攻击、数据劫持等安全问题。我们可以使用Nginx提供的SSL模块来配置HTTPS。
示例代码:
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; location / { # 其他配置 } }
上述代码中,我们使用listen 443 ssl
指令来监听443端口,并使用ssl_certificate
和ssl_certificate_key
large_client_header_buffers
Pilihan konfigurasi
Cegah serangan dengan panjang URI yang terlalu besar: large_client_header_buffers
Pilihan konfigurasi
large_client_header_buffers
/code > Pilihan konfigurasi 🎜🎜Cegah serangan DDoS: limit_conn
dan limit_req
Pilihan konfigurasi 🎜🎜🎜3 Gunakan HTTPS untuk memastikan keselamatan penghantaran data 🎜🎜Protokol HTTPS boleh memastikan kerahsiaan penghantaran data dan integriti untuk mengelakkan data daripada dicuri atau diganggu. Menggunakan HTTPS boleh menghalang isu keselamatan seperti serangan man-in-the-middle dan rampasan data. Kita boleh menggunakan modul SSL yang disediakan oleh Nginx untuk mengkonfigurasi HTTPS. 🎜Contoh kod: 🎜rrreee🎜Dalam kod di atas, kami menggunakan perintah listen 443 ssl
untuk mendengar port 443 dan menggunakan ssl_certificate
dan ssl_certificate_key kod> pilihan konfigurasi Tentukan laluan sijil SSL. 🎜🎜Kesimpulan: 🎜Artikel ini memperkenalkan beberapa pilihan konfigurasi keselamatan Nginx yang biasa digunakan, termasuk menyekat kaedah akses, mencegah permintaan dan serangan berniat jahat, menggunakan HTTPS untuk memastikan keselamatan penghantaran data, dsb. Sudah tentu, terdapat banyak pilihan lain untuk konfigurasi keselamatan Nginx, yang boleh dikonfigurasikan sewajarnya untuk situasi yang berbeza. Sebagai pentadbir laman web, kami perlu memberi perhatian yang teliti terhadap isu keselamatan tapak web dan terus mengukuhkan konfigurasi keselamatan untuk melindungi tapak web daripada serangan dan ancaman akses berniat jahat. 🎜
Atas ialah kandungan terperinci Panduan konfigurasi keselamatan Nginx untuk mencegah serangan laman web dan akses berniat jahat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!