网站服务器防扫描目录,服务器安全:添加Nginx规则防止服务器被恶意机器人扫描...
自己购买服务器搭建网站就涉及到一个服务器安全问题,虽然你自己不知道,但是每天服务器都在被一些机器人扫描。本文奶爸给大家分享几个Nginx的规则可以防止服务器被扫描。
1、禁止默认通过IP访问服务器
每台服务器都有一个IP地址,而一些机器人会直接通过访问ip地址的方法来探测你网站上的内容。
我们可以在Nginx的配置信息里面添加下面的代码来实现禁止通过IP地址访问服务器。
#别人如果通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500
server {
listen 80 default;
server_name _;
return 500;
}
#开放一个或多个真实的希望被访问的域名配置,设置如下:
server {
linten 80;
server_name naibabiji.com;
}
2、禁止机器人扫描网站的压缩文件
同样的,也有很多机器人会直接访问你域名的一些文件,例如下图就是有人在扫描奶爸建站笔记的wwwroot.zip这个文件
我们可以给它加点料,让访问这些压缩包的链接给跳转到一个超大型的文件,让他慢慢去下载。
rewrite \.asp/?$ http://speedtest.tele2.net/50GB.zip permanent;
rewrite \.zip/?$ http://speedtest.tele2.net/50GB.zip permanent;
rewrite \.gz/?$ http://speedtest.tele2.net/50GB.zip permanent;
rewrite \.7z/?$ http://speedtest.tele2.net/50GB.zip permanent;
rewrite \.sql/?$ http://speedtest.tele2.net/50GB.zip permanent;
rewrite \.rar/?$ http://speedtest.tele2.net/50GB.zip permanent;
rewrite \.tar/?$ http://speedtest.tele2.net/50GB.zip permanent;
上面的代码是当访问网站上.asp/zip/gz/7z/sql/rar/tar格式的文件,就自动跳访问一个50G大小的zip链接。让他自己去爬吧。
我们也可以给他来点更大的文件,例如1000G,撑爆它硬盘。
http://speedtest.tele2.net/1000GB.zip
http://speedtest.tele2.net/100GB.zip
http://speedtest.tele2.net/50GB.zip
当然,你也可以安装Defender Security这款插件来帮你拦截这些机器人。如果你不会添加跳转规则,可以直接借助一些支持重定向的插件帮你,例如RanK Math的重定向功能。
2021年9月20日更新:
今天发现有新的机器人在扫描网站的时候无视上面的301(或者是量太大?),把奶爸建站笔记的服务器CPU挤满了好几次,所以只能用另外的方法了。
最简单粗暴的方法,直接nginx配置里面加上下面的规则,针对服务器上的文件下载链接,直接禁止访问(提供资源本地下载的网站慎用)
location ~ \.(zip|rar|sql|bak|gz|7z)$ {
return 444;
}
当有用户访问网站上的zip、rar这些资源时,直接返回444错误码。
444 No Response
Nginx上HTTP服务器扩展。服务器不向客户端返回任何信息,并关闭连接(有助于阻止恶意软件)
另外还有一种方法,就是给Nginx装一个waf防火墙,如果你是使用的宝塔面板,那么直接后台软件商店安装就可以了。
如果你使用的LNMP一键包,那么按照下面的方法安装。
LNMP一键安装包从1.5开始增加了lua支持的选项,可以通过修改lnmp.conf中Enable_Nginx_Lua后的参数为 y 来启用lua,如果没安装lnmp,修改lnmp.conf后保存,安装完lnmp就是支持lua的,如果已经安装好lnmp,也是按前面修改lnmp.conf,然后lnmp安装包目录下 ./upgrade.sh nginx 升级nginx,输入当前nginx版本号或更新的nginx版本号,升级完成就是支持lua的了。
安装ngx_lua_waf
下载安装ngx_lua_waf:
wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip -O ngx_lua_waf.zip
unzip ngx_lua_waf.zip
mv ngx_lua_waf-master /usr/local/nginx/conf/waf
nginx上设置并启用ngx_lua_waf
编辑 /usr/local/nginx/conf/nginx.conf 在 server_tokens off; 下面添加如下代码:
lua_package_path "/usr/local/nginx/conf/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file /usr/local/nginx/conf/waf/init.lua;
修改完成保存
如果要想在某个虚拟主机启用ngx_lua_waf可以修改对应虚拟主机的server段,在该server段中 root 网站目录行下面添加如下代码:
access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;
修改完成保存
测试nginx配置文件:/usr/local/nginx/sbin/nginx -t
重载nginx配置生效:/usr/local/nginx/sbin/nginx -s reload
如果测试和重载都没报错就已经生效。
可以通过访问 http://域名/test.php?id=../etc/passwd 来测试
更详细的可以参见此文。
5
/
5
(
1
vote
)
网站服务器防扫描目录,服务器安全:添加Nginx规则防止服务器被恶意机器人扫描...相关推荐
- linux中ftp修改绑定目录,Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录...
1. 启动VSFTP服务器 A:cenos下运行:yum install vsftpd B. 登录Linux主机后,运行命令:"service vsftpd start" C. ...
- java获取远程服务器目录,在远程服务器创建三级目录
java获取远程服务器目录,在远程服务器创建三级目录 1.添加依赖 <dependency><groupId>com.jcraft</groupId><art ...
- nginx 跨服务器显示图片,centos6.6下nginx配置远程服务器上图片访问
将远程图片服务器挂载到Nginx所在服务器上,然后在Nginx上配置访问. 步骤 两台服务器信息如下: 服务器名称 服务器IP 共享目录 服务器说明 A 10.100.1.10 /mnt/data N ...
- niginx查看服务器日志信息,nginx 远程日志服务器
nginx 远程日志服务器 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性.本小节主要介绍如何在系统配置Syslog服务器参数,将日志远程备份 ...
- Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
1. 启动VSFTP服务器 A:cenos下运行:yum install vsftpd B. 登录Linux主机后,运行命令:"service vsftpd start" C. ...
- linux下新增ftp账号,【转】Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录...
转自:http://blog.csdn.net/cloudday/article/details/8640234 1. 启动VSFTP服务器 A:cenos下运行:yum install vsft ...
- win10iis服务器如何配置虚拟目录,win10系统iis6部署网站时配置虚拟目录的操作方法...
win10系统iis6部署网站时配置虚拟目录的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统iis6部署网站时配置虚拟目录的的现象,根据小编的调查并不是所有的朋友都知道win10 ...
- win10iis服务器如何配置虚拟目录,win10系统iis6部署网站时配置虚拟目录的解决方法...
有关win10系统iis6部署网站时配置虚拟目录的操作方法想必大家有所耳闻.但是能够对win10系统iis6部署网站时配置虚拟目录进行实际操作的人却不多.其实解决win10系统iis6部署网站时配置虚 ...
- php 防止爬虫,服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站
我们都知道网络上的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots规则对服务器造成压力,还不能为网站带来流量的无用爬虫,最近发现nginx日志中出现了 ...
最新文章
- 找回MySQL的root密码
- 移动机器人路径规划---深蓝学院培训学习记录
- 第二节:如何正确使用WebApi和使用过程中的一些坑
- oracle 时间间隔,ORACLE JOB间隔时间参考
- mysql关联表分页查询_MySQL一对多分页查询-主表关联表条件查询问题
- 012的悲剧终于预言了
- 细聊一下我面试Java开发人员的3条面试标准
- 纯前端js导出Excel文件
- 从认知动机理论看设计:如何读懂用户?
- 手机怎么打开谷歌官网页服务器地址,google手机地图打不开了的解决方法
- MAC和WINDOWS链接小米路由器移动硬盘方法
- VOT2016目标跟踪使用教程
- webkit未能加载文件或程序集WebKitBrowser
- 涉密计算机病毒库升级管理,涉密计算机管理制度.doc
- Python爬虫系列:腾讯课堂Scrapy爬虫
- 【爬虫——00004】蜘蛛技能学习
- 如果把ChatGPT和“挖呀挖”的黄老师结合起来,她可以为你做什么事情?
- Python_小林的爬取QQ空间相册图片链接程序
- Cesium中对geojson的处理
- response输出文件的时候,解决迅雷下载的问题
热门文章
- android 状态栏显示流程,基于Android系统的跨屏状态栏实现方法与流程
- js 将秒数 转换为 时分秒格式
- Pytorch上分之路—ShuffleNetv3(鸟群分类算法)
- 企业建站代码--HTML滚动文字代码(垂直)
- matlab 三维图像投影,matlab – 3D平面上的三维灰度体积投影
- 修理机器人基维斯_炉石传说死神4000型机械牧师卡组分享 恶心你的对手
- HTML中id选择器和class选择器的区别(为什么id选择器不能重复)
- 小米热点显示android,Android 11正式发布 小米、OPPO等用户即将收到推送
- 25岁后你该知道的66件事
- 1688API接口,获得1688商品分类