首页 存档 技术 查看内容

中小企业如何优雅的管理多机房服务器账号

2018-3-30 13:00 |来自: 互联网 262 0

摘要: 注:可识别下方二维码,收听直播回放 作者简介: 许颖维 中交兴路 运维总监 曾经就职于日 PV 超亿次的 WAP 搜索公司,后加入多次占领 Facebook 日活跃 Top10 的游戏公司(产品有开心水族箱、开心消消乐),负责 ...

注:可识别下方二维码,收听直播回放

作者简介:

许颖维

中交兴路 运维总监

曾经就职于日 PV 超亿次的 WAP 搜索公司,后加入多次占领 Facebook 日活跃 Top10 的游戏公司(产品有开心水族箱、开心消消乐),负责搭建自动化运维平台。

现在国内领先的商用车联网公司担任系统支持部负责人,同时负责并发百万级别的实时在线车联网平台运维工作。

前言

本文内容大致分成四部分:

  1. 选择,我们初步选择的时候会考虑哪些问题。

  2. 需求分析,分析我们的主要需求是什么,如何与服务进行紧密结合。

  3. 如何实施,因为运维人员比较关注工具的落地过程,所以我也重点讲讲这块,但是不会像很多文章一样讲详细部署过程,我会着重分享部署过程中容易出错的地方。

  4. 演变历程,以我在这家公司的经历为例,从一个最简单的需求发展到能够满足不同业务的需求,并最终满足比较苛刻安全的一个过程。

1、选择

  • 整个故事要从一台老旧的服务器开始

那年,我们的集群规模有400多台服务器,部分是很稳定地,大家慢慢就忽略掉它了。突然有一天监控系统上发现一台边缘很老的服务器负载太高,影响了主站的稳定性。

我的第一反应就是让业务运维登陆上去处理,结果过了5分钟业务运维反馈说“密码错误”。因为我们有业务运维和系统运维区分,所以我让系统工程师去登录一下。

结果不幸的是,系统管理员反馈“这个服务器比我们所有的工程师都早出现在这个公司,大家都不知道他的密码”。这个时候就非常着急了,我们收到大量的用户投诉。一个本来五分钟就可以解决的问题,但是我们却花了两个小时。

最后我们开总结会的时候,大家都认定这个问题得必须重视了,业务的扩展非常快,我们不可能每一个服务器都记录一个帐号,我们需要有一套统一的身份认证。

2、最初的需求诞生了

当我们还在使用 SSH 跟 SCP 的时候,每个员工只需要一个密码,不管是登陆生产环境还是测试环境。我更改密码的时候也立即生效,而且我不想让 SA 知道我的密码,这就是我们最初的需求。

明确了需求之后,我们就开始考虑选择什么工具合适。有一种方案很简单就是我们用一个配置管理工具把这个服务器上面的 shadow/passwd 文件管理起来。

但是这样很被动,我所有的操作都依赖于它,我很多的操作生效期都会受到影响。还有另一个解决方案就是身份认证系统,我们知道这个是人人一直在用的 Kerberos,还有 OpenLDAP 也是一个比较热门的,最后就是商业产品堡垒机。

而创业公司的我们认为成本是第一要素,毋庸置疑首选就是开源。究竟是选择 kerberos 还是 OpenLDAP 呢?

我们请教了一个以前用过这方面的大拿,他推荐使用 OpenLDAP,因为使用起来很简单,就是用账户密码登陆。而 Kerberos 他可能会比较复杂一些,因为它有 Ticket 的认证过程。

所以我们就初步选择 OpenLDAP 了。同时我们发现国外的大厂 Facebook 和 谷歌都要使用 OpenLDAP,这就给了我们很大的信心。

同时,我们与商业产品进行对比,主要是价格和功能上有大的差异。

  • 价格方面: 一个机房我只要一台服务器,甚至是半台就可以搭建 OpenLDAP 服务,大约成本不到2万,而这个商业的堡垒机需要将近20万的成本。

  • 架构模式: 差不多,一个 CS 一个 BS。

  • 授权模式: 就是我们在对用户的权限管理方式,商业会比较有优势,这方面考虑的还是不错。还有操作回放是商业比较好的一个特征,因为他们支持这种审计功能,他们知道每一个用户登陆上去都在做什么。

    但是后面这个开源也有,我们是通过 script 命令,就是可以把一个用户所有的操作包括回显都可以记录。这个还是挺不错的。

最主要的就是价格,老板说 OK 就可以了,毕竟老板对钱都是非常敏感的。

3、如何实施 OpenLDAP

我介绍一下 OpenLDAP,它是轻量级目录访问协议,它特别适用于查询多但写入少的场景,可以做到毫秒级响应,但是如果是变更多的场景就不合适了。

然而它是怎么工作的呢?我们需要在需要认证的服务器上安装一个 OpenLDAP 的客户端,这个客户端其实是系统级别就已经是绑定了,我们就从这个图来看,我们是首先处于左下角。

用户登陆的时候,先登陆第一台跳板机,登陆上去的时候,其实访问的是本地的 PAM 模块,他通过 nsswitch 模块访问调用两个文件 passwd

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部