前言

这几年对运维人员来说最大的变化可能就是公有云的出现了,我相信可能很多小伙伴公司业务就跑在公有云上, 因为公司业务关系,我个人接触公有云非常的早,大概在12年左右就是开始使用亚马逊云,后来逐渐接触到国内的阿里,腾讯云等,随着公司业务往国内发展,这几年我们也使用了很多国内的公有云厂商,所以在云运维方面也积累了一些经验,从传统的物理机到公有云运维,我个人认为最大的问题就是你能不能用公有云的思路去思考去实现一个安全稳定、可伸缩和经济的业务构架,云运维是有别与传统运维的,比如说了解公有云的都知道安全组的概念,安全组跟防火墙功能很相似,那我的机器是要设置iptables还是要设置安全组呢?设置了安全组还要设置iptables吗?他们有什么区别?我相信很多人对这些有些困惑,以我个人经验(因为我接触亚马逊后就再也没有给云主机配置过iptables了),我给的建议是如果可以用安全组就不用iptables来管理机器,因为它们有本质的区别:
第一,安全组是在宿主上面的拦截,iptables是在系统层面的拦截,也就是说如果有人想攻击你,你采用的是安全组方式,这个攻击包根本就到不了你机器上。
第二,配置iptables是项复杂的工程,如果稍有不慎,后果是毁灭性的,我猜测有过2年运维经验小伙伴应该有把自己关在主机外面的经历,如果采用安全组这方面是可控的,即使有问题,你基本上也可以快速恢复。
第三,iptables是在每台服务器上写大量的重复规则,而且不可以分层去管理这些规则,安全组是按层来管理机器的安全配置,只需调整你需要改动的部分就可以实现批量去管理机器。
ok,概念就介绍到这里,接下来我们要上干货了,因为给几百条机器配置不同的安全组也是个大工程,如果你在控制台去操作,我想你会疯掉,所以这就说到如何去管理和操作这些安全组了,因为公有云都有自己的API接口,所以调用他们的API来实现一些自动化操作事非常方便的,今天我就分享下如何批量给大量机器添加和移除安全组,脚本本身是在qcloudcli的基础上封装了一层,脚本如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import subprocess
import json
import sys
import argparse
def R(s):
return "%s[31;2m%s%s[0m"%(chr(27), s, chr(27))
def get_present_sgid(vmid):
descmd = '/usr/bin/qcloudcli dfw DescribeSecurityGroups --instanceId ' + vmid.strip()
p = subprocess.Popen(descmd, shell=True, stdout=subprocess.PIPE)
output = p.communicate()[0]
res = json.loads(output)
sgid = []
for d in res['data']:
sid = d['sgId']
sgid.append(str(sid))
return sgid
def make_json(vmid,sgid):
pdata = {}
pdata["instanceId"] = vmid
pdata["sgIds"] = sgid
pjson = json.dumps(pdata)
return pjson
def add_sgid(vmfile,newsid):
fi = open(vmfile)
for v in fi:
v = v.strip()
res = get_present_sgid(v)
print res
res.append(newsid)
pjson = make_json(v,res)
modcmd = 'qcloudcli dfw ModifySecurityGroupsOfInstance --instanceSet ' + "'[" + pjson+ "]'"
p = subprocess.Popen(modcmd, shell=True, stdout=subprocess.PIPE)
output = p.communicate()[0]
print output
def remove_sgid(vmfile,newsid):
fi = open(vmfile)
for v in fi:
v = v.strip()
res = get_present_sgid(v)
res.remove(newsid)
pjson = make_json(v,res)
modcmd = 'qcloudcli dfw ModifySecurityGroupsOfInstance --instanceSet ' + "'[" + pjson+ "]'"
p = subprocess.Popen(modcmd, shell=True, stdout=subprocess.PIPE)
output = p.communicate()[0]
#print output
if __name__ == "__main__":
parser=argparse.ArgumentParser(description='change sgid', usage='%(prog)s [options]')
parser.add_argument('-f','--file', nargs='?', dest='filehost', help='vmidfile')
parser.add_argument('-g','--sgid', nargs='?', dest='sgid', help='sgid')
parser.add_argument('-m','--method', nargs='?', dest='method', help='Methods only support to add or remove')
if len(sys.argv)==1:
parser.print_help()
else:
args=parser.parse_args()
if args.filehost is not None and args.sgid is not None and args.method is not None:
if args.method == 'add':
add_sgid(args.filehost, args.sgid)
elif args.method == 'remove':
remove_sgid(args.filehost, args.sgid)
else:
print R('Methods only support to add or remove')
else:
print R('Error format, please see the usage:')
parser.print_help()
这个脚本支持批量增加和删除某个安全组,-f后面接一个文件,写入实例的id的列表,-g后面是要增加和删除的安全组Id,-m后面支持add 和remove操作,就是增加或删除,脚本整体思路是先找出实例的安全组列表,然后将新的安全组Id在列表中加入或移除,脚本就介绍到这里,欢迎小伙伴们留言交流。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# python
# 云主机
# 虚拟主机
# 使用bandit对目标python代码进行安全函数扫描的案例分析
# Python通过kerberos安全认证操作kafka方式
# 线程安全及Python中的GIL原理分析
# python线程安全及多进程多线程实现方法详解
# 详解python实现线程安全的单例模式
# Python简单实现安全开关文件的两种方式
# python smtplib模块发送SSL/TLS安全邮件实例
# Python操作sqlite3快速、安全插入数据(防注入)的实例
# 详细总结Python常见的安全问题
# 是在
# 亚马逊
# 国内
# 这几年
# 移除
# 自己的
# 的是
# 小伙伴
# 他们的
# 我想
# 我就
# 是个
# 都有
# 你会
# 基础上
# 你在
# 可以用
# 不可以
# 腾讯
# 只需
相关文章:
建站之星云端配置指南:模板选择与SEO优化一键生成
如何破解联通资金短缺导致的基站建设难题?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
建站之星备案流程有哪些注意事项?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
如何在Windows 2008云服务器安全搭建网站?
建站之星安装后界面空白如何解决?
如何设置并定期更换建站之星安全管理员密码?
建站之星微信建站一键生成小程序+多端营销系统
建站之星免费版是否永久可用?
如何通过IIS搭建网站并配置访问权限?
平台云上自助建站如何快速打造专业网站?
如何在万网主机上快速搭建网站?
,有什么在线背英语单词效率比较高的网站?
如何安全更换建站之星模板并保留数据?
javascript基本数据类型及类型检测常用方法小结
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何用花生壳三步快速搭建专属网站?
Android自定义控件实现温度旋转按钮效果
安徽网站建设与外贸建站服务专业定制方案
网站制作话术技巧,网站推广做的好怎么话术?
如何在阿里云服务器自主搭建网站?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
哈尔滨网站建设策划,哈尔滨电工证查询网站?
建站主机是否等同于虚拟主机?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
建站之星后台密码遗忘如何找回?
七夕网站制作视频,七夕大促活动怎么报名?
h5在线制作网站电脑版下载,h5网页制作软件?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
如何在腾讯云服务器上快速搭建个人网站?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
临沂网站制作企业,临沂第三中学官方网站?
北京企业网站设计制作公司,北京铁路集团官方网站?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
如何通过PHP快速构建高效问答网站功能?
如何在宝塔面板中创建新站点?
SQL查询语句优化的实用方法总结
定制建站价位费用解析与套餐推荐全攻略
建站主机是否属于云主机类型?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
广东企业建站网站优化与SEO营销核心策略指南
黑客入侵网站服务器的常见手法有哪些?
如何在七牛云存储上搭建网站并设置自定义域名?
*请认真填写需求信息,我们会在24小时内与您取得联系。