首頁>Club>
10
回覆列表
  • 1 # 藍風24

    概要

    IP黑名單模組提供了動態IP黑名單的功能,此模組和其他的安全功能模組配合使用,可以實現當某個源IP地址在1秒內發生指定的攻擊次數時,將此IP地址加入到IP黑名單中,並阻斷此IP一段時間。

    此模組在SEnginx 1.5.5以及以後的版本中提供。

    命令

    ip_blacklist

    語法 ip_blacklist on/off

    預設值 off

    上下文 http

    控制IP黑名單功能在全域性的開啟和關閉

    示例:ip_blacklist on;

    ip_blacklist_size

    語法 ip_blacklist_size size

    預設值 1024

    上下文 http

    指定IP黑名單的大小,size是黑名單的條數,也就是要儲存的IP數量。

    示例:ip_blacklist_size 10240;

    ip_blacklist_timeout

    語法 ip_blacklist_timeout timeout

    預設值 60

    上下文 http

    指定IP黑名單條目的超時時間,單位為秒。在超時時間範圍內的條目會被阻斷。

    示例:ip_blacklist_timeout 120;

    ip_blacklist_log

    語法 ip_blacklist_log on/off

    預設值 off

    上下文 http/server/location

    指定某個IP地址被加入到黑名單的時候,是否記錄日誌。注意,已經被加到黑名單中的IP地址引發的後續阻斷不會記錄日誌。

    示例:ip_blacklist_log on;

    ip_blacklist_show

    語法 ip_blacklist_show

    預設值

    上下文 location

    指定在某個location下開啟檢視IP黑名單的功能。

    示例:lolocation /show_blacklist {

    ip_blacklist_show;

    }

    ip_blacklist_flush

    語法 ip_blacklist_flush

    預設值

    上下文 location

    指定在某個location下開啟重新整理IP黑名單的功能。

    示例:location /flush_blacklist {

    ip_blacklist_flush;

    }

    然後在瀏覽器或者使用其他的http客戶端,如wget, curl等,訪問/flush_blacklist路徑,即可清空當前系統中的黑名單,例如:

    curl http://1.1.1.1/flush_blacklist

    此請求會返回狀態碼為444的應答,此應答沒有任何意義,僅是關閉連線而已。

    ip_blacklist_mode

    語法 ip_blacklist_mode sys/local

    預設值 local

    上下文 http

    全域性指定黑名單的工作模式,分為2種:

    1、系統命令模式(sys):指當某個IP地址達到加入黑名單的條件時,條用一條外部命令執行動作,例如將此IP地址加入到系統的iptables中,而SEnginx本身不進行黑名單的記錄。

    2、本地模式(local):當某個IP地址達到加入黑名單的條件時,此IP地址會被記錄在SEnginx內部的黑名單列表上,後續的訪問會被在SEnginx處阻斷。

    示例:使用系統命令模式:

    ip_blacklist_mode sys;

    使用SEnginx本地模式:

    ip_blacklist_mode local;

    ip_blacklist_syscmd

    語法 ip_blacklist_syscmd [system command]

    預設值

    上下文 http

    指定當IP黑名單的工作模式為sys時SEnginx需要執行的外部系統命令,IP地址在命令中以%V表示

    示例:

    指定一個指令碼來處理加入到黑名單的IP地址:

    ip_blacklist_syscmd "sudo /path/to/a/scritp %V";

    使用iptables來加入一個IP地址並阻斷:

    ip_blacklist_syscmd "sudo /sbin/iptables -A INPUT -s %V -j DROP";

    例子

    和機器人緩解模組配合使用的例子

    黑名單的次數在機器人模組中設定,下面的這個例子,是指同一IP地址的請求每秒超過10個時,並且這些請求都沒有透過機器人模組的挑戰,則加入黑名單中。http {

    ... ...

    ip_blacklist on;

    ip_blacklist_size 10240;

    ip_blacklist_timeout 60;

    ip_blacklist_log on;

    server {

    listen 80;

    server_name localhost;

    location /blacklist_flush {

    ip_blacklist_flush;

    }

    location /blacklist_show {

    ip_blacklist_show;

    }

    location / {

    ... ...

    robot_mitigation on;

    robot_mitigation_mode js;

    robot_mitigation_blacklist 10;

    ... ...

    }

    }

    }

  • 中秋節和大豐收的關聯?
  • 遊樂裝置有哪些分類?