近期从外部透过邮件系统 IMAP、POP3 和 SMTP 等开放 port 在 try 内部帐号邮件密码的情形越来越频繁,虽然邮件系统有一定的机制可以阻挡,但看到报告中这么多 IP 实在很不舒服,因此着手收集这些 IP 打算统统汇入到 Sonicwall 防火墙,直接设为黑名单,上网搜寻不少文章后,Sonicwall 并没有提供相关的方式可以进行,因此要将这些大量 IP 建立至 Address Objects 的话,透过 SSH 会是最省时间的方式。
##########################
# Sonicwall
# 型號:NSA 4600
# 韌體:6.2.7.1
# SSH 工具:PieTTY 或 Tera Term
##########################
1. 首先透过 excel 和 wxMEdit 将 IP 整理成如下格式:
address-object ipv4 Wan-Hack-1.1.1.1 host 1.1.1.1 zone WAN address-object ipv4 Wan-Hack-2.2.2.2 host 2.2.2.2 zone WAN # 其中 Wan-Hack-1.1.1.1 欄位,可以透過 Excel 函式去抓後面的欄位 # 如 ="Wan-Hack-"&LEFT(E1,15) # E1 為 1.1.1.1 所在的欄位。
2. 再来透过 PieTTY 或 Tera Term 连上 Sonicwall ,如果先前没有打开 SSH 连线,可以到 Network 底下的 Interface 去设定开启。

3. 登入後,进口”配置”进入设定模式。

4. 接着将整理好格式的 IP 清单,贴到 PieTTY,这边要注意一下,如果整理的清单有上千笔,建议分批贴上,一次最多不要超过 400 笔,每贴上 400 笔就执行”承诺”存檔,再进行下一个 400 笔,依此类推,如果一次贴 500 笔以上,可能会出现错误的情形。

5. 完成之后,就可以在 Address Objects 看到刚刚汇入的 IP 位址。

【参考资料】
- 创建在命令行界面对象和组 (CLI) 对于 5.8 以下 | SonicWall
- Sonicwall的脚本生成器 - 创建多个地址对象,并将它们添加到地址组 | Phy2Vir