基于PaloAlto调用外部地址列表(external block list)
题记
因为PaloAlto EBL模式最短刷新时间为5分钟,所以被NTA发现情况下最好情况下有5分钟时间进行操作,不过大佬说有5分钟就够了.不过可以通过调用API方式可以缩短生效时间,批评自己浅藏辄止,特将将此文更新,以及附上官方文档链接,通过API 刷新方式将缩短至10秒,下图的人只能通过0day打了。
最近和网络组靠谱的大佬学会了很多pa墙相关的知识,不过离我的应用安全、SDL、Devsecops、0day挖掘、Fuzz和SRC冲榜之路越走越远了....
引入版本
EBL引入的版本PAN-OS 5.0
特别注意,PA-200且PAN-OS 7.0.x以上版本
支持封禁50000个IPs、我不知道这个IPs怎么翻译,是50000个IP还是50000行这个有待确认,这里抛出一个问题,当防火墙封禁超过50000个IP的时候,这个时候应该如何封禁IP呢?
通过PA墙的ebl方式实现封禁
在PAN-OS 5.0引入的ebl(EXTERNAL BLOCK LIST外部动态列表)简介
PA墙支持引入外部ip文件来实现封禁,每行必须包含一个 IP 地址、范围或子网。
支持的格式
IP地址、IP段、IPv6
192.168.20.10/32
192.168.20.0/24
192.168.20.40-192.168.20.50
2001:db8:123:1::1
2001:db8:123:1::/64
添加外部动态列表(EXTERNAL BLOCK LIST)
名称 | soar_block |
---|---|
类型 | IP List |
源 | http://ip:port/随意的/随意的.txt |
说明 | soar封禁ebl |
当然这个路径随意,只要防火墙可以访问到即可。
检查更新:五分钟
创建安全策略规则
创建acl deny规则,并关联该ebl。(源地址为ebl,目的地址为any的deny规则)
选择源
这里实际应是soar_block
设置目标
添加完毕后将封禁规则置顶(提高防火墙匹配效率)
后续防火墙不需要再做任何规则创建或变更。只需要在新增封禁ip后,刷新该ebl即可(soar检测到有新封禁ip后自动触发)
注意一下访问控制的源地址和目的IP地址,好吧,我成功填错了目的地址。
这里需要根据pa服务中的地址设置,我图中使用的是管理口地址,所以应是如下IP。
API刷新EBL列表,创建SOAR用户角色
创建角色名称 | soar_ebl_api |
---|---|
说明 | soar |
权限最小化
禁用未使用的权限,只保留 api 的“操作请求”。
创建SOAR用户
管理员名称 | soar_api |
---|---|
密码 | **** |
添加对应的用户,并关联步骤 1 创建的角色,提交变更, 使变更生效。
API调用
1、获取 api key
curl -k d=password -X GET "https://防火墙IP/api/?type=keygen&user=soar_api&passwor=***"
2、刷新 EBL 列表
curl -k -X GET https://防火墙IP/api?type=op&cmd=< external-list>{替换成ebl名称,按照本文配置这里就是soar_block} &key={替换为第一步获取的key}
调用最短间隔10秒,具体更细节的说明请阅读PA文档。
参考链接
https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClVYCA0
https://blog.csdn.net/weixin_39616565/article/details/113069516