用python批量导入阿里云安全组规则

背景

因为学习买了一台服务器,但是也没什么经验,一开始把安全组中几个需要用的端口全部授权成0.0.0.0,0,导致服务器买了才没几天就被人植入了木马挖矿进程,系统也被破坏的面目全非,重装了系统之后为了防止这类问题的再次发生,我用了一种极其笨的办法就是比如说我要在本地pc上调试服务器上的redis时,我就把服务器中的redis端口号6379的授权ip改成我当前pc的ip

问题重现

但是这样有个问题就是本地pc接入的宽带ip老是变动,变了之后就得重新改很麻烦,尤其是回了学校之后晚上断网要用热点又变ip更麻烦,但是在之前阿里云安全组配置规则的时候好歹还有个批量导入功能,但是在某一天突然就无了,只能一个一个手敲,这个太痛苦了,这是我发现了一个导入功能
在这里插入图片描述
但是没有导入规则,我就点了下导出看了下格式,想着用python写一个方便的工具

需求(实现的功能)

输入ip,程序从磁盘中读取original.json中原有的安全组规则,然后找到其中授权对象不是0.0.0.0的安全组规则,把他的授权对象改成输入的ip,然后再把ip写入targetRule.json文件中

代码

import json

if __name__ == '__main__':
    with open('original.json', encoding="utf-8") as jsonRules:
        rules = json.load(jsonRules)

    targetIp = input("请输入现在的ip:")
    targetRules = []
    for rule in rules:
        if (rule['SourceCidrIp'] != "0.0.0.0/0"):
            rule['SourceCidrIp'] = targetIp
            targetRules.append(rule)
    tmp = json.dumps(targetRules)
    fp = open('./targetRule.json', 'w', encoding='utf-8')
    fp.write(tmp)
    fp.close()
    print("生成成功")

使用步骤

从阿里云安全组管理页面中导出安全组规则
在这里插入图片描述
导出成json格式并将其重命名位original.json,放入与python代码同一个目录下,运行该python代码,
就会生成targetRule.json,然后去阿里云安全组管理页面中导入即可

效果展示
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值