安全加固
1、禁止目录浏览/隐藏版本信息
编辑nginx.conf配置文件,HTTP模块添加如下一行内容,并重启:
autoindex off; #禁止目录浏览
server_tokens off; #隐藏版本信息
2、限制http请求方法
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return444;
}
3、限制IP访问
location / {
deny 192.168.1.1; #拒绝IP
allow 192.168.1.0/24; #允许IP
allow 10.1.1.0/16; #允许IP
deny all; #拒绝其他所有IP
}
4、限制并发和速度
limit_zone one $binary_remote_addr 10m;
server {
listen 80;
server_name www.test.com;
index index.html index.htm index.php;
root /usr/local/www; #Zone limit;
location / {
limit_conn one 1;
limit_rate 20k;
}
………
}
5、控制超时时间
client_body_timeout 10; #设置客户端请求主体读取超时时间
client_header_timeout 10; #设置客户端请求头读取超时时间
keepalive_timeout 55; #第一个参数指定客户端连接保持活动的超时时间,第二个参数是可选的,它指定了消息头保持活动的有效时间
send_timeout10; #指定响应客户端的超时时间
6、nginx降权
user nobody;
7、配置防盗链
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip)$ {
valid_referers none blocked server_names *.test.com http://localhost baidu.com;
if ($invalid_referer) {
rewrite ^/ [img]http://www.XXX.com/images/default/logo.gif[/img];
# return403;
}
}
8、针对SSL 策略进行加固(需ngnix版本支持)
server {
ssl_protocols TLSv1.2;
}