使用 Scout2 对 AWS 进行安全扫描

Scout2 介绍

  1. Scout2 是一款用于 AWS 环境的安全审计工具。有了 Scout2,不必人工浏览所有网页,就可以获取到 AWS 环境的配置数据;它甚至还能生成一份攻击面报告。 Scout2 带有预配置的规则,并且很容易扩展以支持更多的服务和测试用例。因为 Scout2 仅通过 AWS 的 API 去获取配置信息和发现安全隐患,所以无需提交 AWS 安全漏洞和渗透测试申请表。
  2. 有时候我们不经意间会将我们的某些端口或服务暴露给全世界,这样做的危害是什么呢?
    1.暴露的数据:简单地让 S3 桶对世界开放可能对客户造成极大的破坏,因为他们的数据暴露在外并对公司的声誉造成不可挽回的损害。
    2.暴露服务:安全组上的开放端口可能会使 MySQL 或 MongoDB 处于打开状态并且数据处于打开状态。
    3.帐户泄露:AWS root或 IAM 用户的泄露凭据可能导致帐户完全失去控制权或大额帐单。
  3. Scout2 是 用Python编写的,运行版本为 2.7、3.3到3.6,需要AWS python库boto3。 Scout2 根据GPL v2.0获得许可,可免费获得,并且拥有一组活跃的贡献者。目前,Scout2 会收集有关以下关键AWS服务的信息,并在本地生成的HTML报告中显示问题,并使用仪表板深入了解详细信息:
  • EC2
  • IAM
  • RDS
  • S3
  • CloudTrail
  • CloudFormation
  • CloudWatch
  • Route53
  • SES
  • SQS
  • VPC
  • SNS
  • Redshift
  • Elasticache
  • EMR

Scout2 安装

安装很简单,通过pip安装:

$ pip install awsscout2

或者通过git克隆源码:

$ git clone https://github.com/nccgroup/Scout2
$ cd Scout2
$ pip install -r requirements.txt
$ python setup.py install

以通过键入 Scout2 -help 来查看帮助

image.png

安装 Scout2 之后,需要确保拥有一些AWS凭证(密钥/令牌),这些凭据允许对 Scout2 将要检查的 AWS 服务进行只读访问。 需要将此访问策略授予将运行 Scout2 的用户或角色。 NCCGroup 提供了一个很好的默认策略,称为 Scout2-Default IAM 策略。 此策略提供必要的默认访问权限,可以将其剪切并粘贴到您的 AWS 账户中的策略中。 另一种选择是将名为 ReadOnlyAccess 的默认 AWS 托管策略分配给运行Scout2 的用户或角色。 此策略提供了比运行 Scout2 所需的更多只读访问权限,但它不要求为Scout2创建新策略。

AWS 创建必要权限的用户

  1. 在账号下创建一个名为 auditor 的用户,并将访问类型勾选为 编程访问
    image.png
  2. 为这个用户创建一个 group,并赋予 SecurityAudit 的策略
    image.png
  3. review 之后创建,并将 csv 文件下载下来


    image.png

使用 Scout2

  1. 可以直接使用 csv 进行扫描
 Scout2 --csv-credentials credentials-2.csv
  1. 也可以使用 option 选项:
  • profile:使用特定AWS配置文件的凭据
  • regions:评估特定区域而不是所有区域的默认区域
  • mfa-serial:允许使用需要MFA的凭据
  • no-browser:完成运行后跳过打开浏览器
  • report-dir:生成Scout2 HTML报告的路径
    例如:
    scout2 ––profile mytestprofile ––regions us-west-2 ––no-browser
    这将使用存储在 “mytestprofile” 中的 AWS 凭据运行 Scout2,并仅针对 “us-west-2” 中的资源运行它。 完成后,它不会在浏览器中打开报告。
  1. 运行完之后如果没有指定不打开包括可能会出现下面的图示


    image.png
  2. 可以看到生成的报告文件如下图所示:


    image.png
  3. 在浏览器中输入 report.html 的文件路径就可以很方便的查看。下图显示的是 Scout2 的仪表板,它总结了 Scout2 对其正在评估的服务的检测情况。

    image.png

    仪表板根据评估状况显示不同的颜色,可以快速查看问题。 该报告采用颜色编码,绿色=good,黄色=warning,红色=bad。 它显示了为服务评估的资源数量,应用的规则以及结果和检查的完成情况。
    然后针对不同的种类,我们就可以再次点进去去查看具体的情况。

    Scout2 的输出易于查看和遍历,因为每个页面都使用颜色来突出显示问题,而大多数页面都是可以深入查看的仪表板。 在分析帐户时,我们可以深入了解任何关键或警告问题,可以提前了解问题并开始降低相关风险。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,641评论 25 708
  • 我痛苦地写下这个标题后,再也不忍心去看。扭头转向窗外,阴沉沉的空气凝结着悲伤。 开学一周来,上海某中学的三连跳,合...
    捞个一阅读 623评论 6 11
  • 三张大牌,由此可见,该男生对问卜者还是很上心,缘分很深,必将会展开一段感情的攻势 缘分似乎是冥冥注定一样,,就这样...
    意守两眉阅读 336评论 0 0
  • 坐在大一写过社团期望的位置,我有点焦虑,也很平和的一步步翻找着有用的信息,掐指一算,其实日子不难熬,我每天安心学习...
    绿豆冰沙老干妈阅读 294评论 0 0