为了账号安全,请及时绑定邮箱和手机立即绑定

使用Prowler工具检查AWS云安全的最佳实践

在当今的世界里,保护你的云基础设施已不再仅仅是优先考虑的问题,而是必要的。随着越来越多的企业使用AWS来运行他们的应用程序和存储数据,确保这些系统免受黑客和其他风险的侵害尤为重要。AWS提供了许多工具来帮助进行安全设置,但正确配置所有内容可能会有些棘手。这时,Prowler 就派上用场了,它能帮助你检查AWS设置的安全性。

在这篇博客中,我们将解释Prowler是如何工作的,为什么AWS安全很重要,以及如何利用这个工具来确保你的AWS环境的安全。

为为什么 AWS 安全性至关重要

当您使用 AWS 时,您和 AWS 都有责任保持安全。AWS 负责云的安全,比如管理数据中心和硬件等。但您则需要确保云内部的安全,比如管理用户访问、设置服务器和保护数据。

如果 AWS 账户中的某些设置不正确,比如敏感数据未得到妥善保护,可能引发数据泄露或其他安全问题。定期检查设置,确保遵循最佳安全实践,有助于防止这些问题。这正是 Prowler 帮助您增强 AWS 安全的地方

Prowler是什么

Prowler 是一个免费工具,可帮助您检查 AWS 账户存在的安全问题。它会检查您的 AWS 配置并查找可能成为攻击目标的任何漏洞。

Prowler 查看您的 AWS 账户的不同部分,例如:

  • 网络(VPC): 您的网络配置是否安全,访问点的限制是否已经到位?
  • 虚拟机(EC2): 您的服务器安全吗?
  • 安全组: 您的安全组规则是否正确配置,以限制访问?
  • 用户权限(IAM): 用户和角色的权限设置是否合适?
  • 存储(S3): 您的文件是否安全,谁有权访问它们?
  • 日志记录(CloudTrail): 您的AWS账户中的所有活动是否被记录和监控?
  • 数据库(RDS): 您的数据是否加密并安全,以防未经授权的访问?
  • 备份(EBS/Snapshot): 您的备份是否安全并定期测试?
  • 多因素认证(MFA): 是否已为所有用户开启了多因素认证,以增加一层安全保护?

它还会告诉你如何解决它发现的任何问题。

Prowler的主要特点
1. CIS 测试 (CIS基准测试)

CIS基准 是一组规则,解释了如何使 AWS 环境保持安全。Prowler 会检查您的 AWS 设置是否符合这些规则,确保没有不安全的配置。

2. 扫描众多 AWS 服务

AWS有很多服务(比如EC2、S3和IAM),每个服务都需要进行安全配置。Prowler扫描这些服务来查找安全问题,例如:

  1. 允许互联网上的任何人连接的EC2实例。
  2. 本应是私有的S3存储桶却被设置为公开可访问的。
  3. 没有加密,敏感数据无法得到保护。
3. 有助于遵循规则。

如果你的公司需要遵循某些安全规则(如GDPR或HIPAA),Prowler可以帮助确保你的AWS环境符合这些安全要求,比如通过检查。比如说,它会验证数据是否已经加密,或者你是否正在记录账户中的所有变更和操作。

4. 可定制

Prowler 自带许多内置检查,但如果你有特定需求,也可以根据需要自定义检查。这使得它对于有独特安全需求的公司来说非常灵活实用。

5.\ 调查报告详情

扫描完成后,Prowler 生成一份报告,列出所有发现的安全问题。报告还会建议如何解决这些问题。这有助于技术团队和管理层了解如何提升安全性。

如何安装并配置Prowler

首先,您需要将Prowler安装到您的计算机或系统上,比如通过下载和安装程序。Prowler是一个命令行工具,这意味着您需要在终端或命令提示符中运行它。

1.安装Prowler:

  1. 打开您计算机上的终端。如果您用的是 Windows,可以使用 Git Bash 或 PowerShell。如果是 macOS 或 Linux,就用默认的终端。我使用的是 Ubuntu
  2. 在终端中来下载 Prowler,运行以下命令:

在命令行中输入以下命令:git clone https://github.com/prowler-cloud/prowler。克隆Prowler的GitHub仓库。

3. 这条命令会将GitHub上的代码仓库克隆一份到你本地的机器上。

4。运行以下命令安装prowler

    cd prowler  # 切换到prowler目录
    apt install python3-poetry  # 安装python3-poetry
    poetry shell  # 进入poetry环境
    poetry install  # 安装依赖
    python prowler.py -v  # 使用-v参数运行prowler.py脚本

5. Prowler现在已经搞定了,可以运行了。

2. 设置您的 AWS 凭据

为了让Prowler扫描您的AWS环境,它需要访问您的AWS账户的权限。这通过AWS IAM凭证(凭证)来完成。在运行Prowler之前,请确保您已经在本地机器上安装了AWS CLI工具。如果没有安装AWS CLI,请按照以下命令进行安装。

1. 安装 aws-cli 工具
以超级用户权限登录  
sudo su  
更新软件包列表  
apt update   
下载 AWS CLI 安装包  
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"  
安装 unzip 工具  
sudo apt-get install unzip -y  
解压 AWS CLI 安装包  
unzip awscliv2.zip  
安装 AWS CLI  
sudo ./aws/install  
检查 AWS CLI 版本  
aws --version

2. 配置 AWS 服务

1. 创建一个IAM账号

点一下iam

2. 点击 '用户',然后新建用户

3. 给用户起个名字,选中允许用户访问管理控制台,然后点击我要一个IAM用户选项卡

5\.选择一个密码,然后点击下一步

6. 将策略直接附加到您的 IAM 用户账户上 → 然后点击下一步

注意→我现在先给你管理员权限,但给你的工作空间添加策略时要小心一点。

查看并创建账户

7. 点一下 创建用户按钮

8. 下载密码文件,如果是自动生成的则无需选择,如果不是则你可以选择。

  1. 现在点击你的Prowler IAM用户的“安全凭证选项”→

  1. 向下滚动页面以访问并创建密钥.

11.选择“AWS CLI”这个选项。

12. 点击下一步并下载你的 csv 文件(含用户名和密码信息)

13. 在终端输入 aws configure

14. 现在请提供您的访问密钥和密钥,然后打开您的 CSV 文件,将访问密钥和密钥粘贴进去,其他选项保持默认。

15. 现在你就可以从终端配置 AWS 服务了。

16. 一旦您正确设置了 AWS 凭证,Prowler 就能扫描您的 AWS 环境来查找安全隐患。

3. 来个基本的安全检查

现在你已经安装了Prowler,并配置好AWS凭证,可以开始你的第一次安全扫描了。这个基础扫描会检查你的AWS环境是否符合CIS AWS Foundations Benchmark,这是一个安全实践标准的集合。

要查看 prowler 的结果,请输入以下命令

    prowler监控板

要在你的终端里输入以下命令来启动基础扫描:

    prowler AWS #如果你在用 AWS

上面命令的输出

这个命令的作用如下:

  • 它会运行所有针对不同 AWS 服务(如 EC2、S3、IAM 等)的内置检查。
  • Prowler 会直接在您的终端中列出扫描结果。它会告诉你哪些检查通过了,哪些失败了。

每次检查失败时,Prowler会告诉你问题所在(例如“S3桶是公开可访问的”),以及如何修复这个问题(关闭公共访问)。

查看Prowler支持的服务有多少

运行prowler命令列出AWS服务

4. 重点关注特定服务

有时,你可能只想检查特定的AWS服务,比如S3存储或EC2实例,而不是进行全面扫描。例如,你只想检查你的S3存储或EC2实例的安全情况,而不需要扫描所有东西。

要这样做,您可以运行更精确的扫描。例如,如果你想检查 S3 存储桶,可以使用如下命令:

    ./prowler -g s3 (这将运行prowler工具并选择S3作为目标)

此命令仅检查S3桶并确保它们的安全设置。如果您想检查EC2实例的话,可以试试这样的命令。

    prowler aws --service s3  # 该命令用于检查S3服务的安全性合规性

这在你试图解决特定服务的问题时非常有用,当你希望定期检查设置中的特定部分时也是如此。

第五步:生成详细的报告内容

Prowler扫描完您的AWS环境后,您可能希望将结果保存成报告。Prowler允许您以不同的格式导出结果,如HTML、CSV或JSON等格式。

例如,如果你想有一个整洁、易于阅读的HTML报告并与你的团队分享,可以运行下面的命令:

执行prowler命令并输出为prowler_report,格式为html。

这将运行扫描并将输出保存到当前目录中的名为 prowler_report.html 的文件。

prowler AWS — S3 服务 — 输出 s3_report 文件 — 输出格式为 HTML

这个命令将检查与S3相关的设置,并将报告保存为s3_report.html

这个命令会生成一个包含所有扫描结果的HTML文件,包括哪些检查通过了以及哪些失败了,以及如何解决这些问题的建议。这样就可以轻松查看和分享,在网络浏览器中。

还有其他格式,如适合在电子表格中使用的 CSV 格式和 JSON 格式也都有提供,具体取决于你打算如何使用这些数据。

使用Prowler实现AWS的安全的最佳做法

现在你已经知道如何使用Prowler,下面是一些最佳实践,可以帮助你更好地利用Prowler并持续维护你的AWS环境的安全性,而不仅仅是偶尔检查一次。

1. 定期自动进行安全扫描

云安全是一个持续的过程,而不仅仅是做一次的事情。即使你的 AWS 环境今天是安全的,情况会变化,新的资源会被添加,配置会变化,新的风险也会出现。这就是为什么定期扫描 AWS 账户很重要。

你可以设置 Prowler 自动定期运行这些扫描,这样你就不需要记得每周或每月手动运行检查。这样,你就不用再担心每周或每月手动运行检查了。有几种方法可以实现这些扫描的自动化:

  • 使用 AWS Lambda 功能:通过设置 Lambda 函数,您可以使 Prowler 在预定时间(例如每天或每周)自动运行。
  • 将 Prowler 集成到 CI/CD 管道中:如果您使用 CI/CD 管道,可以将 Prowler 集成到您的部署过程中。这样一来,每次您部署新更新或更改 AWS 基础架构时,Prowler 都会检查您的环境。

通过自动扫描,您可以迅速发现潜在的安全风险,在它们成为大问题之前。

2. 定期检查IAM权限:

AWS安全方面最重要的一个方面是管理谁可以访问你的AWS账户以及他们能做什么。AWS身份和访问管理(IAM)控制这些权限,定期检查权限设置是否正确至关重要。

随着时间的流逝,许多用户可能会积累一些不再需要的权限,或者新用户可能会被赋予过于广泛的访问。这会增加意外或恶意操作的风险。

Prowler 帮助你定期检查和审核 IAM 配置

  • 用户或角色权限太多。
  • 是否存在任何应删除的未使用账户或角色?
  • 多因素认证(MFA)功能 已启用以增加额外的安全保障。

养成定期检查IAM权限并清理不再使用或多余的权限的习惯。始终遵循最小权限原则,即仅赋予用户完成工作所需的最小权限。

3. 在所有服务中实施加密

加密可以确保即使有人获得了您的数据的访问权限,您的数据依然受到保护。AWS 可以帮助您加密数据,无论是静止时(比如存储在 S3 或 RDS 数据库中)还是传输时(比如通过互联网传输)。

检查程序通过执行检查来确保数据是否被正确加密。

  • 你的 S3 存储桶加密了吗?
  • 你的 RDS 数据库有没有用加密来保护存储的数据?
  • 数据传输过程中有没有用到加密,比如从你的网站传到数据库的时候?

确保所有敏感数据都进行强制加密,并定期使用Prowler验证这些设置是否仍然符合要求。

4. 加强安全组的设置

AWS 安全组(Security Groups) 就像防火墙,保护你的 EC2 实例的安全。它们控制谁能访问你的服务器,并规定允许进出的流量类型。确保这些设置严格,以防止未经授权的访问非常重要。

一个常见的错误是将安全组设置得太开放。例如,允许从互联网上的任何地方进行SSH访问存在风险。Prowler 可以帮助你识别:

  • 过于宽松的安全组策略,比如允许任何人连接到您的服务器。
  • 不必要的开放端口,例如可能会暴露您的这些 EC2 实例,可能暴露。

在运行完Prowler扫描后,请检查所有被标记的安全组,并仅允许必要的访问权限。这将有助于降低受到外部攻击的风险。

总之:

今天保持你的 AWS 环境安全真的很重要。使用像 Prowler 这样的工具可以帮助你定期检查和提高安全性,这样你的数据就能保持安全并符合必要的要求。记住,安全不仅仅是一次性的任务,而是一项需要持续进行的工作。通过遵循良好的实践并更频繁地检查你的配置,你可以保护你的云系统免受风险的侵害,并确保你的业务运行顺畅。保持警惕,确保安全!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消