小皮面板防火墙如何屏蔽恶意IP

liulian
liulian 初级会员超兽战士
发布于 2026-10-08 07:58 ·1 浏览 ·0 回复

学完这篇,你能在小皮面板里精确找出攻击服务器的恶意 IP,并用面板防火墙(必要时配合系统命令)把它们挡在门外。下面按顺序做一遍就行。

第一步:确认面板版本和防火墙开关

这一步要确认你的面板具备 IP 拉黑能力,并且开关是打开的。登录面板(Linux 版浏览器访问 http://服务器IP:8888,Windows 版访问 http://127.0.0.1:8888,具体端口以安装完成时提示的为准),在左侧菜单点「安全」(部分版本这一栏直接叫「防火墙」),看页面顶部的「防火墙总开关」显示为「已开启」。看到开关是绿色的,说明规则能被正常下发。

注意:Windows 版小皮面板(phpStudy 8.1 及以上)的 IP 黑名单本质是调用系统自带的 Windows Defender 防火墙,如果服务器上装了 360、火绒等第三方安全软件,可能抢占规则写入,先在第三方软件里关掉「网络防护」再回来配置。Linux 版(小皮面板 1.x)底层是 iptables,面板卸载重装后旧规则不会自动恢复。

第二步:从访问日志里找出该拉黑谁

这一步是为了拿到具体 IP,避免凭感觉乱封。最省事的入口是面板左侧「网站」→ 找到你的站点 → 点右侧的「日志」按钮,切到「访问日志」标签。Linux 版日志文件实体在 /www/wwwlogs/你的域名.log,Windows 版在面板安装目录的 Extensions\Nginx.../logs/ 或 Apache 的 logs/ 下。

想在命令行里按次数排序,Linux 下执行:

awk '{print $1}' /www/wwwlogs/example.com.log | sort | uniq -c | sort -rn | head -20

Windows PowerShell 下执行(先 cd 到日志目录):

Get-Content .\access.log | ForEach-Object { ($_ -split ' ')[0] } | Group-Object | Sort-Object Count -Descending | Select-Object -First 20

输出里排名靠前、且请求路径集中在 /wp-login.php、/xmlrpc.php、随机 .php 的 IP,就是你要封的目标。

第三步:把 IP 加入黑名单

回到面板「安全」→「IP 黑名单」,点「添加」:IP 框填单个地址如 203.0.113.10,或整段如 203.0.113.0/24;备注里写清原因(例如「爆破 wp-login」);生效时长选「永久」或按需填 24 小时。点「保存」后,列表里出现这条记录即生效,该 IP 再访问 80/443 端口会被直接拒绝。

注意:别把 127.0.0.1、你自己办公网的公网 IP、以及 CDN 回源 IP 加进去,否则你会连面板和网站一起打不开。

第四步:开启自动拉黑,省去手工查日志

在「安全」→「CC 防护」里,把开关打开,「周期」设为 10 秒、「单 IP 请求次数」设为 100 次,触发动作选「拉黑」,「拉黑时长」填 600 秒。这样高频扫描的 IP 会被面板自动丢进黑名单,不用你天天盯日志。

注意:站点使用了 CDN 或反向代理时,面板看到的全是 CDN 节点 IP,自动拉黑会把 CDN 整个封掉。这种情况要先在面板「网站」→ 站点 →「配置文件」里配置真实 IP 获取(如 Nginx 的 set_real_ip_from 加 X-Forwarded-For),或者干脆在 CDN 控制台做 IP 黑名单。

第五步:命令行兜底(面板没生效时)

如果面板点了保存但日志里该 IP 还在刷,Linux 下用 iptables 直接封:

iptables -I INPUT -s 203.0.113.10 -j DROP
iptables-save > /etc/iptables.rules   # 或 service iptables save

Windows 下用系统防火墙:

netsh advfirewall firewall add rule name="block-203.0.113.10" dir=in action=block remoteip=203.0.113.10

注意:iptables 命令写入的规则默认重启即失效,必须做持久化保存,否则服务器一重启攻击 IP 又回来了。

第六步:验证与解封

用手机 4G 流量(不要用服务器同网络)访问你的域名,页面打不开或提示连接被拒绝,说明封禁生效。要解封,在「IP 黑名单」列表里点对应记录右侧的「删除」;命令行封的回用 iptables -D INPUT -s 203.0.113.10 -j DROP 或 netsh advfirewall firewall delete rule name="block-203.0.113.10"。

小结

  • 先在「安全」里确认防火墙总开关开启,Windows 版要排除第三方杀软干扰。
  • 恶意 IP 从「网站」→「日志」或 awk 统计里找,别凭感觉封。
  • 黑名单支持单 IP 和 x.x.x.x/24 网段,可设永久或限时。
  • CC 防护能做到自动拉黑,但用 CDN 的站点必须先配置真实 IP,否则会误伤。
  • 命令行 iptables / netsh 只作兜底,记得持久化,也要记得能解封。
版权声明:本文来自 GJ站长论坛《小皮面板防火墙如何屏蔽恶意IP》
原文链接:https://www.gj0.com/thread-827.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~