前言:
Nginx 是一种高性能的 HTTP 和反向代理服务,目前许多网站都使用 Nginx 作为 WEB 服务器。尽管 Nginx 非常强大,但默认情况下无法阻止恶意访问。为此,我们整理了一份常用的Nginx 屏蔽规则,希望对各位站长有所帮助。
在开始之前,请务必备份您的 Nginx 配置文件。修改完成后,需要重新加载 Nginx 配置才能生效。
一、防止文件被下载
为了防止将网站数据库导出到站点根目录进行备份时被他人下载导致数据丢失的风险,可以使用以下规则来阻止一些常见文件的下载。根据实际情况,可以增加或减少规则。
location ~ \.(zip|rar|sql|bak|gz|7z)$ {
return 444;
}
二、屏蔽非常见蜘蛛(爬虫)
为了屏蔽那些对网站收录毫无意义、只增加服务器压力的奇怪 UA(用户代理),可以直接将其屏蔽。
if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {
return 444;
}
三、禁止某个目录执行脚本
为了防止某个目录执行脚本,比如网站上传目录,可以禁止该目录执行脚本。通常,网站上传目录存放的都是静态文件。为了防止上传木马程序导致网站被黑,可以根据自身情况修改以下规则,并自行添加需要禁止的脚本后缀。
location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {
return 444;
}
四、屏蔽某个 IP 或 IP 段
如果网站遭受恶意灌水或 CC 攻击,可以通过分析网站日志中的特征 IP 来屏蔽这些 IP 或 IP 段。
#屏蔽 192.168.5.23 这个 IP
deny 192.168.5.23;
#屏蔽 192.168.5.*这个段
deny 192.168.5.0/24;
上述规则使用 444 状态码进行报告,而不是 403 状态码,
因为在 nginx 中,444 状态码具有特殊含义,即服务器直接中断连接,不向客户端返回任何消息。
相比返回 403 状态码,这种方式更加强硬。
转载请注明:汇站网 » (网站安全)Nginx 常用的安全屏蔽规则分享