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

A Firewall Designed for Data: The MinIO Enterprise Object Store Firewall

虽然市面上有很多防火墙,但它们通常分为两类:基于 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 企业版对象存储防火墙有任何疑问,请随时联系我们 Slackhello@min.io