Bootstrap

nginx常用安全加固措施

安全加固

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;
}
;