AWS DevOps 通过Config自动审计Security Group配置——上篇

这个实验的一个场景是,运维同事设计安全组Security Group的时候,打开了除了HTTP和HTTPS的入口访问权限。其他协议或端口如果打开,除了审计不通过的同时,会自动触发一个函数将它修改成我们定义好的权限。(如果你了解一些Lambda就会非常清楚这个逻辑了)

逻辑是:

修改,添加或已有的Security —— 触发Config的审计—— 触发Lambda来修改正确的规则(这个实验是自定义rule,AWS Config提供了90几个rule可以满足大部分场景的需求)

先决条件:

  1. 了解AWS Lambda
  2. 了解IAM role、Policy等
  3. 了解VPC和Security Group

Task1:创建一个名字为:AwsConfigLambdaEc2SecuritygroupRole 的角色:

绑定名为awsconfig_lambda_ec2_security_group_role_policy 的Policy如下(直接copy这个JSON就好):

主要是允许Lambda函数创建和编写安全组Security Group event到LogStream。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "config:PutEvaluations",
                "ec2:DescribeSecurityGroups",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Condition": {
                "StringNotEquals": {
                    "ec2:InstanceType": [
                        "t2.micro"
                    ]
                }
            },
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Effect": "Deny"
        },
        {
            "Action": [
                "ec2:*Spot*"
            ],
            "Resource": "*",
            "Effect": "Deny"
        }
    ]
}

Task2:创建一个S3Access和默认Config的Policy的config role:AWS config role.

这里已经创建好了,所以创建步骤略过,部分截图。
AWS DevOps 通过Config自动审计Security Group配置——上篇

——————

AWS DevOps 通过Config自动审计Security Group配置——上篇

——————

AWS DevOps 通过Config自动审计Security Group配置——上篇

——————

附件完成后,我们会看到AwsConfigRole包括:
——————
AWS DevOps 通过Config自动审计Security Group配置——上篇

Task3:通过AWS Config监控安全组的规则

——————
AWS DevOps 通过Config自动审计Security Group配置——上篇
——————
AWS DevOps 通过Config自动审计Security Group配置——上篇
——————
AWS DevOps 通过Config自动审计Security Group配置——上篇
AWS Config rules 定义了很多默认的规则目前94个rule,可以满足大多数场景。我们自定义,将这一步skip掉。
AWS DevOps 通过Config自动审计Security Group配置——上篇
——————
AWS DevOps 通过Config自动审计Security Group配置——上篇
——————
AWS DevOps 通过Config自动审计Security Group配置——上篇
——————

Task4:修改EC2的安全组Security Group

不要修改default VPC的SG,找一个测试Lab VPC或自定义的一个,选择该SG。
AWS DevOps 通过Config自动审计Security Group配置——上篇
添加HTTP,HTTPS,SMTPS,IMAP等协议(不要删除默认的那条rule),inbound source 为anywhere:

AWS DevOps 通过Config自动审计Security Group配置——上篇

写不下了,再写下篇吧。

猜你喜欢

转载自blog.51cto.com/13746986/2519311
AWS