
在开始之前,希望您已经学习过一些Nginx的常用命令(例如重启,停止等相关操作)及排查Nginx的错误日志,以免出现特殊情况导致不知道如何继续操作。以下命令均添加到server段内(如有特殊情况会额外注明),通常修改配置文件需要提前备份,所以修改Nginx的配置之前务必做好配置文件备份。同时,修改完配置文件后需要重载一次Nginx的,否则文件不会生效。

PART
1
防止文件被下载,导致数据丢失
例如将网站数据库导出到站点根目录进行备份,很有可能也会被别人下载,从而导致数据丢失的风险。以下规则可以防止一些常规文件被下载,可根据实际情况增减。
location ~ \.(zip|rar|sql|bak|gz|7z)$ {
return 444;
}
PART
2
屏蔽非常见爬虫
经常分析网站日志你会发现一些情况,总有些奇怪的UA老是频繁的来访问你的网站,而这些UA对网站收录没有意义,反而增加服务器压力,可以利用以下代码直接将其屏蔽。
if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {
return 444;
}
PART
3
禁止某些目录执行脚本
网站上传目录,通常存放的都是静态文件,如果因为程序验证不严谨而导致被上传木马程序,致使网站被黑。可以使用以下规则,根据自身情况改为您自己的目录,如需禁止的脚本后缀也可以自行添加。
#uploads|templets|data 这些目录禁止执行PHP
location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {
return 444;
}
PART
4
屏蔽某个IP或IP段
#屏蔽192.168.5.23这个IP
deny 192.168.5.23;
#屏蔽192.168.5.* 这个段
denu 192.168.5.0/24;
重点强调,在修改Nginx的配置文件之前务必做好备份,修改完毕后需要重载一次Nginx,否则文件不会生效。
大部分上面规则报道查看444状态码而不是403,因为444状态码在Nginx的中有特殊含义,Nginx的444状态是直接由服务器中断连接,不会向客户端再返回任何消息,比返回403更加暴力。
关于我们:
河北镌远网络科技有限公司(Hebei JYCYBER TechnologyCo.,Ltd.)是一家集人才、技术和经验于一体的,提供全面网络安全解决方案的专业服务商。镌远科技致力于为各行业的网络安全需求提供软件研发和通用解决方案,业务领域主要包括基础服务、咨询业务、产品研发和安全培训四大版块,各版块相互独立又相辅相成,完美阐释了“专业服务、全程服务、延伸服务”的服务体系和“单一业务与长远目标相融合”的服务理念。
关注镌远科技,关注网络安全!
河北分公司:河北镌远网络科技有限公司
地址:河北省邯郸市丛台区中华北大街193号慧谷大厦14层
总公司:北京冠程科技有限公司
地址:北京市昌平区科技园区东区产业基地企业墅上区一号楼九单元四层
实训基地:河北省石家庄市电子信息学校冠程科技研究与实训中心


欢迎扫描关注我们,及时了解更多关于网络安全相关知识

