NadMesh僵尸网络扫描AI服务端口
NadMesh僵尸网络近期针对AI服务端口发起大规模扫描,Stable Diffusion WebUI、ComfyUI、Jupyter Notebook 等工具的默认端口是重点目标。
如果你有一台公网服务器,无论是否部署过AI服务,都可能被探测。
本文直接给出可落地的自检命令、防火墙封禁规则和AI应用加固方法,按步骤执行就能降低被入侵风险。
攻击目标:AI服务最常暴露的端口
NadMesh扫描主要针对 7860、7861、8188、8888 等端口,同时也覆盖常见的 8080、5000。
这些端口分别对应不同AI界面。
但扫描本身不分系统,Linux、Windows 上只要端口开放,就会被记录风险。
如何判断服务器是否已被扫描
第一步看监听端口:
ss -lntp | grep -E '7860|7861|8188|8888'
第二步查日志,以 Nginx 为例:
grep -E '7860|8188' /var/log/nginx/access.log | tail -50
第三步检查连接状态:
ss -ant | grep -E 'SYN|ESTAB'
如果发现大量来自同一IP段或非业务来源的 SYN 请求,说明已被扫描。
注意看到大量 IP 频繁尝试连接这些端口时,记录攻击者特征,再做封禁处理。
防火墙封禁规则:先放行可信IP,再默认拒绝
如果AI服务只需要供固定IP访问,最好的方式不是“全部封禁扫描器”,而是设置白名单。
以 iptables 为例:
iptables -A INPUT -s 端口探测来源IP -j DROP
iptables -I INPUT -p tcp --dport 7860 -s 你的固定IP -j ACCEPT
iptables -I INPUT -p tcp --dport 7860 -j DROP
使用 nftables 的系统,先编辑 /etc/nftables.conf,加入:
chain input {
type filter hook input priority filter; policy drop;
ip saddr 你的固定IP tcp dport 7860 accept
}
如果服务器用的是云厂商安全组,建议直接在控制台将 7860/8188 等端口的来源 IP 设为指定 IP,其他来源一律拒绝。
AI服务加固:别依赖防火墙做唯一防线
防火墙只是第一道门。
更稳妥的做法是给 AI 服务增加身份验证。
以 Stable Diffusion WebUI 启动参数为例,增加:
./webui.sh --listen --api --auth 用户名:密码
ComfyUI 可以在反向代理层加 Basic Auth,使用 Nginx 时生成密码文件:
openssl passwd -apr1
然后在 Nginx 配置中启用 auth_basic。
也可以直接改用 SSH 隧道访问,避免在公网暴露任何调试端口。
验证规则和后续监控
执行完封禁或白名单后,用下面命令查看规则是否生效:
iptables -nL --line-numbers
再用另一台非白名单IP的机器尝试连接,应该超时或拒绝。
日常建议开启系统日志监控,例如用 fail2ban 对连续扫描端口的行为自动封禁:
fail2ban-client set sshd addignoreip 你的IP
避坑说明
设置默认拒绝时,先确认你的固定IP不会变化,否则可能把自己关在门外。
注意 IPv6 也需要配置规则,容易漏掉。
如果AI服务本来就需要向公众开放,不要直接设成拒绝所有人,应优先做强鉴权限制。
扫描事件不代表服务器已失陷,但要警惕后续漏洞利用,及时升级依赖包和使用官方启动脚本。
NadMesh僵尸网络扫描AI服务端口是近期较常见的安全噪声,但也是一次服务器暴露面检查机会。
按上文先确认暴露、再封禁端口、最后加强鉴权,攻击者基本无法拿到控制权。
环境有差异,规则生效后建议在业务低峰期再验证一遍。