宝塔安全优化:从封IP到DNS调优

文记录了一次完整的网站安全排查与性能优化过程,包括恶意扫描器检测、DNS 解析优化、防火墙配置选择等实战经验,适合使用宝塔面板的站长参考。

最近发现网站访问日志中出现了一些异常请求,同时错误日志中频繁出现 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/04223.244.8.25探测 /admin/后台目录🔴高
03/0491.239.130.201探测 SSL证书路径🟡 中
03/0691.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-50ms1ms
UDP超时错误频繁出现完全消失
爬虫访问体验偶尔超时正常响应
#验证 DNS 速度
timenslookup www.baidu.com
#输出:real0m0.001s← 极快!

第四步:防火墙配置选择

面临的问题

服务器上安装了两款安全工具:

  • Fail2ban 2.4:系统级防护
  • Nginx 免费防火墙:应用级防护

功能对比

对比项Fail2banNginx 防火墙
工作层面系统级(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-50ms1ms
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

霍欣标的头像霍欣标站长
上一篇 2026-03-02 22:17
下一篇 2026-03-11 21:57

相关推荐

博主人懒,应管局要求暂不开启站内私信和评论功能,如需帮助请发邮件。

邮箱账号:1969600480@qq.com