Cookie防篡改

来自SEnginx
跳转至: 导航, 搜索

目录

Cookie防篡改

概要

Cookie Poisoning模块能监控服务器发出的Set-Cookie头以及设置的cookie值,如果cookie的值在客户端被修改,则此模块会检测出修改,并执行动作
此模块依赖于session模块,因此需要开启session支持。

命令

cookie_poisoning

语法 cookie_poisoning on/off;
默认值 off
上下文 Location

在某个Location上开启cookie防篡改功能

举例:

server {
     session on;
     ...
     location / {
           cookie_poisoning on;
           ...
    }
}


cookie_poisoning_action

语法 cookie_poisoning_action block/pass/remove/blacklist,num;
默认值 block
上下文 Location

指定发现cookie被篡改时执行的动作
支持的动作有:

  • block, 阻断
  • pass, 放行
  • remove, 删除被篡改的cookie值
  • blacklist, 当阻断达到一定次数时,将此session加入黑名单


举例:

cookie_poisoning_action block;     //阻断
cookie_poisoning_action remove;    //移除cookie
cookie_poisoning_action blacklist,5;    //5次阻断后,加入黑名单


cookie_poisoning_log

语法 cookie_poisoning_log on/off;
默认值 off
上下文 Location

开启或关闭log功能,如果开启,则在发现攻击时,此模块会向error log中写入log

举例:

cookie_poisoning_log on;


cookie_poisoning_whitelist

语法 cookie_poisoning_whitelist ua_var_name=UA whitlist ip_var_name=IP whitelist ip_var_value=value;
默认值 -
上下文 Location
有效版本 1.5.11及以后版本

此命令设置引用的全局IP白名单和User-Agent白名单,其中,IP白名单是和nginx的geo模块配合使用
例如:

#定义IP白名单
geo $ip_wl {
    ranges;
    default 0;

    127.0.0.1-127.0.0.1 1;
    3.0.0.1-3.2.1.254 1;
}

#定义UA白名单
whitelist_ua $ua_wl {
    "autotest" ".*\.test\.com";
}

server {
    location {
         cookie_poisoning_whitelist ua_var_name=ua_wl ip_var_name=ip_wl ip_var_value=1;
    }
}


个人工具
名字空间
  • 页面
  • 讨论

变换
操作
导航
其他语言
工具箱