运维 关于如何搭建一个核心管理服务器的问题

linjunhalida · 发布于 2015年11月02日 · 最后由 jhjguxin 回复于 2015年11月16日 · 1333 次阅读
64

一个很常见的问题: 小团队,几个开发者,一堆的服务器,每个开发者有部分服务器的操作权限。 简单的管理:每个服务器上面大家自己加自己的ssh pubkey,需要的时候登录服务器操作。

缺点:

  • 服务器开放ssh端口,非常不安全
  • 服务器上面谁登录了不知道,因为大家都用同一个admin帐号(比如ubuntu)
  • 难以修改ssh key,需要登录到服务器上面去改

我想的解决方案:

  • 一个核心堡垒机,很完善的安全加固
  • 服务器只开放ssh给堡垒机
  • 堡垒机设置用户,他们的pubkey,以及可以访问的服务器权限
  • 监控用户操作,记录日志,发现问题告警
  • 堡垒机挂掉后有应急访问服务器的方案

请问大家有没有类似的开源或者公开的解决方案吗?谢谢~

这个问题我在SO上面提问了: http://serverfault.com/questions/733205/centralized-audit-server-solution-for-mutiple-server-management

共收到 11 条回复
2963

堡垒机给乙方用用还可以 给团队内部人用太蛋疼了

2443

大家都到服务器上去干啥子了啊? 产品环境天天要人工上去操作吗?

730

可以用git做个集中的配置管理仓库(CMDB),一旦这个git仓库有提交,通过CI检测到,自动执行,变更服务器 服务器还是不要登录的好 相关的开源软件有ansible,puppet,saltstack,chef等等

1342

我这用 web 页面进行管理,能操作的也就那么几个有限的命令

96

试试FreeIPA, 我们之前用的这个。现在所有帐号在LDAP里管理

1638

可以用动物名(或魔戒人物)作为机器的名字,团队内部沟通起来很方便,也很有趣。

  • dog - mongodb
  • tiger - web server
  • cat - mysql
  • snake - nginx

这是Vincent 教给我的,哈哈。

14099

为每个员工开设一个专用的用户 然后生成专用的ssh密码对 这样一个员工辞职后,只需要在服务器删除相对应的公钥即可 禁止密码登录

64

#8楼 @xiaoronglv 我们有台服务器就叫tiger。。

686

赞同 #9楼 的做法 并且 测试环境是所有后端人员都可以访问 但是生产环境可以 考虑 少数人使用 deploy 账号, 并且专门提供只读账号给 小伙伴来 查看日志 etc

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册