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混合云战略:是什么、为什么,如何构建?



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

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