glusterfs 存在安全问题?

glusterfs 存在安全问题?

我不太擅长使用 gluster,因为我昨天才开始使用它。

我有 2 台服务器。两台都运行 glusterfs-servers。

从服务器 1:我运行sudo glusterfs peer probe server2它,它被添加到集群中。没有任何问题。我没有做任何事情来告诉服务器 2 允许服务器 1 将它添加到集群中。对我来说没有意义。

这让我很困惑。我的意思是,如果有人将我的 glusterfs 服务器添加到他们的集群中会怎么样。似乎根本没有安全性。这太疯狂了,我不明白。

答案1

TL,DR:将服务器添加到集群(称为池)是安全的,因为第三方无法自行加入现有集群,需要从内部邀请。但请确保限制哪些客户端可以安装卷并加密连接。


没有任何问题。我没有做任何事情来告诉 server2 允许 server1 将其添加到集群中。

我自己有这个问题所以我去看一下文档。

创建新集群时,您首先从一台服务器开始,然后使用 添加其他服务器gluster peer probe OTHER_SERVER。由于您添加的是新的、未初始化的 glusterfs 服务器,因此并不严格要求额外的安全性。(除非如果您让新安装的、未初始化的 gluster 以公共访问方式运行 - 那么您将有麻烦)。

那么如何防止攻击者加入你现有的集群呢?关键是下面这段话:

一旦建立了此池,只有受信任的成员才可以将新服务器探测到池中。新服务器无法探测池,必须从池中进行探测。(来源

正如文档所述,第三方/对手不能加入您的集群,需要从内部邀请。

请注意,客户端不需要在池中即可安装卷。

Gluster 还提供其他安全机制来限制数据访问并减轻相关攻击:

  • 根据音量允许/拒绝 IP,gluster volume set VOL_NAME auth.allow IP1,IP2
  • TLS - 传输加密以及使用证书中的身份而不是 IP 地址进行授权(默认情况下未启用,超出了本答案的范围,请参阅关联

因此,如果这些卷不打算公开:

  • 在服务器和服务器客户端之间使用加密和经过验证的链接(Gluster TLS/IPSec/VPN)
  • 防火墙设置不允许任何外部连接
  • 并使用auth.allowauth.ssl-allow对于 TLS)对音量进行更精细的控制。

答案2

您的 Gluster 服务器应独立于您的基础设施部分,并由防火墙隔离。它们不应暴露在公共互联网上。

答案3

我同意这是疯狂的:安全性是 glusterfs 的附加功能。正如 @ceejayoz 指出的那样,glusterfs 的设计只适用于物理安全且隔离的网络。

幸运的是,glusterfs 添加了对 ssl 的支持,但遗憾的是,它几乎没有文档记录。使用 ssl 可能会让事情变得更好,但由于没有文档记录,因此很难确定。文档记录在这个博客遗憾的是,它仅给出了一系列步骤。

答案4

在我看来,有以下几种方法可以解决这个问题:

  1. firewalld 或 iptables
  2. SELinux
  3. SSL/TLS

相关内容