6 个版本
0.1.4 | 2024年4月4日 |
---|---|
0.1.3 | 2024年3月27日 |
0.1.1-alpha | 2024年2月18日 |
#315 in 身份验证
37KB
650 行
Clotho
Clotho 是一个最小化的 AWS sigv4 验证库,可以作为您最喜欢的代理的外部授权器使用。Clotho 致力于快速和安全。
为什么你需要 Clotho?
- 安全性。它是一种强制 AWS 账户、区域或服务访问公共端点的方法,这些端点不支持 VPC 端点,或者对于不支持策略的资源。其他解决方案不支持 AWS API。
- 成本。如果你只关心跨账户攻击,你不需要为 AWS 私有端点付费。你可以使用你选择的代理并授权请求。
Clotho 期望一个 config.yaml 文件作为允许列表,允许账户、区域和服务的访问。支持使用 "*" 通配符。
当前的实现使用 Tal Be'ery 描述的技术在离线状态下推导 AWS 账户 ID,该技术可以在 关于 AWS KEY ID 的简要笔记 中找到。目前不支持 ~2019 年之前签发的密钥,但这可能是个好事。
您可以在 docs.rs 找到文档
有关更多信息,请参阅 https://me.costaskou.com/articles/cross-account-access-in-public-cloud/
包含内容
请参阅 integrations 以获取工作示例。
运行示例 cargo run --example examplecli -- --config examples/config.yaml.example --credential AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request
二进制文件夹包含
- 用于 squid 的简单二进制文件 squid.rs
- 一个非常基本的 ICAP 服务器 - 也用于 squid - squid-icap.rs,如果您熟悉 Squid,则建议使用此方法
- 使用 https://github.com/omjadas/hudsucker 的独立拦截代理示例 - clothohud.rs,如果您想要独立解决方案,则建议使用此方法
您应该可以使用cross
来针对其他架构,例如:cross build --target aarch64-unknown-linux-gnu --bin clothohud
成本节约
以下假设下,对VPC端点和Clotho进行背面计算
- 在us-east-1运行
- 所有内容都跨3个可用区运行
- 到达Clotho实例时没有区域内部流量
- 同一区域内访问AWS服务的出站没有费用 - 参考
- Clotho在Graviton上运行,价格是按需收费
流量 | VPCE数量 | VPCE价格 | Clotho成本 | Clotho实例类型 |
---|---|---|---|---|
1 TB | 10 | $226 | $9.072 | t4g x3 |
1 TB | 20 | $433 | $9.072 | t4g x3 |
10 TB | 10 | $316 | $83.16 | c6gd x3 |
10 TB | 20 | $532 | $83.16 | c6gd x3 |
100 TB | 10 | $1216 | $1078.27 | c7gn.2xlarge x3 |
100 TB | 20 | $1432 | $1078.27 | c7gn.2xlarge x3 |
使用Clotho,您只需支付计算费用。垂直扩展计算是为了适应更高的网络带宽突发。VPC端点可以爆发出100 Gbit/s,并持续10 Gbit/s。
t4g实例可以处理高达5 Gbit/s,而c7gn.2xlarge高达50Gbit/s。数据来自ec2instances.info
常见问题解答
- 为什么不选择AWS管理控制台私有访问?
它不支持API访问,只有控制台访问。
依赖项
~21–33MB
~582K SLoC