Konfigurasi sekatan akses Nginx untuk menghalang akses berniat jahat dan serangan perangkak
Pengenalan:
Dalam era Internet hari ini, akses hasad dan serangan perangkak telah menjadi ancaman keselamatan yang hebat. Sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, Nginx boleh menyekat akses melalui beberapa konfigurasi untuk melindungi tapak web daripada serangan ini. Artikel ini akan memperkenalkan beberapa konfigurasi sekatan akses Nginx yang biasa digunakan, dengan contoh kod.
1. Sekatan senarai hitam IP dan senarai putih
http { # 创建一个blacklist.conf文件来存储黑名单的IP地址 include blacklist.conf; server { location / { # 在这里设置黑名单的访问规则 deny 192.168.1.100; deny 192.168.1.0/24; deny 10.0.0.0/8; # 其他配置... } } }
Konfigurasi di atas adalah mudah dan jelas Anda boleh menggunakan deny terus dalam blok lokasi untuk menolak akses kepada alamat IP atau julat alamat IP yang ditentukan.
http { # 创建一个whitelist.conf文件来存储白名单的IP地址 include whitelist.conf; server { location / { # 在这里设置白名单的访问规则 allow 192.168.1.100; allow 192.168.1.0/24; allow 10.0.0.0/8; # 最后拒绝所有其他访问 deny all; # 其他配置... } } }
Dalam konfigurasi di atas, gunakan perintah benarkan untuk membenarkan akses kepada alamat IP atau julat alamat IP yang ditentukan, dan tolak semua untuk menolak akses kepada semua alamat IP lain.
2. Sekatan Ejen Pengguna
Sesetengah serangan perangkak akan menggunakan Ejen Pengguna palsu untuk mengakses, jadi kami boleh menghalang serangan tersebut dengan menyekat Ejen Pengguna.
http { server { location / { # 在这里设置拒绝某些特定User-Agent的访问 if ($http_user_agent ~* (curl|wget) ) { return 403; } # 其他配置... } } }
Dalam konfigurasi di atas, gunakan perintah if ditambah ungkapan biasa untuk memadankan Ejen Pengguna tertentu, dan kemudian gunakan arahan kembali untuk mengembalikan 403 Forbidden.
Dengan cara ini, permintaan cuba mengakses tapak web menggunakan alatan seperti curl atau wget akan ditolak.
3. Had Kekerapan
Untuk mengelakkan serangan DDoS dan keretakan kekerasan, anda boleh menetapkan had kekerapan akses.
http { limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s; server { location / { # 在这里设置访问频率限制 limit_req zone=one burst=10 nodelay; # 其他配置... } } }
Dalam konfigurasi di atas, gunakan perintah limit_req_zone untuk mencipta kawasan memori untuk menyimpan alamat IP, saiznya ialah 10m, dan kekerapan akses ditetapkan kepada 2r/s. Kemudian gunakan perintah limit_req dalam blok lokasi untuk mengehadkan kekerapan Parameter pecah menunjukkan saiz penimbal apabila capaian melebihi, dan nodelay menunjukkan bahawa permintaan harus diproses dengan segera.
Ringkasan:
Melalui contoh konfigurasi sekatan senarai hitam dan putih IP di atas, sekatan Ejen Pengguna dan sekatan kekerapan, kami boleh menghalang akses berniat jahat dan serangan perangkak dengan berkesan. Sudah tentu, konfigurasi khusus boleh diselaraskan mengikut keperluan sebenar. Akhir sekali, saya berharap kandungan di atas dapat membantu konfigurasi sekatan akses Nginx anda.
Atas ialah kandungan terperinci Konfigurasi sekatan akses Nginx untuk menghalang akses berniat jahat dan serangan perangkak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!