确保 SSH 安全后 Zimbra 损坏

确保 SSH 安全后 Zimbra 损坏

我有一台安装了 Zimbra 的 CentOS 5.7 服务器,一切运行正常。

我刚刚通过以下方式保护了 SSH:

  • 更改为另一个端口
  • 拒绝 root 登录
  • 启用StrictModes
  • 更改AllowUsers为仅 1 个用户(不是 zimbra)
  • 禁用RSAAuthentication
  • 启用PubkeyAuthentication
  • 禁用PasswordAuthentication
  • 禁用ChallengeResponseAuthentication

以上操作适用于以允许的用户身份通过​​ SSH 连接到服务器以及以 root / sudo 身份进行 su。

但是当我登录我的网络邮件时,我无法再发送/接收任何消息。哎呀!

通过在网上进行一些搜索,看起来 Zimbra 在内部使用 ssh 与其他 Zimbra 模块通信。

有人知道如何解决这个问题吗?

答案1

我无法真正测试这一点,因为我没有可以使用的 Zimbra 测试设置,但我认为将用户添加zimbra到 AllowUsers 并将 ssh 端口设置回 22 应该足够了。

如果您担心在标准端口上暴露 ssh,那么可以配置sshd为侦听您的备用端口以及端口 22,并使用iptables将对端口 22 的访问限制为仅限本地 IP 地址。(就我个人而言,我更喜欢将 ssh 保留在其标准端口上并限制源 IP 地址,但如果您没有固定的源 IP 地址,这可能不切实际。)

如果您担心将zimbra用户暴露给世界,您可能需要研究pam_access限制zimbra用户可以从哪些 IP 地址进行 SSH。

话虽如此,我感觉,根据您列出的症状,您的服务器除了 SSH 访问中断之外,还存在其他问题。Zimbra 不需要 ssh 来执行发送电子邮件等日常事务,而主要是为了管理目的。您可能想要检查日志/var/log/opt/zimbra/log

答案2

我建议您恢复原始设置并一次启用一项功能。

您可以做的主要事情是将 root 登录设置为“无密码”,以防止 root 使用密码登录(同时允许密钥认证,如果需要)。

对于 ssh 端口,您的环境中是否有硬件或外部防火墙?如果有,您可以让 ssh 监听多个端口。例如 22 和 2222。只需将来自世界各地的入站访问限制到您的备用端口即可。

我认为 AllowUsers 指令可能是问题的一部分。您可以通过检查 /var/log/secure 日志来确定这一点。

答案3

无需返回端口 22(我这里使用 1234):

# su - zimbra
$ zmprov ms domain.tld zimbraRemoteManagementPort 1234
$ ssh -vi .ssh/zimbra_identity -o strictHostKeyChecking=no [email protected] -p 1234

相关内容