CC攻击针对的是服务器上面的内存和CPU资源,因此通常会找到一些比较高消耗的接口,例如search.php之类的需要大量sql查询的接口。因此,明白了这一点,我们就很好防御了,主要是针对单个ip地址的连接数和请求php文件的密度来控制的。
我们主要用到的是Nginx中提供的两个limit模块:
ngx_http_limit_conn_module
ngx_http_limit_req_module
0×01白名单
首先这两个模块是支持白名单的,就是可能有某些IP地址,我们是不需要进行限制的,比如可能会是搜索引擎啦什么的或者自己的IP,因此需要设置一个白名单,不需要的可跳过本步。具体方法:
在HTTP段中插入如下格式内容,声明白名单IP
1 http{
2 .......
3 geo $limited{
4
default 1;
5
#公司
6
119.123.5.0/24 0;
7
}
8 .........
9 }
geo指令定义了一个白名
我们主要用到的是Nginx中提供的两个limit模块:
ngx_http_limit_conn_module
ngx_http_limit_req_module
0×01白名单
首先这两个模块是支持白名单的,就是可能有某些IP地址,我们是不需要进行限制的,比如可能会是搜索引擎啦什么的或者自己的IP,因此需要设置一个白名单,不需要的可跳过本步。具体方法:
在HTTP段中插入如下格式内容,声明白名单IP
1 http{
2 .......
3 geo $limited{
4
5
6
7
8 .........
9 }
geo指令定义了一个白名