今年下半年更换工作后,接到的第一个任务居然是堡垒机实施,虽然之前项目中有用到过同样的堡垒机产品,但是这一次实施面向的规模更大,因而遇到的问题较多,总结下实施过程中踩得坑,作为堡垒机实施工作的完结。书写依照项目正向执行顺序。
实施方案编写
最初的实施方案,包含有以下主要内容:项目目标:堡垒机作为数据中心运维工作的唯一入口;项目范围:包含数据中心所有设备录入,密码代填,运维工具发布,测试验证,改密计划,应急策略等;命名规范约定:部门设置约定、设备命名约定、设备/用户分组约定、普通账号命名约定、规则命名约定;配置信息收集:配置信息收集说明表,配置收集的方式;设备密码管理:密码策略、密码代填范围、改密计划、ROOT权限管理;防火墙策略:防火墙阻断策略与允许策略梳理;其他约定:是否修改默认管理端口、是否禁用非加密通讯方式、操作系统是否做唯一登录控制、普通用户或规则IP限制、是否做命令复核、密码策略、身份认证方式(双因子)等
经验总结:
1、明确项目目标,使用堡垒机做唯一性入口控制,也就意味着不是做部分访问协议的控制,在用户接入区(数据中心维护工位)阻断所有访问,仅允许访问堡垒机。
2、确认项目范围,明确做哪些,不做哪些,本次项目集中在控制统一入口,大部分精力都放在设备数据录入、C/S工具安装、web浏览器兼容性、权限细分上,而在修改默认管理端口、禁用非加密通讯、操作系统唯一登录控制等周边任务上花费过多的时间;
3、明确的命名约定,命名约定将便于后续使用和管理,这次实施,部门设置一二级部门采用实体部门,如:一级部门信息科、二级部门主机、网络、数据等,三级部门为各个业务系统(虚拟部门),所有的设备都归属于三级部门,实在无法归类的,归到二级部门。设备命名,ssh、rdp操作系统相关的采用“部门简称_主机名方式”,web方式采用“部门简称_web_web的唯一标识”命名,client采用“部门简称_client_工具唯一标识”,对于硬件或平台软件的采用“厂商_设备类型_设备型号_设备唯一标识”,如:“HP_xj_RX9900_序列号”,表面为HP厂商的小型机产品的RX9900型号,同时在硬件设备的简要说明里面,填写设备的物理位置和承载的业务系统,类似有“VMware_exsi_v6_exsi04”等。
4、配置信息收集表格,堡垒机的配置信息包含堡垒机普通账户、访问设备、设备账户密码、访问方式、授权规则等方面,均需要堡垒机使用人员填写才能获知,而堡垒机使用人员,不一定清楚堡垒机的配置逻辑,因此,可以在堡垒机设备批量导入、用户批量导入的模板下,建立配置信息收集表。特别对于web、plsql、C/S等访问方式,可以建立单独的表格。配置信息表格,不但要有表头,最好添加填写说明和填写示范,将堡垒机普通用户的展示界面进行标示说明,便于堡垒机使用人员填写。
联系人表格,方便与填表人进行表格数据沟通。
部门列表,便于确认统一的三级部门名称
5、堡垒机自身权限控制,通常堡垒机管理员权限较大,可以将高权限角色交由多个部门交叉监管,平衡堡垒机管理的便捷和自身安全的控制。
6、发布服务器规划,之前考虑过发布服务器的双机但是双机自身也存在不稳定性,后来采用的是部署一台发布服务器,安装好工具后,克隆一台,同时在堡垒机里面添加两个发布服务器登录方式,一个出现问题,堡垒机使用者只需要点击另一个便可以继续使用,这种方式缺点是,两台发布服务器的维护成本较高,一台安装的工具变化,在另一台上也要体现,同时还需要修改堡垒机配置。
7、冗余性测试和应急方案:一般堡垒机作为唯一入口,都需要采用HA方式,进行普通的切换、断电、拔线等,同时也需要对配置备份,底层数据库备份及恢复测试,制定堡垒机全挂的应急方案,如开通防火墙策略(需要备份密码,并对使用者开放密码),跳板机等方式。
8、堡垒机管理流程,一般堡垒机实施是边实施,边运维,前期制定相应得审批流程和表单,方便权限或配置的变更。
部署实施
部署实施主要将收集的配置信息,录入堡垒机,并下发普通用户账号,指导使用堡垒机,由于前期填写的数据不一定准确,在这个阶段将会有很多数据补充的情况,有些时候会直接口头说明,并添加修改,会造成原始数据的混乱,变更信息没有文档记录。
本次部署中,遇到最多的问题为发布服务器,前期只规划了两台发布服务器,并且为主备关系,而安装工具种类太多,有些甚至存在冲突,导致运行出问题,并且发布服务器采用的是每个普通用户都有一个配置文件,每个人使用工具都需要单独再进行一次配置。个人认为,将发布服务器多配置几台,依照部门或者工具种类来区分,安装路径统一规划管理,会有效的减少工具间的冲突。特别是java版本,浏览器的flash版本,浏览器种类等,很容易冲突。
其他
1、堡垒机一般对于ssh、rdp等方式有较好的支持性,可以方便的进行秘密代填和改密,但是对于web和客户端方式,秘密代填和改密都做的较差,不能作为账号秘密管理的统一平台。
2、前期可以规划设备的“设备类型”模板,便于批量添加同类型设备,也便于筛选管理。比如:Windows、Linux、AIX、client、web、HPUX、plsql、Network等,每个设备类型可以定义登录方式,确认登录协议的内容、字符类型、设备的改密方式等,定义好后,会大大减轻录入工作量
3、每个账号登录以后,都会有不同的提示符,需要逐个测试确认,再进行更改提示符,而且可能还会和ssh协议特性有关,改密失败会与设备字符类型有关,再次体现设备类型定义的重要。
4、设备分组和用户分组主要用户权限的统一分配,但是分组需要使用方确认,哪些人具有相同的权限,哪些设备可以归到一个组。
5、有些堡垒机还具备工单管理、批量脚本运行等功能,可以考虑收集需求进行使用,提高运维便利性。
暂时记录这些,堡垒机实施技术难度不大,但是零零碎碎的细节很多,比较繁琐,需要较大的耐心和责任心。
2018/11/29