定时抓取白名单IP,轻松实现CDN回源IP在轻量服务器防火墙的动态更新

设置CDN回源IP白名单,能有效降低源站IP泄露风险。但手动设置既耗时又难以做到及时更新,存在安全隐患。因此,定时更新白名单显得尤为重要。通过自动化获取最新IP并更新防火墙规则,确保安全访问,减轻管理员负担,实现高效安全管理。

准备环境

本应用提供直接部署和Docker部署两种方式。

直接部署需准备Python3运行环境。

Docker部署需你的轻量安装了Docker环境,这里推荐直接使用轻量控制台提供的Docker环境,不仅省去了安装Docker环境的麻烦,通过轻量的控制台还能十分方便的管理Docker容器。

简介

从指定URL获取白名单IP段列表,并自动更新腾讯云轻量防火墙规则。

自动识别IPv4和IPv6地址,白名单IP段列表可以混合两种地址。

自动识别实例地域,只需设置实例ID列表即可。

配置说明

白名单IP段列表格式

如果想要自己下发IP段,请按照以下格式编写白名单IP段列表:

代码语言:javascript
复制
1.12.2.0/24
3.2.1.0/24
23.1.23.0/24
​

配置文件

配置文件位于config.json,各字段含义如下:

  • ApiDomain:腾讯云API域名,勿动。
  • secretId:腾讯云API密钥ID,请在腾讯云控制台获取。
  • secretKey:腾讯云API密钥KEY,请在腾讯云控制台获取。
  • IPListURL:白名单IP段列表URL,支持HTTP/HTTPS。
  • InstanceId:腾讯云轻量服务器实例ID列表,请在腾讯云控制台获取。
  • sleepTime:更新间隔,单位为秒。
  • pushMsgOpen:是否开启推送消息,0为关闭,1为开启。
  • workWxWebHook:企业微信群聊机器人WebHook,请在企业微信群中新建并获取。

部署

可选Docker部署和本机直接运行

Docker部署

请确保本机安装了Docker和Docker Compose。

代码语言:javascript
复制
git clone https://github.com/1bit-cc/lighthouse_app.git
cd lighthouse_app/autoUpdateFirewallRules
docker build -t lh_aufr:0.1 .
​

打开config.json,修改配置文件。

代码语言:javascript
复制
docker-compose up -d
​

本机直接运行

请确保本机安装了Python3.6及以上版本。

代码语言:javascript
复制
git clone https://github.com/1bit-cc/lighthouse_app.git
cd lighthouse_app/autoUpdateFirewallRules
pip install -r requirements.txt
​

打开config.json,修改配置文件。

代码语言:javascript
复制
python main.py
​

查看效果

自动更新成功

自动更新成功

进入轻量服务器防火墙控制台,可以看到添加的防火墙规则

防火墙规则

企业微信机器人正常收到提醒

企业微信机器人正常收到提醒