SEnginx官方主頁http://www.senginx.org
php
http { #nginx原有配置 #定義一個10MB的內存用於SEnginx訪問統計 statistics_zone 10m; #開啓全局IP黑名單 ip_blacklist on; #存儲的IP數量 ip_blacklist_size 10240; #IP在黑名單保留時間(秒) ip_blacklist_timeout 120; #名單保存在SEnginx內部 ip_blacklist_mode local; #定義一個容量10MB的令牌空間,每一個地址每秒只能請求10次(每秒補充10個令牌) limit_req_zone $binary_remote_addr zone=mudoom:10m rate=10r/s; #定義一個容量10MB的行爲識別空間,最小有效請求數量是10個,採樣週期是2秒 ip_behavior_zone zone=brand:10m sample_base=10 sample_cycle=2s; #定義IP白名單 geo $ip_wl { #使用以地址段的形式定義地址 ranges; default 0; 127.0.0.1-127.0.0.1 1; } #定義UA白名單,忽略經常使用網絡爬蟲 whitelist_ua $ua_wl { #忽略大小寫 caseless; "Baiduspider" ".*\.baidu\.com"; "Baidu-YunGuanCe-SLABot" ".*\.baidu\.com"; "Googlebot" ".*\.google\.com"; "360Spider" ".*\.360\.cn"; "360JK" ".*\.360\.cn"; "Sosospider" ".*\.soso\.com"; "Sogou web spider" ".*\.sogou\.com"; "bingbot" ".*\.bing\.com"; } server{ #原有server配置 #定義一個虛擬server名,用於SEnginx訪問統計顯示 virtual_server_name www.mudoom.com; #在當前server上開啓ip識別空間brand並進行敏感url訪問行爲識別。 ip_behavior zone=brand type=sensitive_url; #開啓機器人挑戰 location @process { #將全局IP白名單和User-Agent白名單做爲機器人挑戰白名單 robot_mitigation_global_whitelist ua_var_name=ua_wl ip_var_name=ip_wl ip_var_value=1; #開啓Robot Mitigation模塊(機器人緩解) robot_mitigation on; #機器人挑戰模式(JS) robot_mitigation_mode js; #黑名單失敗次數上限 robot_mitigation_blacklist 50; #挑戰成功後的有效時間(秒) robot_mitigation_timeout 600; #關閉挑戰ajax類型的請求 robot_mitigation_challenge_ajax off; #php-fpm等原有配置 fastcgi_pass 127.0.0.1:9000; ... } #請求可查看當前黑名單,安全起見需限定爲內部訪問 location /blacklist_show { allow 127.0.0.1; deny all; ip_blacklist_show; } #請求可清空黑名單列表,安全起見需限定爲內部訪問 location /blacklist_flush { allow 127.0.0.1; deny all; ip_blacklist_flush; } #請求可顯示SEnginx訪問統計,安全起見需限定爲內部訪問 location /stats { allow 127.0.0.1; deny all; statistics; } #用於阻斷的location location /RequestDenied { return 403; } #使用安全模塊控制的location配置 location /mudoom { #敏感資源標識 ip_behavior_sensitive; #原有令牌100枚,超出則觸發機器人挑戰 limit_req zone=mudoom burst=100 forbid_action=@process condition=$cond; #當請求非敏感資源的佔比小於30%時觸發機器人挑戰 ifall ($insensitive_percent >= 0) ($insensitive_percent < 30) { set $cond 1; } #將全局IP白名單和User-Agent白名單做爲cookie防篡改白名單 cookie_poisoning_whitelist ua_var_name=ua_wl ip_var_name=ip_wl ip_var_value=1; #cookie防篡改功能 cookie_poisoning off; #指定發現cookie被篡改時執行的動做 block阻斷、pass放行 、remove刪除被篡改的cookie值 cookie_poisoning_action block; #阻斷超過5次後加入黑名單 cookie_poisoning_action blacklist,5; #發現攻擊時,是否向error log中寫入log cookie_poisoning_log on; #將全局IP白名單和User-Agent白名單做爲Naxsi白名單 naxsi_whitelist ua_var_name=ua_wl ip_var_name=ip_wl ip_var_value=1; #啓動學習模塊 LearningMode; #安全規則激活 #SecRulesEnabled; #安全規則規避 #SecRulesDisabled; #安全規則觸發行爲 DeniedUrl "/RequestDenied"; #安全規則 CheckRule "$XSS >= 4" BLOCK; CheckRule "$TRAVERSAL >= 4" BLOCK; CheckRule "$EVADE >= 8" BLOCK; CheckRule "$UPLOAD >= 8" BLOCK; CheckRule "$RFI >= 8" BLOCK; CheckRule "$SQL >= 8" BLOCK; #php-fpm等原有配置 fastcgi_pass 127.0.0.1:9000; ... } } }
SEnginx訪問統計返回部分變量說明:html
變量nginx |
說明web |
trafficajax |
訪問量統計sql |
cur_req安全 |
當前請求數cookie |
req網絡 |
總相應請求數less |
res_2xx |
2xx請求數 |
res_3xx |
3xx請求數 |
res_4xx |
4xx請求數 |
res_5xx |
5xx請求數 |
sent |
發送數據量 |
recvd |
接受數據量 |
attack |
攻擊統計 |
sql |
SQL注入 |
xss |
XSS |
rfi |
遠程文件包含 |
dt |
目錄穿透 |
evade |
Evading tricks |
fu |
文件上傳 |
cp |
cookie篡改 |
wd |
網頁篡改 |
rm |
機器人挑戰 |
other |
其餘 |
注意:SEnginx訪問統計保存在內存中,故每次nginx關閉後統計清零
源地址:https://www.mudoom.com/Article/show/classify_id/1/id/32.html By佐柱
轉載請註明出處,也歡迎偶爾逛逛個人小站,謝謝 :)