root@Ubuntu:~# awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10
547231 //xmlrpc.php
160028 //wp-login.php
41053 /
26864 /wp-login.php
16716 /res/logo_link.webp
16069 /robots.txt
12732 /xmlrpc.php
根据打印内容,可以看到访问网站次数最多的URL,以及相应的访问次数。分析每一行的具体含义以及可以采取的安全防御措施:
-
547231 //xmlrpc.php:xmlrpc.php 是WordPress中的一个文件,用于远程发布和其他与XML-RPC协议相关的功能。它经常成为攻击目标,尤其是暴力破解攻击。
-
160028 //wp-login.php: wp-login.php 是WordPress的登录页面,暴力破解攻击者经常尝试通过该页面获取管理员权限。
-
41053 /:这是网站的主页,通常是访问量较大的页面。
-
26864 /wp-login.php: 这是WordPress的登录页面,同上。
-
16716 /res/logo_link.webp: 这是网站上的一个静态资源文件,访问量大通常是正常的。
-
16069 /robots.txt: 这是一个告诉搜索引擎哪些页面可以被抓取的文件,通常被合法的爬虫访问。
针对以上高访问量URL的安全防御措施
1. 防御XML-RPC攻击
可以禁用 xmlrpc.php 文件。通过Nginx配置来禁用:
location = /xmlrpc.php {
deny all;
}
2. 防御登录页面暴力破解
可以通过以下几种方法来保护 wp-login.php 文件:
-
限制登录尝试次数:
使用插件如 Limit Login Attempts Reloaded 或 Wordfence。 -
启用双重认证 (2FA):
使用插件如 Two Factor Authentication。 -
更改登录页面URL:
使用插件如 WPS Hide Login 来更改默认的登录页面URL。 -
通过Nginx限制访问:
仅允许特定IP地址访问wp-login.php:
nginx
location = /wp-login.php {
allow 192.168.1.1; # 允许访问的IP地址
deny all;
}
3. 保护主页和其他页面
主页的访问量大通常是正常的,但如果访问量异常高,可能需要:
- 启用缓存:
使用插件如 WP Super Cache 或 W3 Total Cache 来缓存页面,减轻服务器负载。
4. 优化静态资源
对于静态资源如 logo_link.webp,可以启用CDN(内容分发网络)来减轻服务器负载,如使用 Cloudflare。
5. 保护 robots.txt
虽然 robots.txt 通常被合法的爬虫访问,但仍然需要确保文件内容不泄露敏感信息。
具体实施
a. 修改Nginx配置文件
sudo nano /etc/nginx/sites-available/your-site-config
在合适的位置添加上述配置,然后重启Nginx:
sudo systemctl restart nginx
b. 安装和配置WordPress插件
- 登录WordPress后台,安装并激活上述提到的插件。
- 配置插件以启用限制登录尝试、双重认证等功能。
通过这些防御措施,可以更好地保护WordPress站点免受常见的攻击和滥用行为,提高网站的安全性和性能。
当前文章价值8.14元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

评论已关闭!