近期遇到的攻击

文件上传

问题复现

1、一般公司不会存在单独的文件存储服务器以及使用像阿里的OSS对象存储等

2、一般图片上传都是存储在public目录下的upload/uploads文件夹下,且权限一般为755

解决问题

1、通过代码直接限制文件上传的格式,着重剔除.php/.sh等脚本文件

2、nginx中添加下列代码

1
2
3
4
5
6
7
8
server {
location / {
#添加谢列代码
location ~ ^/(uploads|assets|adverts|portrait|face)/.*\.(php|php5|jsp)$ {
deny all;
}
}
}

注: apache可自行google/度娘

慢速HTTP攻击(Slow HTTP Attack)

问题复现

1、慢速攻击基于HTTP协议,通过精心的设计和构造,这种特殊的请求包会造成服务器延时,而当服务器负载能力消耗过大即会导致拒绝服务。

问题解决

1、nginx做如下配置

1
2
3
4
server {
#添加下列代码
client_header_timeout 20s;
}

密码暴力破解

问题复现

1、当你的密码设置的很简单,例如:123456/123qweasd/1qa2ws3ed等

2、暴力攻击测试,即不断更换密码请求接口

问题解决

1、设置复杂密码,最好使用小写/大写字母、符号、数字组合且大于8位数

2、设置账号密码错误次数,可按天累加

Api接口

问题复现

1、压测工具ab/siege来请求接口

问题解决

1、设置密钥,可按照请求来源分别设置,并将其写入配置文件或者非关系型数据库

2、设置密钥错误次数,直接封禁IP

3、若App/Web请求时,尽可能放入复杂的js文件中并进行代码编译/压缩