Home

Awesome

Name

openwaf_anti_mail_crawler是openwaf的子模块,用于防恶意爬虫,防部分恶意扫描

Configuration Directives

        "state": false,                              -- 模块开关
        "log_state":true,                            -- 日志开关

        "shared_dict_name":"twaf_shm",               -- shared_dict名称
        "shared_dict_key": "remote_addr",            -- shared_dict键值
        "timeout":300,                               -- shared_dict保存状态有效时长(单位秒)
        "timer_flush_expired":200,                   -- shared_dict清除过期信息的间隔时间(单位秒),若为空,则值为"twaf_global"下的"timer_flush_expired"

        "cookie_state":true,                         -- cookie机制开关
        "crawler_cookie_name":"TWAF_crawler",        -- 爬虫cookie名称
        "mal_cookie_name":"TWAF_mcrawler",           -- 恶意爬虫cookie名称

        "force_scan_robots_state":true,              -- 页面注入诱捕路径的开关
        "force_scan_times": 3,                       -- 注入诱捕路径的页面个数
        "trap_uri":"/abc/abc.html",                  -- 诱捕路径
        "trap_args":"id=1",                          -- 诱捕参数

        "action":"ALLOW",                            -- 执行动作
        "action_meta": 403                           -- 执行动作的附属信息

###state syntax: "state": true|false

default: true

context: twaf_anti_mail_crawler

模块开关,支持true和false,默认false

###log_state syntax: "log_state": true|false

default: true

context: twaf_anti_mail_crawler

模块日志开关,支持true和false,默认true

###shared_dict_name syntax: "shared_dict_name": string

default: "twaf_shm"

context: twaf_anti_mail_crawler

共享内存名称,默认为twaf_global中共享内存的名称("twaf_shm")

###shared_dict_key syntax: "shared_dict_key": var | var array

default: "remote_addr"

context: twaf_anti_mail_crawler

共享内存键值,支持变量字符串或变量数组,默认为客户端地址"remote_addr"(忽略大小写)

变量字符串

    "shared_dict_key": "remote_addr"

变量数组

    "shared_dict_key": ["remote_addr", "user-agent"]

###timeout syntax: "timeout": number

default: 300

context: twaf_anti_mail_crawler

拦截有效时长,默认300秒,

被认定为恶意爬虫,300秒内访问,时间重置,且拦截请求

###timer_flush_expired syntax: "timer_flush_expired": number

default: 200

context: twaf_anti_mail_crawler

shared_dict清除过期信息的间隔时间(单位秒)

###cookie_state syntax: "cookie_state": true|false

default: true

context: twaf_anti_mail_crawler

cookie机制开关,支持true和false,默认true

###crawler_cookie_name syntax: "crawler_cookie_name": TWAF_xxxx

default: "TWAF_crawler"

context: twaf_anti_mail_crawler

被识别为爬虫时,发送cookie的名称,默认"TWAF_crawler"

注意:

  1. 此指令只有在cookie_state开启时生效
  2. 若开启cookie防篡改模块(openwaf_cookie_guard暂未开源),必须以"TWAF_"开头

###mal_cookie_name syntax: "mal_cookie_name": TWAF_xxxx

default: "TWAF_mcrawler"

context: twaf_anti_mail_crawler

被识别为恶意爬虫时,发送cookie的名称,默认"TWAF_mcrawler"

注意:

  1. 此指令只有在cookie_state开启时生效
  2. 若开启cookie防篡改模块(openwaf_cookie_guard暂未开源),必须以"TWAF_"开头

###force_scan_robots_state syntax: "force_scan_robots_state": true|false

default: true

context: twaf_anti_mail_crawler

页面注入诱捕路径(暗链)的开关,支持true和false,默认true

###force_scan_times syntax: "force_scan_times": number*

default: 3

context: twaf_anti_mail_crawler

注入诱捕路径的页面个数,默认3个

###trap_uri syntax: "trap_uri": uri

default: "/abc/abc.html"

context: twaf_anti_mail_crawler

设置诱捕路径,默认为"/abc/abc.html"

###trap_args syntax: "trap_args": args

default: "id=1"

context: twaf_anti_mail_crawler

设置诱捕参数

访问诱捕路劲,被认定为恶意爬虫
若未被认定为恶意爬虫时,携带设置的参数,访问诱捕路径,不会被认定为恶意爬虫

###action syntax: "action": string

default: "DENY"

context: twaf_anti_mail_crawler

被认定为恶意爬虫时执行的动作,默认拦截"DNEY"
动作支持拦截("DENY"),重定向("REDIRECT"),连接重置("RESET_CONNECTION"),放行("PASS") ###action_meta syntax: "action_meta": number|string

default: 403

context: twaf_anti_mail_crawler

动作附属信息

若动作为"DENY"时,action_meta表示响应码
若动作为"REDIRECT"时,action_meta表示重定向路径