在Linux中对Nginx进行安全加固

准备工作

在IP为x.x.x.x的服务器上安装nginx,确保Linux系统为nginx环境。

检查nginx是否配置nginx账号锁定策略

配置nginx账号锁定策略,降低被攻击概率。

第一步,查看nginx的锁定状态

命令:passwd -S nginx

若结果出现“Password locked”,则说明锁定成功。

若结果没有出现“Password locked”,则说明没有锁定。

这时可以通过执行命令“passwd -l nginx”来进行锁定。

第二步,对nginx安全加固建议

1)nginx服务使用非root用户(如nginx,nobody)启动。

# 创建nginx运行使用的用户nginx

命令:useradd -s /sbin/nologin -M nginx

(nginx服务的默认用户是nobody,为了安全更改为nginx,在配置文件中启用user nginx nginx;)

2)确保启动用户的状态为锁定状态,可执行命令“passwd -l ”(如passwd -l nginx)来锁定nginx服务的启动用户。

# 锁定nginx服务的启动用户

格式:passwd -l

命令:passwd -l nginx

# 查看nginx的锁定状态

格式:passwd -S

命令:passwd -S nginx

若结果出现“Password locked”,则说明锁定成功。

3)在配置文件nginx.conf中,把nginx启动用户修改为nginx或nobody。(如user nginx;)

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

检查nginx服务启动账号

修改nginx服务启动账号,降低被攻击概率。

第一步,对nginx安全加固建议

在配置文件nginx.conf中,把nginx启动用户修改为nginx或nobody。(如user nginx;)

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

nginx后端服务指定的Header隐藏状态

隐藏nginx后端服务指定Header(如X-Powered-By)。

第一步,对nginx安全加固建议

在配置文件nginx.conf(或主配置文件中的inlude文件)中,在http节点下配置proxy_hide_header项,增加或修改为

proxy_hide_header X-Powered-By;

proxy_hide_header Server;

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

任意文件读取入侵防范

缺少斜杠可能导致目录穿越。

第一步,对nginx安全加固建议

在配置文件nginx.conf中,把“location /path”改为“location /path/”,以/结尾;把“root /;”改为“root /path/;”,以/结尾。

配置文件nginx.conf修改如下:

location /path/ {

     root /path/;

}

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

针对Nginx SSL协议进行安全加固服务配置

Nginx SSL协议采用TLSv1.2的加密策略来进行安全加固。

第一步,对nginx安全加固建议

1)在配置文件nginx.conf(或主配置文件中的inlude文件)中,在server节点下配置ssl_protocols项,增加或修改为

server {

     ...

     ssl_protocols TLSv1.2;

     ...

}

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

2)确认nginx是否支持OpenSSL。

命令:nginx -V

若结果显示“built with OpenSSL”,则说明nginx支持OpenSSL。

反之,则需要重新编译nginx。

你可能感兴趣的:(nginx,tomcat,redis,2024运维,服务器,linux,运维,nginx,安全)