专为数据设计的防火墙:MinIO 企业对象存储防火墙

虽然市面上有很多防火墙,但它们通常分为两类:基于 IP 的防火墙和应用防火墙。基于 IP 的防火墙在第 3 层和第 4 层运行,它们简单、轻量级且相当原始。它们根据 IP 地址和端口号来决定允许或阻止网络流量。另一方面,应用防火墙在第 7 层运行,主要处理 Web 流量,根据 Web 应用中通信的内容来决定允许或阻止网络流量。
它们各司其职,最好的防火墙也能很好地完成工作。
无论是基于 IP 的防火墙还是应用防火墙,都不是为数据而设计的。这就是我们创建 MinIO 企业版对象存储防火墙的原因——因为在现代企业中,数据是必须保护的,而 S3 aware 防火墙并不存在。
MinIO 企业版对象存储防火墙专门设计用于与使用 MinIO 对象存储及其 API 端点的应用程序配合使用。企业版防火墙轻量级、强大、灵活且可扩展。它直接从 MinIO 企业版控制台管理,支持
- 通过 Rx/Tx 和请求速率限制带宽
- 跨 MinIO 服务器负载均衡
- 用于高可用性的存活端口监控
- 支持在单独端口上进行负载均衡器的健康检查
- 支持 S3、SFTP 和控制台端点
- 自动 TLS,支持 Let's Encrypt
我们建议大家使用 MinIO 企业版控制台进行配置。它允许用户为一个或所有 MinIO 实例配置任何规则。如果需要,企业版控制台甚至允许上传 YAML 文件。
您可以使用企业版控制台配置 TLS 证书、S3、控制台、SFTP 和健康检查端口,以及 MinIO 对象存储的端点等等。
MinIO 对象存储防火墙规则可以配置为应用于所有桶或特定对象前缀。可以配置规则来允许或拒绝对桶的访问,限制带宽和请求速率限制。请记住,MinIO 对象存储防火墙是 S3 API aware 的,因此在规则创建方面具有非凡的灵活性。人们甚至可以收紧 IAM 策略,但不能放松,因为它是在数据层运行的。这包括从 DELETE、GET 调用次数、数量、频率、匿名请求的处理方式等等。
桶或前缀特定的规则优先于通配符规则“*”。如果未为特定 API 指定桶特定的规则,则应用通配符规则(如果已指定)。换句话说,规则的评估顺序是从最具体的前缀到最不具体的前缀。
让我们举几个例子,以便更好地理解这一点。
在下面的示例中,对于桶 `mybucket1` 中的对象,下载和上传速率限制为 `10MB/s`,对 `s3.PutObject` 的请求限制为每秒 `10` 次请求。
以下规则限制 `mybucket1` 以及所有其他桶的 `s3.GetObject` 请求为每秒 `100` 次请求。这是因为 `bucket: "mybucket*"` 中没有针对 `s3.GetObject` 的特定规则,所以通配符规则“*”也适用于 `mybucket1`。
但是 `downloadRatePerSec` 和 `uploadRatePerSec` 不适用于 `mybucket1`,因为上面的规则优先级更高,因为它更具体。
MinIO 对象存储防火墙规则禁止对 `mybucket` 桶中 `myprefix` 前缀的所有请求。
MinIO 对象存储防火墙规则将 `mybucket` 桶的上传和下载带宽限制为 4MiB。
最后,我们有 `anonymous` 规则。
任何与任何前缀不匹配的规则都将默认使用 `anonymous` 规则。但是,也可以像下面这样为所有(或特定)桶覆盖此规则。
小测验!!!
我知道,我也讨厌高中时的这些测验,但我保证这次非常简单,否则就是我没解释清楚 😀。
如果您有两个桶,`mybucket809` 和 `yourbucket901`,使用下面的规则,`s3.ListObjectsV2` API 调用的限制速率是多少?请注意,企业版防火墙规则中未指定的 API 默认允许。
高亮显示以下内容以查看答案
对于 `mybucket809`,它是每秒 100 次请求,而对于 `yourbucket901`,它是每秒 10 次请求。您的答案正确吗?
最后的想法
如您所见,这是一个简单的测验,因为我对规则的解释非常详细 😁。但是说真的,请仔细阅读规则,确保您充分理解它们以及它们的优先级。
MinIO 企业版对象存储防火墙的美妙之处在于,它不仅非常易于设置和运行(遵循我们对任何产品的理念),而且规则也十分简单。您再也不需要面对复杂的 IPtables 策略而不知所措了。企业版防火墙通过关注对象存储及其 API 调用所需的规则,使其变得简单。它经过优化,确保不会出现延迟或意外规则阻止访问您的 MinIO 对象存储。此外,企业版防火墙得到我们 SUBNET 团队的全面支持,我们可以帮助您正确地架构企业版防火墙,使其与 MinIO 对象存储配合使用,并解决任何未来问题。
您还在等什么?如果您对 MinIO 企业版对象存储防火墙有任何疑问,请随时联系我们 Slack 或 hello@min.io!