WPS表单控制安恒防火墙策略

本软件仅供学习研究使用,该软件的最终解释权归作者所有

代码位置
https://gitee.com/ucu520/AH-object-address-linux-arm64


前置条件

  • 有一台能够访问安恒防火墙的设备,能运行二进制的(go编写,不限制平台)

  • 能够管理到防火墙的设备需要通后端公网地址/域名

  • 这里后端用的是cloudflare的workers

  • wps表单这里有审核功能,我需要用到,我是开启的,如果不需要审核,不开即可

  • 如果想不兜兜转转,且你有公网ip,可以直接使用wps表单的webhooks推送到你的出口ip,映射某台设备来做接受,之后更改防火墙配置

流程

wps制作表单 -> 表单转智能表格 -> 智能表格自动化推送状态到后端 -> 后端更新数据 -> 监听器读取数据并更新防火墙策略

WPS-制作表单

  • 新建 -> 智能表单 -> 空白表单

    2001017-1.png
    2001017-2.png

可以按照我现在的样式修改

2001017-3.png
2001017-4.png
2001017-5.png

wps表单这里有审核功能,我需要用到,我是开启的,如果不需要审核,不开即可

设置完后分享即可

2001017-6.png

表单转智能表格

记得在统计里面配置导出到多维表格

2001017-7.png

智能表格自动化推送状态到后端

配置自动化

2001017-8.png

触发点根据实际情况进行配置

2001017-9.png

这里演示为任意字段修改,换句话说就是有人填写就自动执行

2001017-10.png
2001017-11.png

2001017-12.png

1
2
3
4
5
{
"msg":"默认msg",
"data":"默认data",
"status_code":"默认status_code"
}

代码这里找 wps.py的这个 https://gitee.com/ucu520/AH-object-address-linux-arm64

2001017-13.png

请求头
{
“Authorization”: “Basic 这里填后端kv里面的Secret对应的值”
}

可有可无,看情况,这里是有变更微信这吧做通知,方便了解情况

2001017-14.png

后端更新数据

代码这里找 workers.js的 https://gitee.com/ucu520/AH-object-address-linux-arm64

https://dash.cloudflare.com/

创建KV

2001017-15.png

记得在kv对里面加一个
Secret

2001017-16.png

2001017-17.png

记得绑定kv

2001017-18.png

对应代码里面记得修改storage_name为真实的kv名称

2001017-19.png

监听器读取数据并更新防火墙策略

2001017-20.png
拉代码并编译(go) https://gitee.com/ucu520/AH-object-address-linux-arm64

运行后,记得改配置文件,建议使用
AuthorizationToken

效果

2001017-21.png
2001017-22.png
2001017-23.png
2001017-24.png
2001017-25.png

安恒防火墙部分位置

ipv4的本地控制策略(一条拒绝所有兜底,上面的为允许接入的范围

2001017-26.png

创建一个ipv4对象,让上面的控制策略引用这个对象

2001017-27.png

AuthorizationToken获取位置

2001017-28.png

Authorization需要使用f12,获取cookie字段


OVER