日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

寶塔面板識別CDN真實訪問者IP并屏蔽思路【防采集思路】

CC 攻擊和采集都是同個IP發(fā)起大量訪問請求,這個會造成大量請求擁堵,導致服務(wù)器資源耗盡,CC攻擊主要針對特定服務(wù)接口,屬于實現(xiàn) DoS 攻擊的一種方式 。
如果沒有套上CDN,那其實防御思路非常簡單,識別出訪問量大的IP,直接用服務(wù)器的iptable防火墻封禁IP就行了,但是如果使用CDN,那所有訪客都是通過CDN連接我們的服務(wù)器,這種情況下,服務(wù)器封禁IP的話,只能封到CDN的IP,無法阻止CDN后面的真實訪客訪問,對這部分有攻擊行為的訪客,只能通過CDN的防火墻,導入IP黑名單方式來屏蔽 。
雖然服務(wù)器級別的封禁IP,在CDN下有難度,但是通過NGINX還是可以識別到單獨的訪問進程,通過識別出CDN后的真實IP訪問,在處理這部分訪問的時候,直接轉(zhuǎn)給他502頁面,不進行后續(xù)網(wǎng)頁輸出就行 。
說一下NGINX 流控,有兩種方式:
limit_req_zone:通過“漏桶”算法限制每個 IP 發(fā)起的請求頻率 。
limit_conn_zone:限制每個 IP 發(fā)起的連接數(shù) 。
實踐配置
一般NGINX 部分
配置error_log/www/wwwlogs/nginx_error.logerror;
這樣才能正確顯示到被封禁的錯誤記錄出來個FAIL2BAN使用
然后在 http 部分中配置:
map $http_x_forwarded_for$clientRealIp{""$remote_addr;~^(?P[0-9.]+),?.*$$firstAddr;}limit_req_zone $clientRealIp zone=sym:10m rate=5r/s;limit_conn_zone $clientRealIp zone=conn_sym:10m;然后在需要流控的站點的 location 部分配置:
limit_req zone=sym burst=5;limit_conn conn_sym 10;寶塔安裝的NGINX按下面配置
Nginx管理-配置修改
先將
error_log/www/wwwlogs/nginx_error.logcrit;
改成
error_log/www/wwwlogs/nginx_error.logerror;
然后在http部分
include proxy.conf;下面增加
map $http_x_forwarded_for$clientRealIp{""$remote_addr;~^(?P[0-9.]+),?.*$$firstAddr;}將
【寶塔面板識別CDN真實訪問者IP并屏蔽思路【防采集思路】】limit_conn_zone $binary_remote_addr zone=perip:10m;改成
limit_conn_zone $clientRealIp zone=perip:10m;這樣才能針對使用代理IP刷你的站的人的真實IP進行計數(shù),達到每秒多少個就封禁訪問
然后到需要進行防御的網(wǎng)站點設(shè)置-流量限制
這里啟用流量限制,并將單IP并發(fā)數(shù)進行限制,一般如果網(wǎng)站頁面不復雜設(shè)置為10就行 。
接下來重啟 NGINX 后當有超流客戶端請求時將記錄在 www/wwwroot/nginx_error.log(不是寶塔面板的話,NGINX默認錯誤日志在 /var/log/nginx/error.log) 中看到類似記錄:
2018/04/27 14:25:27 [error] 6307#0: *1472746 limiting connections by zone “perip”, client: 182.161.35.139, server: 104.153.102.68, request: “GET /index.php?10=8 HTTP/1.1”
此時請求已經(jīng)被 NGINX 限流 。
以上就是愛惜日網(wǎng)?寶塔面板識別CDN真實訪問者IP并屏蔽思路【防采集思路】的相關(guān)內(nèi)容了,更多精彩請關(guān)注作者:愛惜日號SEO專員

    推薦閱讀