Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara menggunakan Nginx untuk menyekat pelbagai akses berniat jahat

Cara menggunakan Nginx untuk menyekat pelbagai akses berniat jahat

王林
王林asal
2023-06-10 12:04:461712semak imbas

Memandangkan pembangunan Internet terus berkembang pesat, terdapat lebih banyak serangan akses berniat jahat. Untuk memastikan keselamatan sistem dan data kami, kami perlu mencari cara yang cekap untuk menyekat pelbagai akses berniat jahat. Di sini, saya akan memperkenalkan kepada anda cara menggunakan Nginx untuk menyekat pelbagai kaedah akses berniat jahat.

Nginx ialah pelayan web berprestasi tinggi yang bukan sahaja boleh mengendalikan sejumlah besar permintaan serentak, tetapi juga mencapai pelbagai fungsi dengan menggunakan pelbagai pemalam dan modul. Salah satu fungsi penting ialah mengehadkan serangan akses berniat jahat. Begini cara untuk melaksanakan ini dengan Nginx:

  1. Had Permintaan Pelayan HTTP

Permintaan HTTP ialah protokol berasaskan teks yang boleh disambungkan oleh sesiapa sahaja melalui HTTP Hantar sebarang permintaan kepada pelayan. Dalam kes ini, tanpa sebarang sekatan, pelayan mungkin tertakluk kepada sejumlah besar permintaan, walaupun daripada penyerang berniat jahat, menyebabkan pelayan terlebih muatan dan akhirnya ranap. Untuk mengelakkan perkara ini berlaku, kami perlu menetapkan had permintaan HTTP pada pelayan.

Dengan menggunakan modul Nginx, kami boleh mengkonfigurasi had permintaan HTTP dengan mudah. Mula-mula, pasang modul HttpLimitReq pada pelayan Nginx. Kemudian, edit fail konfigurasi Nginx dan tambah kod berikut:

http {

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;

server {
    limit_req zone=mylimit burst=10 nodelay;
}

}

Kod di atas melaksanakan permintaan daripada alamat IP yang sama: Hanya satu permintaan dibenarkan sesaat, dan saiz pecah maksimum yang dibenarkan ialah 10 permintaan.

  1. Sekatan akses alamat IP

Penyerang berniat jahat boleh menggunakan sejumlah besar alamat IP untuk menyerang pelayan kami, contohnya dengan menggunakan sejumlah besar pelayan proksi atau menggunakan bilangan komputer yang besar untuk melakukan serangan DDoS. Untuk mengehadkan serangan ini, kami perlu melaksanakan sekatan akses alamat IP.

Dengan menggunakan modul HttpAccess Nginx, kami boleh melaksanakan sekatan akses alamat IP dengan mudah. Sebagai contoh, kami boleh menambah kod berikut:

http {

deny 192.168.1.1;

allow 10.0.0.0/8;
allow 172.16.0.0/12;
allow 192.168.0.0/16;

location / {
    deny all;
    # ...
}

}

Dalam kod di atas, kami mengehadkan akses kepada alamat IP 192.168.1.1, sambil membenarkan Akses dengan alamat IP 10.0.0.0/8, 172.16.0.0/12 dan 192.168.0.0/16.

  1. Sekatan akses Ejen Pengguna

Ejen Pengguna ialah medan dalam protokol HTTP yang menunjukkan jenis, versi dan sistem pengendalian penyemak imbas atau klien lain. Penyerang berniat jahat boleh mendapat akses kepada pelayan kami dengan memalsukan Agen-Pengguna. Untuk mengehadkan serangan ini, kami perlu melaksanakan sekatan akses Ejen Pengguna.

Dengan menggunakan modul HttpMap Nginx, kami boleh melaksanakan sekatan akses Ejen Pengguna dengan mudah. Sebagai contoh, kita boleh menambah kod berikut:

http {

map $http_user_agent $limit_user_agent {
    default    0;
    ~*bot     1;
    ~*spider  1;
    ~*crawler 1;
}

limit_conn_zone $binary_remote_addr zone=mylimit:10m;

server {
    if ($limit_user_agent) {
        return 503;
    }

    limit_conn mylimit 1;
}

}

Dalam kod di atas, kami mentakrifkan pemetaan yang dipanggil $limit_user_agent yang akan dipadankan oleh Ejen-Pengguna sama ada ia adalah perangkak atau robot dalam pembolehubah $limit_user_agent. Jika ya, ralat 503 dikembalikan, menunjukkan bahawa pelayan sibuk, jika tidak, akses dibenarkan.

Di atas adalah kaedah untuk menyekat pelbagai akses berniat jahat dengan menggunakan Nginx. Gabungan kaedah sekatan yang berbeza boleh melindungi keselamatan pelayan kami dengan lebih baik. Pada masa yang sama, kami juga perlu memberi perhatian kepada pengemaskinian pelbagai komponen dan perisian pelayan tepat pada masanya, serta beberapa langkah perlindungan, seperti memasang tembok api, melumpuhkan perkhidmatan yang tidak diperlukan, dll., untuk memastikan pelayan kami sentiasa mengekalkan yang terbaik. status keselamatan.

Atas ialah kandungan terperinci Cara menggunakan Nginx untuk menyekat pelbagai akses berniat jahat. 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