0-针对Nginx SSL协议进行安全加固
Nginx SSL协议采用TLSv1.2: 1、打开conf/nginx.conf
配置文件(or include file in the main configuration file); 2、配置
server {
...
ssl_protocols TLSv1.2;
...
}
备注:配置此项请确认nginx支持OpenSSL,运行nginx -V
如果返回中包含built with OpenSSL
则表示支持OpenSSL。如果不支持,请重新编译nginx
1- 隐藏 版本号:
Nginx后端服务指定的Header隐藏状态隐藏Nginx服务Banner的状态: 1、打开conf/nginx.conf
配置文件; 2、在server栏目下,配置server_tokens
项 server_tokens off;
如下:
server_tokens off;
2- 隐藏Nginx后端服务X-Powered-By头
隐藏Nginx后端服务指定Header的状态:
1、打开conf/nginx.conf
配置文件(或主配置文件中的inlude文件); 2、在http
下配置proxy_hide_header
项; 增加或修改为
proxy_hide_header X-Powered-By;
proxy_hide_header Server;
3- Nginx进程启动账号
: 1、打开conf/nginx.conf
配置文件; 2、查看配置文件的user配置项,确认是非root启动的; 3、如果是root
启动,修改成nobody
或者nginx账号
; 备注: 4、修改完配置文件之后需要重新启动Nginx。
4-缺少斜杠可能导致目录穿越
不建议存在
location /path {
alias /home/;
}
location /files{
root /;
}
如上配置
建议
把location /path
改为location /path/
的格式,以/结尾 把root /;
改为root /path/;
的格式
操作时建议做好记录或备份
5- 检查是否配置Nginx账号锁定策略。身份鉴别 {#dialog-title-lup4pkqn}
描述
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;
操作时建议做好记录或备份
6-确保NGINX配置文件权限为644文件权限
修改Nginx配置文件权限: 执行chmod 644 <conf_path>
来限制Nginx配置文件的权限;(<conf_path>为配置文件的路径,如默认/安装目录/conf/nginx.conf或者/etc/nginx/nginx.conf,或用户自定义,请 自行查找)