当前位置:首页 > RockyLinux > 正文

RockyLinux Nginx安全加固指南(从零开始构建高安全性Web服务器)

在当今互联网环境中,Web服务器的安全性至关重要。Nginx作为高性能、轻量级的Web服务器和反向代理,在RockyLinux系统上被广泛使用。然而,若未进行适当的安全加固,它可能成为攻击者的目标。本教程将手把手教你如何对运行在RockyLinux上的Nginx进行安全加固,即使你是新手也能轻松操作。

RockyLinux Nginx安全加固指南(从零开始构建高安全性Web服务器) Nginx安全加固  Nginx配置安全 RockyLinux服务器安全 Web服务器防护 第1张

一、更新系统与Nginx

首先确保你的系统和Nginx是最新版本,以修复已知漏洞:

# 更新系统软件包sudo dnf update -y# 安装或升级 Nginxsudo dnf install nginx -y# 启动并设置开机自启sudo systemctl enable --now nginx

二、隐藏Nginx版本信息

默认情况下,Nginx会在响应头中暴露其版本号,这可能被攻击者利用。编辑主配置文件隐藏版本信息:

sudo nano /etc/nginx/nginx.conf

http 块中添加以下行:

server_tokens off;

保存后重载配置:

sudo nginx -t && sudo systemctl reload nginx

三、限制HTTP方法

只允许必要的HTTP方法(如GET、POST),禁用TRACE、DELETE等危险方法。在站点配置文件中(例如 /etc/nginx/conf.d/default.conf)添加:

if ($request_method !~ ^(GET|HEAD|POST)$ ) {    return 405;}

四、启用HTTPS与SSL/TLS加固

使用Let’s Encrypt免费证书启用HTTPS,并配置强加密套件。安装Certbot:

sudo dnf install certbot python3-certbot-nginx -y

获取证书(替换 your-domain.com 为你的域名):

sudo certbot --nginx -d your-domain.com

Certbot会自动修改Nginx配置。你还可以手动优化SSL配置,在 server 块中加入:

ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;ssl_prefer_server_ciphers off;

五、配置防火墙(firewalld)

仅开放必要端口(80/443),阻止其他访问:

sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo firewall-cmd --reload

六、防止常见Web攻击

在Nginx配置中添加以下安全头,提升Web服务器防护能力:

add_header X-Frame-Options "SAMEORIGIN" always;add_header X-XSS-Protection "1; mode=block" always;add_header X-Content-Type-Options "nosniff" always;add_header Referrer-Policy "no-referrer-when-downgrade" always;add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'" always;

七、定期监控与日志分析

启用访问日志和错误日志,定期检查异常请求。日志默认位于 /var/log/nginx/。可配合工具如 fail2ban 自动封禁恶意IP。

总结

通过以上步骤,你已经完成了对RockyLinux上Nginx的基本安全加固。记住,安全是一个持续过程,需定期更新、审计和测试。掌握这些RockyLinux Nginx安全加固技巧,不仅能提升Nginx配置安全水平,还能有效增强整体RockyLinux服务器安全

提示:所有配置修改后务必使用 sudo nginx -t 测试语法正确性,再重载服务。