Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bincangkan strategi serangan anti-crawler dan anti-DDoS untuk pelayan Nginx

Bincangkan strategi serangan anti-crawler dan anti-DDoS untuk pelayan Nginx

王林
王林asal
2023-08-08 13:37:061920semak imbas

Bincangkan strategi serangan anti-crawler dan anti-DDoS untuk pelayan Nginx

Pelayan Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik dengan keupayaan anti-rangkak dan anti-DDoS yang berkuasa. Artikel ini akan membincangkan strategi serangan anti-crawler dan anti-DDoS pelayan Nginx dan memberikan contoh kod yang berkaitan.

1. Strategi anti-perakak

Perangkak ialah program automatik yang digunakan untuk mengumpul data daripada tapak web tertentu di Internet. Sesetengah program perangkak akan memberi beban yang besar pada tapak web dan menjejaskan operasi biasa tapak web secara serius. Nginx boleh menghalang tingkah laku jahat perangkak melalui strategi berikut:

  1. Penapisan Ejen Pengguna
    Atur cara perangkak biasanya menggunakan rentetan Ejen Pengguna khusus untuk mengenal pasti diri mereka. Dengan menambahkan kod berikut pada fail konfigurasi Nginx, anda boleh melumpuhkan akses kepada Ejen Pengguna tertentu:
if ($http_user_agent ~* (Baiduspider|Googlebot|Yandex)) {
    return 403;
}

Kod di atas akan melumpuhkan akses kepada labah-labah Baidu, perangkak Google dan perangkak Yandex.

  1. Had kekerapan capaian IP
    Dengan menetapkan modul ngx_http_limit_req_module Nginx, anda boleh mengehadkan kekerapan akses alamat IP. Berikut ialah contoh kod:
http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=100r/m;

    server {
        location / {
            limit_req zone=one burst=20 nodelay;

            ...
        }
    }
}

Kod di atas akan mengehadkan setiap alamat IP kepada maksimum 100 akses seminit Permintaan yang melebihi had akan ditangguhkan atau ditolak.

2. Strategi serangan anti-DDoS

Serangan penafian perkhidmatan (DDoS) teragih adalah untuk membebankan pelayan sasaran melalui sejumlah besar trafik berniat jahat. Nginx boleh menggunakan strategi berikut untuk menentang serangan DDoS:

  1. Had sambungan
    Tetapkan modul ngx_http_limit_conn_module Nginx untuk mengehadkan bilangan sambungan serentak bagi setiap alamat IP. Berikut ialah contoh kod:
http {
    limit_conn_zone $binary_remote_addr zone=concurrent:10m;

    server {
        location / {
            limit_conn concurrent 50;

            ...
        }
    }
}

Kod di atas akan mengehadkan setiap alamat IP kepada maksimum 50 sambungan serentak.

  1. Had panjang permintaan
    Dengan menetapkan parameter client_body_buffer_size dan client_max_body_size Nginx, anda boleh mengehadkan panjang permintaan dan menghalang permintaan berniat jahat daripada menyebabkan limpahan pelayan. Berikut ialah contoh kod:
http {
    client_body_buffer_size 10K;
    client_max_body_size 10m;

    server {
        location / {
            ...
        }
    }
}

Kod di atas akan mengehadkan saiz yang diminta kepada tidak lebih daripada 10MB.

Ringkasnya, pelayan Nginx mempunyai keupayaan anti-crawler dan anti-DDoS serangan yang kuat. Melalui dasar seperti penapisan Ejen Pengguna, had kekerapan akses IP, had nombor sambungan dan had panjang permintaan, pelayan boleh dilindungi secara berkesan daripada perangkak dan serangan DDoS.

Atas ialah kandungan terperinci Bincangkan strategi serangan anti-crawler dan anti-DDoS untuk pelayan 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
Artikel sebelumnya:15 Tema GTK yang HebatArtikel seterusnya:15 Tema GTK yang Hebat