Shallow API手册

4.6 黑名单

黑名单功能,通过每5秒轮询connection连接列表,查看是否有源和目标IP属于定义的黑名单IP列表。如果触发后可以删除连接,发送报警通知或向RouterOS执行API命令。

黑名单功能包括三个模块:

  • 黑名单列表
  • 黑名单监控
  • 黑名单命中日志

4.6.1 黑名单列表

黑名单列表,导入黑名单IP地址,可手动添加定义的黑名单IP地址,也可导入定义好的黑名单文本。

黑名单列表目前推荐获取的站点: https://iplists.firehol.org/  

手动添加:

支持手工维护黑名单列表,以及上传符合 IP/CIDR 一行一条规则的文本文件。

上传黑名单文件

支持多文件上传。文件内容需满足一行一个 IP 或 CIDR,支持整行 `#` 注释,也支持 `8.8.8.8 #Google DNS` 这种行内注释,例如:

8.8.8.8 #Google DNS
223.5.5.5 #Ali DNS

4.6.2 黑名单监控

选择黑名单列表或文件,对设备当前连接进行匹配,命中后发送通知并可执行 RouterOS API 脚本。

创建API的CLI命令,将黑名单IP添加到RouterOS指定的黑名单列表blacklist,脚本内支持 `$blacklist_ip`、`$comment`、`$ros_id`(兼容 `$ros_Id`)。

包含 `$ros_id` 时会按命中的连接逐条执行;否则仍按命中的黑名单 IP 执行,例如:

/ip firewall address-list add list=blacklist address=$blacklist_ip comment=$comment`
或 
/ip/firewall/connection remove $ros_id

命中处理方式:

  • 仅告警 / API脚本
  • 仅自动删除命中连接
  • 同时删除命中的连接+API脚本

删除连接会对每条新增命中的连接执行 `/ip/firewall/connection remove $ros_id`。如果选择“同时”模式,通知规则和 API 脚本也会一起执行。

4.6.3 黑名单命中日志

用于查询命中黑名单IP的记录