【IT168 资讯】堡垒机:也叫运维审计系统,主要用来解决IT运维过程风险,可以实现运维人员实名制管理,运维权限最小化控制,运维过程审计等功能。
『导读』
互联网企业是一个高度依赖IT信息系统的行业,一般互联网企业IT信息系统少则拥有三五百台服务器,多则有几千几万,甚至几十万台服务器。所以如何保障IT系统的稳定、安全运行是所有互联网企业非常关注的课题。堡垒机作为一个IT运维过程风险控制的解决方案在互联网行业是非常刚性的需求,很多互联网企业早就部署了堡垒机,但是近几年随着企业规模增大、运维自动化技术的发展,传统堡垒机逐步成为了IT运维的一个障碍,很多互联网企业不得不重新进行选型,甚至将老的堡垒机下线。本文将总结某大型互联网公司所碰到的问题,并分享堡垒机的实施经验,供大家参考。
背景简介
本文经验阐述是一个大型互联网企业的真实经验,由于某些原因,不方便直接表明企业名称。该公司目前的服务器数量已经超过30000台,开发和运维人员超过2000人。IT运维也已经经历了好几个阶段,目前已经全面进入了自动化运维阶段,大部分的部署、上线、更新、备份、监控等都实现了自动化作业。
堡垒机作为目前IT运维安全控制最重要的解决方案,公司也在2012年就引入了安恒的堡垒机方案。在推行堡垒机的三年时间里,确实遇到了不少的挑战和困难,但最终还是在两家企业的紧密合作中解决了。目前30000多台服务器已经全面纳入堡垒机的管理,所有IT运维人员和开发人员的操作都必须经过堡垒机的控制和审计,做到了所有IT操作过程可见、可控、更安全。
本文总结了公司三年多堡垒机的实施改进经验,与大家一起分享。
挑战一:自动化运维和堡垒机的冲突
因为业务的需要,公司经常是一次性采购几百台服务器上线,以前靠手工安装和配置的方法肯定行不通了,所以目前都是采用puppet等自动化工具安装。但发现堡垒机成为了自动化运维的障碍,puppet等自动化运维工具没法通过堡垒机连接服务器。下面简单说明一下原因:
(图1)
无堡垒机情况:自动化服务器都是通过内置的脚本或者程序直接连接响应的目标服务器,一般都是自动化服务器和目标服务器直接建立SSH会话连接,如图1,服务器端的认证可以是用户密码和SSH密钥,由服务器来完成认证。
(图2)
部署堡垒机后:自动化服务器连接服务器前必须得经过堡垒机了,整个连接过程就变成了自动化服务器需先和堡垒机建立SSH会话,然后由堡垒机和目标服务器建立SSH会话,整个过程如图2。这个过程的变化会导致自动化服务器脚本登录失效,而且还带来了几个难题:
1) 自动化服务器如何完成和堡垒机的身份认证,如果堡垒机登录有双因子认证怎么办?
2) 堡垒机怎么选择目标服务器?因为堡垒机并不知道自动化脚本想推给哪台目标服务器,只有自动化服务器自己知道。
通过和安恒工程师进行沟通,SSH网关模式可以让自动化运维执行起来,具体原理如图3。
(图3)
堡垒机自动化运维解决方案:首先说明,部署堡垒机后期望完全没有影响习惯是不可能,只能将影响降低。安恒堡垒机针对自动化运维的解决方案是需要在自动化运维服务器上启用SSH网关,负责将自动化服务器端的SSH连接转发到堡垒机,这样做的目的是帮助堡垒机完成选择目标主机IP的问题。换句话说自动化服务器连接服务器的方式还是SSH hostname@X.X.X.X ,那以前做好的自动化运维脚本都无需修改,可以直接使用。
