确保跨站点访问的SSH安全

我们有2个服务器,每个服务器位于不同的地理位置,我们正在考虑使用rsync脚本来保持某些文件夹同步。 我们的设置禁用了rootlogin和密码login,并依赖于密钥文件。

我们在端口22X上运行SSH(只是为了最大限度地减lesslogin尝试,而不是通过默默无闻的安全方式)。

如果我们设置端口转发,使端口XYZ转发到22X,并且禁用了密码login,那么我们应该采取哪些其他措施来防止由于开放端口而发生恶意活动?

我的想法是,只要我们保证我们的密钥安全,那就不应该有问题。 我错过了什么?

关于sshd服务的安全性,这些是您可以执行的一些额外的措施,并不是特定的顺序:

  1. 如果这个sshd守护进程只能在这两个对等端之间使用,那么iptables规则将根据源IP地址来限制对端口22X的访问。
  2. 一个tcpwappers ACL。
  3. fail2ban可以dynamic地将规则添加到iptables/etc/hosts.allow以减轻暴力攻击。
  4. configuration端口敲击 。 fwknop在某些发行版中可用。
  5. 根据您使用的openssh的版本和分布,您可以设置双因素身份validation,例如使用kerberos
  6. 您是否已经使用强制访问控制KSM(SELinux,apparmor,…)?
  7. 定期更新您的钥匙。
  8. 看看monkeysphere项目。 它们提供了一种将GPGvalidation添加到授权密钥的好方法。