Nginx安全防护
2020-03-31 本文已影响0人
一剑仙人跪_
1.高Nginx后端服务指定的Header隐藏状态
隐藏Nginx后端服务X-Powered-By头
隐藏Nginx后端服务指定Header的状态:
1、打开conf/nginx.conf配置文件;
2、在http下配置proxy_hide_header项;
增加或修改为 proxy_hide_header X-Powered-By; proxy_hide_header Server;
2.针对Nginx SSL协议进行安全加固
Nginx SSL协议的加密策略进行加固
Nginx SSL协议采用TLSv1.2: 1、打开conf/nginx.cconf配置文件; 2、配置
server {
...
ssl_protocols TLSv1.2;
...
}
3.检查是否配置Nginx账号锁定策略
1.执行系统命令passwd -S nginx来查看锁定状态
出现Password locked证明锁定成功
如:nginx LK ..... (Password locked.)或nginx L ....
2.默认符合,修改后才有(默认已符合)
3.执行系统命令passwd -l nginx进行锁定
配置Nginx账号登录锁定策略:
Nginx服务建议使用非root用户(如nginx,nobody)启动,并且确保启动用户的状态为锁定状态。
可执行passwd -l <Nginx启动用户> 如passwd -l nginx 来锁定Nginx服务的启动用户。
命令 passwd -S <用户> 如passwd -S nginx可查看用户状态。
修改配置文件中的nginx启动用户修改为nginx或nobody 如: user nobody;
4.检查Nginx进程启动账号
Nginx进程启动账号状态,降低被攻击概率
修改Nginx进程启动账号:
1、打开conf/nginx.conf配置文件;
2、查看配置文件的user配置项,确认是非root启动的;
3、如果是root启动,修改成nobody或者nginx账号; 备注:
4、修改完配置文件之后需要重新启动Nginx。
5.Nginx的WEB访问日志记录状态
Nginx后端服务指定的Header隐藏状态
开启Nginx的WEB访问日志记录:
1、打开conf/nginx.conf配置文件;
2、在http下配置access_log项
access_log logs/host.access.log main;
3、 并删除off项
6.隐藏Nginx服务的Banner
Nginx服务的Banner隐藏状态
Nginx后端服务指定的Header隐藏状态隐藏Nginx服务Banner的状态:
1、打开conf/nginx.conf配置文件;
2、在server栏目下,配置server_tokens项 server_tokens off;
7.确保NGINX配置文件权限为644
把控配置文件权限以抵御外来攻击
修改Nginx配置文件权限:
执行chmod 644 <conf_path>来限制Nginx配置文件的权限;(<conf_path>为配置文件的路径,
如默认/安装目录/conf/nginx.conf或者/etc/nginx/nginx.conf,或用户自定义,请 自行查找)
8.nginstatus
Active connections Nginx正处理的活动链接数个数;重要
accepts Nginx启动到现在共处理了多少个连接。
handled Nginx启动到现在共成功创建几次握手。
requests Nginx总共处理了几次请求。
Reading Nginx读取到客户端的 Header 信息数。
Writing Nginx返回给客户端的 Header 信息数。
Waiting Nginx已经处理完正在等候下一次请求指令的驻留链接,开启。
Keep-alive的情况下,Waiting这个值等于active-(reading + writing)。
请求丢失数=(握手数-连接数)可以看出,本次状态显示没有丢失请求。