Gav*_*ler 31 security linux ssh apache-2.2
我正在配置云服务器以运行以下堆栈:Ruby、Passenger、Apache;在 Ubuntu 10.04 (Lucid Lynx) 下。
在想让服务器更容易管理的过程中,我在 上设置了 RSA 密钥root,www-data以便我可以ssh进入服务器。我不喜欢的事情是,www-data的.ssh目录坐在/var/www这是Apache的默认目录设置。我担心的是,如果 apache 没有正确配置,那么.ssh目录可能会暴露。
我在整个解决方案来到移动~/.ssh/authorized_keys通过改变文件到一个中心位置AuthorizedKeysFile在/etc/ssh/sshd_config。这有两个优点:密钥的单一位置,不必担心糟糕的 apache 配置。我能想到的唯一缺点是现在每个用户都可以在服务器上登录(显然是中央密钥文件的双刃剑。)
在这个配置中有什么我遗漏的吗?我是否过度暴露自己,或者这是比单个authorized_keys文件更好的解决方案?
在服务器管理方面,我是绿色的,但我完全准备好因做坏事而被称为坏名声。:D
小智 54
所有的密钥文件可以集中在同一个目录中,而不是混在同一个文件中。
只需sshd_config像这样设置文件:
AuthorizedKeysFile /etc/ssh/authorized_keys/%u
Run Code Online (Sandbox Code Playgroud)
在您的服务器上:
/etc/ssh/authorized_keys/www-data /etc/ssh/authorized_keys/root关于访问权限,sshd 接受这些设置:
/etc/ssh/authorized_keys由拥有root:root并具有模式 755。密钥文件由拥有root:root并具有模式 644。
其他模式可能有效,但我还没有测试过。
vor*_*aq7 15
一般来说,我不会按照你的建议去做。它打破了常见的假设(例如~/.ssh/authorized_keys为您的用户工作,并引入了您在问题中已经提到的问题。如果您在实施之前看到明显的问题,则意味着您的解决方案并不理想。
在安全方面,我也认为让每个人共享一个服务帐户是一个可怕的想法:现在只有你自己,而且你知道你是做出改变的人。5 年后,当您拥有 5 个管理员时,您会想知道谁更改了哪些内容,并通过审核日志挖掘谁使用了哪些密钥,这真是太痛苦了。
你最好让人们以他们自己的身份登录并使用sudo或类似的东西来提升他们的权限并做他们需要做的任何事情。
如果您仍然想集中 SSH 密钥,我建议您查看像Puppet或radmind这样的部署系统来管理/分发authorized_keys文件到适当的~user/.ssh/目录(或破解一个本地解决方案,将它们 SCP 到位)。
当您扩展到多个服务器时,您可能还想查看旧版 OpenSSH的 LDAP 公钥补丁(或新版 OpenSSH 中的AuthorizedKeysCommand指令和适当的脚本),以便您可以集中您的用户而不必分发他们的密钥遍布您的网络,但这对您来说可能很遥远。
| 归档时间: |
|
| 查看次数: |
40391 次 |
| 最近记录: |