2014-03-29 40 views
0

我有一个PHP Web应用程序在负载平衡器后面的两台服务器上运行相同的代码(可能更多)。代码保存在专用的BitBucket存储库中。我很难找出适合这种情况的最佳部署策略。分布式Web应用程序的Git部署策略

目前,我已经在使用Ansible来配置服务器,所以我所做的就是使用Git module来检出代码库中的代码到服务器中。由于代码存储在私人存储库中,因此我添加了一个play来将授权的ssh私钥复制到服务器上,随后将在git checkout期间将其指定为密钥文件。密钥使用Ansible Vault加密。

密钥和配置手册也被检入到git中。

到目前为止它的工作状况很好,但尽管我不确定它有什么问题,但我担心安全问题。我不禁感到,我通过检查ssh密钥进入VCS以及在所有服务器上使用相同的密钥来做错了事情。

我该怎么做才能保证它的安全?

回答

0

这个问题非常广泛,但我会说使用Ansible Vault是正确的方法。你正在git库中检查你的ssh密钥,但它们是加密的,你只能用你的密码解密它们。

如果你想提高更多的安全性,你可以尝试创建40968192 ssh密钥就像我一样。一般情况下,ssh密钥验证非常安全,因为每次使用私钥/公钥对时都会生成唯一的指纹。

0

这几乎是一个很大的话题,对我来说可能是安全的可能不适合你。

但一般来说它没关系,但我会保留以下几点。

  • 使用部署应该对他能做些什么机会有限(如果可能)
  • 可以使用的authorized_keys限制钥匙的来源,如果它被破坏http://man.he.net/man5/authorized_keys
  • 正如波多黎各说,使用高位密钥