nuvola(小写 n)是一款工具,用于转储 AWS 环境配置和服务,并利用预定义、可扩展的自定义规则(通过简单 Yaml 语法创建)执行自动和手动安全分析。
该项目背后的核心理念是为云平台创建一个抽象的数字化孪生。举个更具体的例子:nuvola 借鉴了用于 Active Directory 分析的 BloodHound 特性,但应用于云环境(目前仅限 AWS)。
使用图数据库还增加了发现不同创新攻击路径的可能性,并可将其用作离线、集中且轻量级的数字化孪生。
docker-composeawscli 配合使用的 AWS 账户,并对云资源具有完全访问权限,最好处于 ReadOnly 模式(arn:aws:iam::aws:policy/ReadOnlyAccess 策略即可)git clone --depth=1 https://github.com/primait/nuvola.git; cd nuvola
.env 文件,设置数据库用户名/密码/URLcp .env_example .env;
如果设备内存较低,可能需要编辑分配给 Neo4j 的内存大小。
make start-containers
make build
./nuvola dump --aws-profile default_RO --output-dir ~/DumpDumpFolder --output-format zip
./nuvola assess --import ~/DumpDumpFolder/nuvola-default_RO_20220901.zip
./nuvola assess

如果使用 .env_example,NEO4J_server_memory_* 的 Neo4j 内存设置可能过大,导致 Docker 容器因宿主机内存不足而崩溃。删除 NEO4J_server_memory_* 行将强制 Neo4j 根据可用系统资源计算这些值(参考)。
要开始使用 nuvola 及其数据库模式,请查看 nuvola Wiki。
不会向 Prima Assicurazioni 发送或共享任何数据。
nuvola 利用图论揭示云环境中可能的攻击路径和安全配置错误。
本程序是自由软件:你可以根据自由软件基金会发布的 GNU 通用公共许可证(许可证第 3 版,或(根据你的选择)任何更高版本)重新分发和/或修改本程序。
分发本程序的目的是希望它有用,但不提供任何担保;甚至没有隐含的适销性或特定用途的适用性担保。详情请参阅 GNU 通用公共许可证。
你应该已经随本仓库和程序收到了一份 GNU 通用公共许可证副本。如果没有,请访问 http://www.gnu.org/licenses/。