最近发现网站访问日志中出现了一些异常请求,同时错误日志中频繁出现 luaudp socket read timedout 错误。作为一名站长,我决定彻底排查一下网站的安全状况和性能问题。
网站环境:
- 面板:宝塔面板免费版
- Web服务器:Nginx
-程序:WordPress - 已安装:Fail2ban 2.4、Nginx免费防火墙
第一步:检测网站访问日志
查看最新访问记录
tail /www/wwwlogs/bigengwu.cn.log关键发现
日志中出现了两类访问:
1. 正常用户访问
117.185.156.164 - -[07/Mar/2026:11:56:10 +0800]
"GET/wen/360.html HTTP/1.1"200
"Mozilla/5.0 (Macintosh; Intel MacOS X...Chrome)"2. 可疑扫描行为
176.65.134.20- - [07/Mar/2026:11:59:09 +0800]
"PROPFIND / HTTP/1.1" 4440 "-"第二步:分析可疑扫描行为
错误日志分析
tail/www/wwwlogs/bigengwu.cn.error.log发现的威胁
| 时间 | IP 地址 | 行为 | 风险等级 |
|---|---|---|---|
| 03/04 | 223.244.8.25 | 探测 /admin/后台目录 | 🔴高 |
| 03/04 | 91.239.130.201 | 探测 SSL证书路径 | 🟡 中 |
| 03/06 | 91.199.118.57 | 探测 SSL证书路径 | 🟡中 |
封禁恶意IP
由于使用的是宝塔免费版,没有企业版的 IP封禁功能,我选择了Nginx 黑名单文件方案:
# 创建黑名单文件
echo-e "deny223.244.8.25;
deny91.239.130.201;\ndeny 91.199.118.57;" > /www/server/panel/vhost/nginx/blockip.conf
#在网站配置中引入
# 编辑/www/server/panel/vhost/nginx/bigengwu.cn.conf
#在 server {后添加:include blockip.conf;
# 重载 Nginx
nginx-t && nginx-s reload
第三步:解决 DNS 超时问题
问题现象
错误日志中频繁出现:
luaudp socket read timedout,client: 52.167.144.211
原因分析
经过排查,这个问题是DNS解析超时导致的:
- 原DNS:广东联通(183.60.83.19)
-解析延迟:30-50ms - 触发场景:Bing爬虫访问时调用外部资源
解决方案:更换DNS
#备份原配置
cp /etc/resolv.conf /etc/resolv.conf.bak
#更换为阿里云DNS
echo "nameserver 223.5.5.5" > /etc/resolv.conf
echo "nameserver119.29.29.29" >> /etc/resolv.conf
echo "nameserver 114.114.114.114" >> /etc/resolv.conf
效果对比
| 指标 | 优化前 | 优化后 |
|---|---|---|
| DNS 解析时间 | 30-50ms | 1ms |
| UDP超时错误 | 频繁出现 | 完全消失 |
| 爬虫访问体验 | 偶尔超时 | 正常响应 |
#验证 DNS 速度
timenslookup www.baidu.com
#输出:real0m0.001s← 极快!
第四步:防火墙配置选择
面临的问题
服务器上安装了两款安全工具:
- Fail2ban 2.4:系统级防护
- Nginx 免费防火墙:应用级防护
功能对比
| 对比项 | Fail2ban | Nginx 防火墙 |
|---|---|---|
| 工作层面 | 系统级(iptables) | 应用级(Nginx) |
| 防护范围 | SSH、Web、邮件等 | 仅Web 网站 |
| 配置方式 | 命令行/配置文件 | 宝塔可视化界面 |
| 资源消耗 | 中等 | 低 |
| 管理难度 | 较高 | 简单 |
最终决策:删除 Fail2ban
理由:
1.两者功能有重叠,可能重复封禁
2.Nginx防火墙与宝塔深度集成,管理更方便
3.减少资源占用,简化配置
4.Web 防护由Nginx防火墙全面接管
卸载命令
# 停止并禁用
systemctlstop fail2ban&& systemctl disable fail2ban
#卸载
yumremove fail2ban-y
#清理配置
rm -rf /etc/fail2ban /var/log/fail2ban.log
#确认
systemctlstatus fail2ban
删除后的安全措施
| 安全措施 | 操作位置 | 状态 |
|---|---|---|
| Nginx 防火墙 | 宝塔面板→网站→防火墙 | ✅ 开启 |
| SSH端口修改 | 宝塔面板→安全→SSH管理 | ✅已修改 |
| 系统防火墙 | 宝塔面板→安全→系统防火墙 | ✅开启 |
| 恶意 IP封禁 | Nginx 黑名单文件 | ✅已封禁 |
最终安全架构
┌─────────────────────────────────────────────┐
│ 优化后安全架构│
├─────────────────────────────────────────────┤
│🌐 Nginx 防火墙:Web 攻击防护(SQL/XSS/CC) │
│🔒 系统防火墙:端口访问控制│
│📁黑名单文件:已知恶意 IP封禁│
│⚡DNS 优化:阿里云 DNS(1ms解析)│
│🛡️SSH 安全:修改默认端口 +密钥登录 │
└─────────────────────────────────────────────┘
总结与建议
✅本次优化成果
| 项目 | 优化前 | 优化后 |
|---|---|---|
| DNS解析速度 | 30-50ms | 1ms |
| UDP超时错误 | 频繁 | 消失 |
| 安全工具 | 2 个(可能冲突) | 1 个(Nginx防火墙) |
| 恶意 IP | 未处理 | 已封禁 3个 |
| 配置复杂度 | 高 | 低 |
💡 给站长的建议
1. 定期检查访问日志
tail /www/wwwlogs/你的域名.log
2. 关注错误日志中的异常
tail /www/wwwlogs/你的域名.error.log
3. DNS优先选择国内服务商
-阿里云:223.5.5.5
-腾讯云:119.29.29.29
-114 DNS:114.114.114.114
4. 防火墙不必贪多
- 选择一款适合的即可
-避免规则冲突和管理混乱
5. 及时封禁恶意 IP
-发现扫描行为立即处理
-使用 Nginx黑名单文件方便管理
📌 参考命令汇总
# 查看访问日志
tail /www/wwwlogs/bigengwu.cn.log
# 查看错误日志
tail/www/wwwlogs/bigengwu.cn.error.log
#测试DNS 速度
time nslookup www.baidu.com
#封禁 IP(Nginx黑名单)
echo"deny恶意 IP;" >>/www/server/panel/vhost/nginx/blockip.conf
# 重载 Nginx
nginx-t && nginx-s reload
# 卸载 Fail2ban
systemctl stop fail2ban && yumremove fail2ban-y
希望这篇文章能帮到遇到类似问题的站长朋友们!
作者:霍欣标,如若转载,请注明出处:https://www.bigengwu.cn/shu/362.html