安全团队对服务器进行基线扫描,Nginx出现了一下五种基线安全漏洞,在修复的过程中纪录漏洞的信息及修复建议。并按照该建议进行修复。奇安信那边再次对服务器进行扫描,漏洞已解决
1、检查项分类:身份鉴别
检查项名称:检查是否配置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;
如果您是docker用户,可忽略该项(或添加白名单)
2、检查项分类:服务配置
检查项名称:检查Nginx进程启动账号。
检查项描述:Nginx进程启动账号状态,降低被攻击概率
修复建议:修改Nginx进程启动账号:
1、打开conf/nginx.conf配置文件;
2、查看配置文件的user配置项,确认是非root启动的;
3、如果是root启动,修改成nobody或者nginx账号`;
4、修改完配置文件之后需要重新启动Nginx。
3、检查项分类:服务配置
检查项名称: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;
4、检查项分类:服务配置
检查项名称:隐藏Nginx服务的Banner
检查项描述:Nginx服务的Banner隐藏状态
修复建议:Nginx后端服务指定的Header隐藏状态隐藏Nginx服务Banner的状态:
1、打开conf/nginx.conf配置文件;
2、在server栏目下,配置server_tokens项
server_tokens off;
如出现多项不支持,执行ln <conf_path> /etc/nginx/nginx.conf
5、检查项分类:服务配置
检查项名称:针对Nginx SSL协议进行安全加固
检查项描述:Nginx SSL协议的加密策略进行加固
修复建议:Nginx SSL协议采用TLSv1.2:
1、打开conf/nginx.conf配置文件(或主配置文件中的inlude文件);
2、配置
server {
...
ssl_protocols TLSv1.2;
...
}
备注:配置此项请确认nginx支持OpenSSL,运行nginx -V如果返回中包含built with OpenSSL则表示支持OpenSSL。
如不支持,可能需要增加配置ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
如果尚未配置ssl协议,请尽快配置(参考连接https://www.nginx.cn/doc/optional/ssl.html)
版权声明:本文为qq_41512902原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。