Redian新闻
>
Inspector安全与自动生成报表实战

Inspector安全与自动生成报表实战

科技

新钛云服已为您服务1480





Amazon Inspector 是一项漏洞管理服务,可持续扫描AWS漏洞的工作负载。Amazon Inspector自动发现并扫描驻留在 Amazon 弹性容器注册表 (Amazon ECR) 中的 Amazon EC2 实例和容器映像,以查找软件漏洞和意外的网络暴露。

Inspector扫描EC2安全评估漏洞自动推送安全报告(Inspector对接KMS认证和Lambda脚本触发CloudWatch定时任务导出安全报告到S3存储)。


一、角色权限

1、EC2 IAM角色策略配置

新建AmazonSSMRoleForInstancesQuickSetup角色赋予策略权限为iam_eni_policy.jsonCloudWatchAgentServerPolicyAmazonSSMManagedInstanceCoreAmazonSSMPatchAssociation:

iam_eni_policy.json策略

{
   "Version": "2012-10-17",
   "Statement": [
      {
           "Sid": "VisualEditor0",
           "Effect": "Allow",
           "Action": [
               "iam:*",
               "ec2:*"
          ],
           "Resource": "*"
      }
  ]
}


2、EC2 IAM角色赋予权限

EC2实例主机在安全版块IAM角色授权:AmazonSSMRoleForInstancesQuickSetup权限:


二、Inspector配置调式

1、Inspector服务开启EC2扫描

启用Inspector服务,扫描类型只针对EC2


查看按漏洞或按实例展示漏洞信息,扫描结果进行分析统计:


在所有结果查询位置按照资源类型: AWS EC2 Instance进行分类:


报表信息点击Export Findings导出操作:


筛选资源类型为EC2 Instance,选择导出格式为CSVS3存储位置Bucket、KMS密钥信息:

2、KMS密钥信息配置


· 别名名称  S3-ECR

· 别名 ARN  arn:aws:kms:ap-southeast-1:xxx2492xxxxx:alias/S3-ECR

· 密钥使用用户 xx.xxx

· 账户id  xxx2492xxxxx

· aws:SourceArn": "arn:aws:inspector2:ap-southeast-1:xxx2492xxxxx:report/*

· kms配置密钥策略配置


注:请修改策略配置内容中的账户id和密钥使用用户信息

{
   "Version": "2012-10-17",
   "Id": "key-consolepolicy-3",
   "Statement": [
      {
           "Sid": "Enable IAM User Permissions",
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::账户id:root"
          },
           "Action": "kms:*",
           "Resource": "*"
      },
      {
           "Sid": "Allow access for Key Administrators",
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::账户id:user/密钥使用用户"
          },
           "Action": [
               "kms:Create*",
               "kms:Describe*",
               "kms:Enable*",
               "kms:List*",
               "kms:Put*",
               "kms:Update*",
               "kms:Revoke*",
               "kms:Disable*",
               "kms:Get*",
               "kms:Delete*",
               "kms:TagResource",
               "kms:UntagResource",
               "kms:ScheduleKeyDeletion",
               "kms:CancelKeyDeletion"

          ],
           "Resource": "*"
      },
      {
           "Sid": "Allow use of the key",
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::账户id:user/密钥使用用户"
          },
           "Action": [
               "kms:Encrypt",
               "kms:Decrypt",
               "kms:ReEncrypt*",
               "kms:GenerateDataKey*",
               "kms:DescribeKey"
          ],
           "Resource": "*"
      },
      {
           "Sid": "Allow attachment of persistent resources",
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::账户id:user/密钥使用用户"
          },
           "Action": [
               "kms:CreateGrant",
               "kms:ListGrants",
               "kms:RevokeGrant"
          ],
           "Resource": "*",
           "Condition": {
               "Bool": {
                   "kms:GrantIsForAWSResource": "true"
              }
          }
      },
      {
           "Sid": "Allow inspector to perform kms actions",
           "Effect": "Allow",
           "Principal": {
               "Service": "inspector2.amazonaws.com"
          },
           "Action": [
               "kms:Decrypt",
               "kms:GenerateDataKey*"
          ],
           "Resource": "*",
           "Condition": {
               "StringEquals": {
                   "aws:SourceAccount": "账户id"
              },
               "ArnLike": {
                   "aws:SourceArn": "arn:aws:inspector2:ap-southeast-1:账户id:report/*"
              }
          }
      }
  ]
}


密钥类型:对称

密钥使用情况:加密和解密

3、s3存储配置

阻止公开访问:关闭


存储桶策略配置

注:存储bucket名称修改为新建bucket名称, 账户id修改为实际的id

{
   "Version": "2012-10-17",
   "Statement": [
      {
           "Sid": "Allow inspector to perform Put and Delete actions on s3",
           "Effect": "Allow",
           "Principal": {
               "Service": "inspector2.amazonaws.com"
          },
           "Action": [
               "s3:PutObject",
               "s3:PutObjectAcl",
               "s3:AbortMultipartUpload"
          ],
           "Resource": "arn:aws:s3:::存储bucket名称/*",
           "Condition": {
               "StringEquals": {
                   "aws:SourceAccount": "账户id"
              },
               "ArnLike": {
                   "aws:SourceArn": "arn:aws:inspector2:ap-southeast-1:账户id:report/*"
              }
          }
      }
  ]
}


跨源资源共享(CORS):

[
  {
       "AllowedHeaders": [
           "*"
      ],
       "AllowedMethods": [
           "GET",
           "HEAD",
           "PUT",
           "POST",
           "DELETE"

      ],
       "AllowedOrigins": [
           "*"
      ],
       "ExposeHeaders": [
           "ETag"
      ],
       "MaxAgeSeconds": 3000
  }
]

三、使用Lambda函数调用Inspector为自动导报表

1、Lambda名称为Inspector-Findings  ,运行在Python 3.9


权限配置:Inspector-Findings-role-qlz0f062(账户id修改为实际的id)

{
  "Version": "2012-10-17",
  "Statement": [
      {
          "Effect": "Allow",
          "Action": "logs:CreateLogGroup",
          "Resource": "arn:aws:logs:ap-southeast-1:账户id:*"
      },
      {
          "Effect": "Allow",
          "Action": [
              "logs:CreateLogStream",
              "logs:PutLogEvents"
          ],
          "Resource": [
              "arn:aws:logs:ap-southeast-1:账户id:log-group:/aws/lambda/Inspector-Findings:*"
          ]
      },
      {
          "Sid": "VisualEditor0",
          "Effect": "Allow",
          "Action": "inspector2:CreateFindingsReport",
          "Resource": "*"
      }
  ]
}

python3.9代码

注:需要安装python模块打包成zip格式上传到lambda Inspector-Findings,修改bucketname和账户id信息:

import json
import boto3

def lambda_handler(event, context):
   client = boto3.client('inspector2', region_name='ap-southeast-1')
   response = client.create_findings_report(
   filterCriteria= {
           'resourceType': [
              {
                   'comparison': 'EQUALS',
                   'value': 'AWS_EC2_INSTANCE'

              }
          ],
           'findingStatus': [
              {
                   'comparison': 'EQUALS',
                   'value': 'ACTIVE'

              }
          ]
      },
   reportFormat='CSV',
   s3Destination={
       'bucketName': 's3存储bucket',
       'kmsKeyArn': 'arn:aws:kms:ap-southeast-1:账户id:key/a3ecc003-b96e-4865-902b-d69804f32fc0'
  })

   print(response)
   return {
       'statusCode': 200,
       'body': json.dumps(response)
  }

上传python zip文件包到代码源位置:

2、配置Cloudwatch为自定触发生成报表

CloudWatch新建规则触发器:

Cron 5 8 ? * FRI *  计划时间,见图表达式格式:

添加触发器为CloudWatch配置计划任务信息,特定的时间内触发生成安全评估报告

3、Inspector报表CSV格式文件生成到S3

定期生成Inspector安全评估报表,知晓服务器漏洞安全合规性进行分析汇总:

4、脚本任务编排

脚本任务编排有助于任务自动化和漏洞查杀任务处理:
运行命令--命令文档(AWS-RunShellScript)--命令参数shell格式(测试输入的uname -a)

可以根据特定实例EC2或者资源组实例标签进行分类

output查看输出uname -a结果详细信息


安全是重中之重之事,实时预警与加强管控,有效安全防护与定期安全检查。

了解新钛云服

新钛云服荣膺第四届FMCG零售消费品行业CIO年会「年度数字化服务最值得信赖品牌奖」

新钛云服三周岁,公司月营收超600万元,定下百年新钛的发展目标

当IPFS遇见云服务|新钛云服与冰河分布式实验室达成战略协议

新钛云服正式获批工信部ISP/IDC(含互联网资源协作)牌照

深耕专业,矗立鳌头,新钛云服获千万Pre-A轮融资

新钛云服,打造最专业的Cloud MSP+,做企业业务和云之间的桥梁

新钛云服一周年,完成两轮融资,服务五十多家客户

上海某仓储物流电子商务公司混合云解决方案


往期技术干货

Kubernetes扩容到7,500节点的历程

低代码开发,全民开发,淘汰职业程序员!

国内主流公有云VPC使用对比及总结

万字长文:云架构设计原则|附PDF下载

刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

Ceph OSD故障排除|万字经验总结

七个用于Docker和Kubernetes防护的安全工具

运维人的终身成长,从清单管理开始|万字长文!

OpenStack与ZStack深度对比:架构、部署、计算存储与网络、运维监控等

什么是云原生?

IT混合云战略:是什么、为什么,如何构建?



微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
A Huzhou District Offers Free Study Camp to Attract Talent【前瞻Prospect·EP03】线性资本王淮: From Scaling FB to Leading VC Investing美股SPAC|中国投行深度参与SPAC,由瑞士信贷前总裁领导的SPAC将与曾强的鑫根资本合作龙卷风健康快递 151复旦提出ObjectFormer,收录CVPR 2022!图像篡改检测新工作!Ktown租房 | 这是$1000就能租到的房?还有Special Offer!论租房,我只服Tripalink【五一VR/AR资讯汇总】Meta计划于2024年发布4款VR头显,Project Cambria将超过800美元每一个金融民工的妈妈,都值得respect上一个说“丼”不读jǐng的人,已经被我骂哭了演戏[美食] 入坑首败-Eureka ATOM SPECIALITY 65 简单开箱NaturalSpeech模型合成语音在CMOS测试中首次达到真人语音水平Revived Poyang Lake Dam Project Sparks Ecological Concerns(财务报表 - 第一课)猪小明养殖股份有限公司 -- 建立企业财报报表的认知框架信仰与灵魂 信仰的颠覆(二十九)肺结节=肺癌癌前病变?得赶紧做PET-CT?低剂量CT=薄层CT?和老公谈政治会议预告丨人大区域国别论坛第七期:“亚太安全与发展倡议”与东盟的未来Their Secret Sales Weapons? Language Lessons平安银行2022年一季度报表点评 --- 好到不敢置信ESI 集团同 ENSAM 合作,开源其 Inpsector 软件 | Linux 中国「简报」SCS 校友将农业与自动化技术结合以简化食品生产;Sudoc 荣获快速发展公司的世界变革理念奖孔兵叹息足球大环境对球员运动生涯的伤害——足球追梦人孔兵(十一)Hiring | Executive Director (APAVA)云安全中心API应急漏洞扫描实战CPU利用率从10%提升至60%:中型企业云原生成本优化实战指南Ministry Warns New Graduates of Tougher Job Prospects智能汽车信息安全进入“实战”时代,云驰未来助力车厂筑起安全防线Hiring | Director of OperationsBehind China’s Nurse Shortage, a Lack of Respect实时最新:美国移民局再次自动延长工卡540天,此前180天自动延长后继续可以合法工作,最长可达18个月!波士顿科学Expect气道超声穿刺针在中国内地上市女怕嫁错郎【6.10今日折扣】TUI UK旅行套餐3折起!Decorté黛珂/Clarins护肤夏季大促!My Vitamins美枪击案、校园安全与监控:暴露在惩罚风险中的少数族裔学生
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。