一、前言
这两天在做一些测试和尝试,就一直在服务器后台打转,因为有个服务无法访问,就去看了一下网站日志,结果发现一大长串的POST请求,都是对xmlrpc.php的请求,然后就猜到了可能是被扫描爆破了。随即仔细查看了一下日志,发现大量针对WordPress特有文件的请求,比如wp-config.php、wp-content/themes/、wp-content/plugins/等。还有一些奇奇怪怪的文件请求,比如 /alfa.php、/lf.php、/mrjn.php、/anone.php等,咱也不知道都是干啥的,也不懂这些玩意,总之就是我发现了我的小破站在被不断扫描。
可是我想不通啊,我一个方便自己用的网站,没有任何权重,搜索引擎都不带收录的,怎么就被扫描爆破了?
后来查了查资料才知道,这些扫描工具根本不在乎你的网站有没有价值,它们只是在进行大规模的自动化扫描,寻找所有可能存在的漏洞。不管你的网站是大型站点还是个人小站,只要暴露在公网上,就有可能成为目标。这些扫描工具会遍历互联网上的所有IP地址,尝试各种已知的漏洞和弱口令,属于”扫荡式”攻击,不是针对你个人的。
二、发现的问题
通过分析日志,我发现主要有以下几类异常请求:
1. WordPress特有文件扫描
/xmlrpc.php– WordPress的XML-RPC接口,经常被用于暴力破解和DDoS攻击/wp-config.php– WordPress配置文件,包含数据库密码等敏感信息/wp-content/themes/和/wp-content/plugins/– 尝试探测主题和插件版本
2. 常见后门文件扫描
/alfa.php、/lf.php、/mrjn.php、/anone.php等- 这些都是常见的Webshell后门文件名,攻击者试图上传或访问这些文件
3. 常见漏洞探测
/phpmyadmin/– 数据库管理面板/wp-login.php– WordPress登录页面/admin/、/administrator/– 后台管理入口
三、解决方法
大晚上的看到还在不停扫我小破站,查了一下IP都是国外的,就赶紧跑又拍云去设置限制禁止国外IP访问。这一限制后,网站日志都刷新慢了不知道多少倍,毕竟没有奇怪的请求了。
具体采取的安全措施:
1. CDN层面的限制
- 在又拍云上设置了地域访问控制,只允许国内IP访问
- 配置了IP黑名单,将已知的恶意IP加入黑名单
- 启用了WAF(Web应用防火墙)规则
2. 服务器层面的防护
- 配置了iptables防火墙,限制80/443端口只允许CDN节点IP访问
- 安装了fail2ban,自动封禁多次失败请求的IP
- 关闭了不必要的服务和端口
3. WordPress安全加固
- 重命名了wp-login.php(使用插件或自定义代码)
- 禁用了xmlrpc.php功能(通过插件或functions.php)
- 修改了数据库表前缀(默认wp_)
- 定期更新WordPress核心、主题和插件
- 安装了安全插件(如Wordfence Security或Sucuri Security)
4. 其他建议
- 定期备份网站数据
- 使用强密码策略
- 启用HTTPS加密
- 限制登录尝试次数
- 隐藏WordPress版本信息
四、总结
网站不对外服务的话,还是做一些必要的限制吧。以前接CDN只是为了加速访问和不暴露服务器IP,也没做任何限制,导致被扫描爆破了。现在为了安全,还是做一些必要的限制吧。
安全无小事,即使是一个个人小站,也可能成为攻击者的目标。攻击者使用自动化工具扫描互联网,不会因为你的网站”没有价值”就放过你。这些扫描可能会导致:
- 服务器资源被大量消耗,网站响应变慢甚至崩溃
- 敏感信息泄露(配置文件、数据库等)
- 网站被植入恶意代码或后门
- 被用于发起进一步的攻击(你的服务器变成攻击跳板)
- IP被列入黑名单,影响正常业务
所以,无论你的网站规模大小,都应该重视安全防护。一点点的安全措施,就能避免很多麻烦。