Nginx 服务器安全加固实战:隐藏版本号、安全响应头与访问控制全配置

Nginx 凭借高性能、低资源占用,成为全球使用率最高的 Web 服务器之一。但很多站长部署后直接使用默认配置上线,等于让服务器”裸奔”:版本号泄露、目录可遍历、缺少安全响应头、接口无速率限制……这些都是黑客最容易利用的突破口。本文从实战出发,手把手带你完成 Nginx 安全加固,纯配置文件即可落地,10 分钟就能显著提升服务器安全性。

一、隐藏服务器信息,别把底牌亮给黑客

Nginx 默认会在响应头中返回版本号(如 Server: nginx/1.24.0),攻击者可以据此在漏洞库中精准匹配该版本对应的已知漏洞。加固第一步,就是关闭版本号显示。打开 nginx 主配置文件(如 /etc/nginx/nginx.conf),在 http 块中加入:

server_tokens off;

同时关闭目录列表功能,防止网站目录结构被直接浏览:

autoindex off;

对 .git、.svn、备份文件、日志等敏感路径,在 server 块中直接拦截:

location ~* \.(git|svn|env|log|bak|sql|tar\.gz)$ { deny all; }
location ~ /\. { deny all; }

修改完成后执行配置校验并重载:

nginx -t && nginx -s reload

二、配置安全响应头,筑牢浏览器端防线

安全响应头能让浏览器主动执行安全策略,有效抵御 XSS 跨站脚本、点击劫持、MIME 类型嗅探等攻击。在 server 块中加入以下配置:

add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;

如果站点没有使用内联脚本,还可以加上内容安全策略(CSP),进一步收紧脚本来源:

add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https:; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'" always;

需要提醒的是:CSP 配置过严可能导致网站功能异常(例如第三方统计、播放器脚本被拦截),建议先在测试环境验证,确认无影响后再上线。

三、访问控制与请求限速,抵御扫描与 CC 攻击

没有速率限制的站点,很容易被攻击者用脚本高频请求拖垮,或被扫描器批量探测漏洞路径。Nginx 内置的 limit_req、limit_conn 模块即可解决。在 http 块定义限速规则:

limit_req_zone $binary_remote_addr zone=req_zone:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conn_zone:10m;

在 server 块中启用:

location / {
    limit_req zone=req_zone burst=20 nodelay;
    limit_conn conn_zone 20;
}

同时,务必限制上传目录禁止执行 PHP,防止攻击者上传一句话木马后直接 getshell。以 WordPress 上传目录为例:

location ~* /wp-content/uploads/.*\.(php|php5|phtml)$ { deny all; }

对后台登录入口,还可以做 IP 白名单限制,只允许可信 IP 访问,从源头掐断暴力破解:

location ^~ /wp-admin {
    allow 123.45.67.89;
    deny all;
}

四、及时更新与定期检查

安全加固不是一次性的工作。Nginx 主版本几乎每年都有安全更新,建议通过 apt upgradeyum update 及时跟进补丁;同时定期执行 nginx -t 校验配置,并结合访问日志分析异常请求(可参考本站《Linux 日志分析与入侵检测实战》一文),形成”加固—监控—响应”的闭环。

总结

Nginx 安全加固是成本最低、见效最快的服务器防护手段。本文涉及的隐藏版本号、安全响应头、请求限速、敏感目录拦截四项配置,全部可以在 10 分钟内落地,无需任何付费工具。如果你的站点经常遭受 DDoS/CC 攻击、被高频扫描或接口刷量,建议在 Nginx 加固基础上叠加专业云防护:速度网络提供高防 CDN + WAF 联动防护,支持隐藏源站 IP、CC 智能识别、攻击流量秒级清洗,可与本文配置无缝配合,形成”源站加固 + 前置清洗”的双层防线,让攻击流量在到达服务器之前就被拦截。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
在线客服
在线客服
热线电话
QQ客服
电子邮箱
suduwangluo