再讲一下背景, 这个实验的一个场景是,运维同事设计安全组Security Group的时候,打开了除了HTTP和HTTPS的入口访问权限。其他协议或端口如果打开,除了审计不通过的同时,会自动触发一个函数将它修改成我们定义好的权限。(如果你了解一些Lambda就会非常清楚这个逻辑了)
逻辑是:
修改,添加或已有的Security —— 触发Config的审计—— 触发Lambda来修改正确的规则(这个实验是自定义rule,AWS Config提供了90几个rule可以满足大部分场景的需求)
AY x RWS DevOps 通过Config自动审计Security Group配置——下篇
Task5: 创建/ t B f ) l [ m和运行AWS ConfiP $ O Z A rg Rule
创建Lambda函数:
Handler改为:awsconfig_lambda_security_group.lambda_handler
Timeout改为:1min
函数分析:
整体的意思是,在创建或修改) G vSecurity Group的时候会触发API的操作,AWS Config 会通过Lambda函数中的参h $ [ / O 0 j数审计Security Group的规则是否合O + Z规,红y E 4 9 $ x ] g k框的是我定义了允许的参数只有80和443,也就是前面我添加的SMTPS和IMAPS这两个协议的端口是不被允许的,这个函数会把他们remove掉,保留允许的HTTP和HTTPS。
好,继续。copy这个Lambda的ARN 并保存好:
格式为:arn:aws:O L D s x U glambda:XXXX:function:awscont i h @ 9 + K M 1fig_lambda_security_group
回到AWS Config这儿,copy Lambda的ARN。
在Trigger中添加一些参数如下:
保存规则,会评估这w P p 1 [个规( $ l ` 8 Z p 5 5则一会儿:
完成后变绿:
T# - t ) Hask6:H 6 W N G ; A w验证规则是否生效
回到我们之前添加的Security Group中,W / 2 u . m &还记4 + a t X r Z得我们添加了HTTP、HTTPS、SMTPS、IMAP。如果成功,应该只保留了HTTP和HTTPS的出站规则。
如下图:成A ? i j功
Task7:通过CloudWatch logs找到它是如何操作的
可以发现993和465端口在被移除了。
发表评论