齐治运维堡垒机
1 运维管理现状和风险分析
企业的运维部门运行维护着核心业务系统,包括服务器和网络设备等设施。维护者本身具有系统的最高权限,随着应用的快速发展,设备的数量和维护者也越来越多,目前,电网客户的运维管理有以下四个特点:
Ø 存在大量的网络设备和windows服务器,而一些重要的系统(如ERP)等,则运行在unix系统设备上;
Ø 设备管理分散,存在多对多的交叉异构管理的情况;
Ø 运维人员依赖于Telnet/SSH/RDP/FTP等协议对设备进行远程维护,使用KVM方式进行本地维护;
Ø 部分厂商采用VPN远程接入进行维护;
Ø 客户自身运维人员比较少,大部分运维工作外包给了第三方代维公司或者原厂商;
基于这些现状,在运维管理中必然存在以下突出问题:
1.1.1 共享帐号带来安全隐患
Ø 多人同时使用一个系统帐号导致用户身份唯一性无法确定
Ø 多人共享一个系统帐号,一旦发生操作事故后,无法在最快时间内定位具体操作者
Ø 如果其中任何一个人离职或者将帐号告诉其他操作者,会让这个帐号的安全无法保证
Ø 修改密码需要通知到每一个使用此帐号的人员,增加了密码管理的复杂度
1.1.2 密码策略无法有效执行
为了保证密码的安全性,安全管理员制定了严格的密码策略,比如密码要定期修改,密码要保证足够的长度和复杂度等但是由于管理的机器数量和帐号数量太多,往往导致密码策略的实施流于形式:
Ø 设备多,帐号多,每一个密码都要足够复杂,依靠人工记忆很难
Ø 对用户来说,安全得保存多个密码的也是一个难题
Ø 定期修改密码费时,费力
1.1.3 访问控制策略不严格
目前的管理中,没有一个清晰的访问控制列表:
Ø 无法一目了然的看到什么用户能够以何种身份访问哪些设备
Ø 在设备自身上做访问控制策略,配置复杂,工作量大
Ø 缺少有效的技术手段来保证访问控制策略有效地执行
Ø Window系统自身的系统日志很难看到直观的操作
Ø Unix系统自身的历史记录不可信
n Unix系统中,用户在设备上的操作有一个历史记录文件,但是用户可以随意更改和删除自己的记录
n root用户不仅仅可以修改自己的历史记录,还可以修改他人的历史记录,系统本身的的历史命令文件已经变的不可信任
Ø 只记录命令,记录不完整
n Unix系统设计本身,对命令的记录是为了帮助管理员进行操作,而不是为了审计
n 记录的命令数量有限制
n 无法记录操作人员、操作时间、操作结果等
Ø 无法连续记录和关联分析
当用户在一个会话(从登录到退出)过程中,发生以下任一情况时,无法对其操作行为做连续记录和关联分析:
n 连续在多台设备之间进行跳转操作(从A机器登录到B机器,然后又到了C机器等)
n 或者操作过程中所使用的系统帐号发生改变(从A帐号su成B帐号又su成C帐号等)
1.2.1 内部操作不透明
根据最新资料统计,对企业造成严重破坏的行为,70%是来自于组织内部,堡垒总是最容易从内部攻破的。在目前的应用环境下,关键应用服务器都放在内部专用的私有网络中,和互联网彼此不相通,就算有接入的需要,一般也会以专线或者VPN方式保证接入的安全。所以,更重要的是,如何监管来自内部的误操作和违规操作从而降低运维过程中的操作风险。
防火墙、防病毒、入侵检测设备等常规的安全产品,可以解决一部分的安全问题,但对于内部人员的违规操作却无能为力。目前应用程序都有相应的审计日志,可以解决应用系统层的审计问题,但是对于操作系统层和数据库层的违规操作(非法修改系统和应用等),无从审计。
1.2.2 外部操作不可控
企业在发展的过程中,因为战略定位和人力等诸多考虑,越来越多的将非核心业务外包给设备商或者其他专业代维公司。虽然在外包过程中有严格的规章制度,但是风险并不可控。我们必须借助有效的技术手段监管原厂商和代维人员的操作行为,同时要上升到更高的实时监控,快速取证和准确举证的层面。
2006年的一起案件为我们敲响了第三方代维的警钟:某员工大学毕业后一直在某网络设备公司从事软件研发工作,曾为哈尔滨、辽宁、西藏等多家移动公司做过技术工作。2005年3月,他利用为西藏移动做技术服务时使用的密码(此密码自他离开后一直没有更改),轻松进入了西藏移动的服务器。并通过西藏移动的服务器,跳转到了北京移动数据库。从2005年3月至7月,他先后4次侵入北京移动数据库,修改充值卡的时间和金额,将已充值的充值卡状态改为未充值,共修改复制出上万个充值卡密码,共获利370余万元。
2 方案设计
2.1.1 提高操作透明度
目前的运维操作类似一个“黑匣子“,首先并不知道当前有哪些操作正在进行?其次是在哪一台设备上进行的操作?更不知道操作是哪一个用户执行的?因为所有的操作都不透明,更谈不上对操作进行跟踪和审计,只有将操作最大限度的透明,随时知晓目前的操作状况,才能让操作变的可以被管理。
2.1.2 增强操作可控性
目前的运维操作一方面超级权限用户(Root,administrator,enable等)的操作是无法控制的,同时在日常的操作中会出现多个用户同时使用一个超级权限用户的情况,只有通过更加细粒度的控制,让某些用户能操作什么某些用户不能操作什么,即使多个用户获取同一个超级权限用户,操作权限也完全不一样,才能真正的降低操作的风险。
2.1.3 先简单后有效
我们不能为了提高操作的透明度和可控性而提高操作和维护的复杂度,让用户改变已有的操作习惯,让用户改变网络拓扑来适应方案,因为复杂才是安全最大的敌人,如何将操作的管理变的简单,因为只有简单才能做到真正的有效。
2.2.1 整体设计思路
因为操作的风险来源于各个方面,所以必须要从能够影响到操作的各个层面去降低风险。奇智运维操作管理系统(Shterm)采用操作代理(网关)方式实现集中管理,对身份、访问、权限、审计统一进行有效管理,真正帮助用户最小化运维操作风险。
集中管理是前提:只有集中以后才能够实现统一管理,只有集中管理才能把复杂问题简单化,分散是无法谈得上管理的,集中是运维管理发展的必然趋势,也是唯一的选择。
身份管理是基础:身份管理解决的是维护操作者的身份问题。身份是用来识别和确认操作者的,因为所有的操作都是用户发起的,如果我们连操作的用户身份都无法确认,那么不管我们怎么控制,怎么审计都无法准确的定位操作责任人。所以身份管理是基础。
访问控制是手段:操作者身份确定后,下一个问题就是他能访问什么资源。如果操作者可以随心所欲访问任何资源,就等于没控制,所以需要通过访问控制这种手段去限制合法操作者合法访问资源,有效降低未授权访问所带来的风险。
权限控制是核心:对于运维操作来说,权限控制是从操作层面控制操作者的权限,因为操作是最核心的风险因素,只有真正控制住用户的操作权限,才能有效的降低操作风险。
操作审计是保证:操作审计要保证在出了事故以后快速定位操作者和事故原因,还原事故现场和举证。另外一个方面操作审计做为一种验证机制,验证和保证集中管理,身份管理,访问控制,权限控制策略的有效性。
3 功能实现
部署了Shterm之后,所有用户对后台设备的操作,都要先登录Shterm的WEB管理界面(Shterm作为后台设备访问的唯一入口,实现单点登录),然后再根据Shterm管理员预先设置好的访问控制规则,自动登录到后台目标设备上去。具体方式如下:
普通用户按照登录流程,首先登录到Shterm的WEB页面,然后可以在“设备访问”项里面,看到可访问的设备列表。选择好系统账号,并点击相应设备后面的“图形”服务,即可自动登录到图形管理界面上去进行任何操作,同理,点击“字符”服务,即可自动登录到字符管理界面上去进行任何操作。
Shterm为每个用户分配了独一无二的用户账号,设备上的系统账号不变,通过把多个用户账号和单个系统账号做关联(用户账号完成身份认证,系统账号完成系统授权),可以在不同的用户使用相同的系统帐号访问目标设备的时候,Shterm依然可以准确识别用户的身份,让用户的身份和具体的操作一一对应起来,从而实现用户实名制管理。
与AD域/LDAP结合实现用户身份认证
Shterm系统可以跟AD域/LDAP结合进行管理,使身份认证化繁为简,统一集中管理。AD域和LDAP的实现原理如图所示:
注意:
AD域/LDAP只用来做用户账号认证,访问控制及权限控制由Shterm来做;
与RADIUS结合实现用户身份动态口令认证
Shterm的用户认证还能和RADIUS认证相结合实现动态口令认证,常见的动态口令认证产品有安盟、RSA、Safeword,下面以安盟为例来做说明:
用户访问过程说明:
Ø 用户使用IE登录Shterm, Shterm系统在登录界面上提示用户输入合法用户名及正确密码(静态密码+动态口令);
Ø 认证信息(合法用户名及正确静态+动态口令)通过RADUIS协议发送到安盟管理服务器进行确认;
Ø 安盟管理服务器验证用户名、静态口令、动态口令是否正确,并将认证结果返回给Shterm系统,如果错误则拒绝用户登陆请求,并提示错误信息。如果正确则将登陆用户名带给Shterm系统认证模块,并建立连接。
Ø 用户认证成功,用户可以通过Shterm的WEB平台进行相应的操作。
Shterm可以根据用户/用户组、设备/设备组、系统帐号和时间来设置详细的访问控制规则,设置完成后,用户只能按照规则设置来访问相应资源,彻底杜绝了非授权访问所带来的问题。
对于Unix设备来说,权限的多少取决于用户可以执行的命令。所以,针对操作指令的控制才是核心。
Shterm可以针对超级用户(root)做操作权限的控制,当多人同时使用一个系统账号时,Shterm可以对同一个系统账号进行权限再分配,保证使用同一个系统账号的不同用户拥有不同的权限,这就彻底解决了共享账号和root用户权限的问题,真正实现细粒度的操作权限控制。
对于操作权限的控制意味着我们从被动接受用户输入到了主动控制。对于用户的操作可以有3种状态:允许,拒绝,禁止。
对于高危命令(删除,重起,关机等)可以实时告警,一旦高危操作触发,会立即给相关人员发送告警邮件,保证用户在第一时间内知道高危操作是否对系统有影响。
对于目标设备的访问账号密码,可以由shterm进行集中托管,只要配置管理员在相应设备的密码管理中将目标设备的账号密码添加上去即可;
使用了密码托管功能后,用户以后访问目标设备时,只需要记住自己的Shterm上的账号和密码,即可通过Shterm自动登录目标设备。
Shterm可以灵活配置目标设备密码的修改策略,实现密码的批量定期自动修改,修改后的结果可以以加密邮件方式发送给密码保管员,从而实现密码的集中管理,同时密码保管员也可以随时在系统的WEB界面打包备份设备的密码到本地,提高改密功能可用性。
对于普通用户登录到目标设备上正在进行的操作,审计管理员可以再Shterm的WEB界面做到实时监控,做到边操作边审计,真正实现实现操作透明;
同时对于用户的违规操作,审计管理员还可以做到实时切断。
具体如下图:
Shterm可以完整记录用户的所有操作行为,具体体现在:
Ø 所见即所得:记录用户真实、原始的操作,而不是处理过的操作;
Ø 以人为本:基于用户身份和工作角色的双审计,保证操作审计到人;
Ø 关联分析:完整记录用户多次联系跳转的操作会话,准确分析关联操作;
Ø 支持基于Http/Https协议的操作审计;
Ø 深度审计
为了进一步增加运维操作的完善性,Shterm可以记录图形操作的鼠标点击情况和键盘输入情况,从而实现深度审计。
Ø 快速定位:
对历史字符操作会话,可以实现从任一命令点回放下面的操作。
对历史图形操作会话,还可以做到完整得在线回放和下载到本地回放,回放方式支持拖拉定位、倍速回放和自动过滤静止会话。
具体如下图:
点击即可回放 |
设备跳转登录 |
鼠标状态点 |
KVM操作审计
说明:播放过程中可通过屏幕下方的按钮调整播放速度,并可拖拉进度,对于鼠标的记录可通过屏幕下方的鼠标状态点观察,两个状态点代表鼠标的左右键点击,变红一次为鼠标点击一次。
回放的时候可以在这里查看到在相应时间点键盘输入的内容 |
键盘操作审计
单击左键,“L”就会变为红色; |
鼠标操作审计
对于历史操作记录,都可以按照时间、用户账号、目标设备、系统账号、命令关键字进行搜索,在最短的时间内找到相关日志内容,实现快速定位:
4 方案优势
Ø 不需要安装任何代理程序或客户端
Ø 不需要调整任何网络架构
Ø 唯一能实现全WEB化的配置和维护,方便运维
Ø 独有的跨浏览器支持(IE、Firefox、遨游、腾讯TT、 Google 等)
Ø 封装协议,访问更加安全
Ø 实时监控当前的任意活动会话,实现操作透明
Ø 违规操作实时切断
Ø 实现A/B角管理
Ø 代维操作无需陪同
Ø 实现边操作边审计
Ø 密码托管,实现后台设备自动登录
Ø 支持设备密码的定期自动修改,减轻工作负担
Ø 密码修改方式灵活定制
Ø 密码修改结果集中邮件加密发送
Ø 支持密码备份下载
Ø 独有的基于终端命令识别的核心技术专利,实现精准的命令识别
Ø 支持对文件传输操作的审计
Ø 命令操作,支持从输入命令和输出结果的任意字符串(设备名称等)的精确/模糊查询
Ø 图形操作支持条件过滤查询
Ø 图形操作回放,支持拖拉定位、倍速回放和静止会话自动过滤
Ø 可以实现针对图形操作的键盘和鼠标审计,实现深层记录
Ø 支持本地账号密码认证
Ø 支持AD域和LDAP认证
Ø 可以和RADIUS认证结合,实现动态双因素(动态令牌)认证
Ø 针对HTTP/HTTPS管理的设备,如KVM、防火墙等设备的WEB管理;
Ø 可以实现对其操作的图形审计;
Ø 可以对正在进行的会话进行实时监控和实时阻断;
4.7.1 成熟
一个成熟的产品起码需要满足两个条件:3年以上的积淀;在足够复杂环境中得到验证。
Ø 2004年5月,Shterm 产品雏形诞生;
Ø 2005年11月,Shterm开始正式在阿里巴巴(全球最大的电子商务平台)实施。管理着近1500台左右服务器及各种网络设备,支持着每天高达200多名系统/数据库管理员、数据仓库分析员、程序员等用户在这个平台上的操作。
Ø 截止到2006年6月3日,Shterm稳定运行212天(因为在此之后客户要求重要设备每3个月定期重启);
Ø 截止到2006年9月1日,记录的命令数据高达123万条;
在多个高端行业(运营商、金融、互联网、烟草、电力等),帮助客户管理着:
Ø 单个客户超过10000台的各种服务器环境部署(IBM、HP、SUN、Dell)
Ø 单个客户超过2300台各种网络设备(Cisco、HW、Juniper)环境中部署
Ø 各种操作系统(AIX、HP-UX、Solaris、Linux、Windows)的运维操作,帮助用户最大程度的降低运维操作带来的风险。
附图:客户某机房
4.7.2 先进
香港发明专利授权
科学技术成果鉴定-国内领先(这是国内鉴定的最高标准)
5 客户收益
通过Shterm的部署,可以实现操作透明化,对于用户的任意操作,可以通过shterm的web界面实时监控,无论是内部运维人员以及外包运维商所做的所有操作都会被真实完整地记录下来。
对于操作实现可控,对于存在风险的操作可以实现事前以及事中的控制。通过权限控制,可以主动切断用户的高危操作,也可以对于用户的违规操作,可以实时切断。
Shterm将用户从繁琐的密码管理工作中解放出来,投入到其他工作上,对第三方代维厂商的维护操作也不再需要专门陪同,从而有效提高了操作管理效率。
Shterm强大的权限控制和安全审计功能,可以充分符合ISO27001/BS7799等信息安全标准。
规范操作人员和第三方代维厂商的操作行为。通过shterm的部署,所有系统管理人员,第三方系统维护人员,都将通过堡垒系统来实施网络管理和服务器维护,对所有的操作行为,都做到可记录、可控制,审计人员通过定期对维护人员的操作审计,可以提高维护人员的操作规范性。对于第三方代维厂商,通过Shterm的技术保证让他们所有的操作行为变得可视,可控,可管,可追踪,实现对第三方代维厂商的有效监管。
所有网络设备和服务器上的所有终端命令行以及图形界面的操作,都会被真实完整地记录在Shterm系统内,当发生任何安全问题或对代维方的操作产生争议时,都可通过录像的回放再现真实场景,帮助快速反应定位故障点和责任人。审计过程可根据命令、时间、账号等多种关键字快速检索,并可直接生成报表输出。
6 相关案例介绍
××供电局为广东电网公司直属的特大型企业,负责××全市五区的安全供电、电网建设和供用电服务工作,供电客户超过210万,共设置十一个职能管理部门、三个党群部门、七个二级生产部门,以及五个区供电局。
客户的电力信息系统是企业业务正常开展的基础平台。如何保障电力系统长期安全、稳定、高效地运行,一直是电力系统IT部门所面临的最紧迫的任务。网络信息安全维护是一个动态的保障过程,对信息系统的日常操作都有可能影响到信息网络的正常、高效运行。因此,在电力系统网络信息安全保障中引入操作审计系统,规范管理人员的日常维护行为,防止恶意破坏行为的发生,防范误操作可能造成的风险,分析安全事件原由,是整个信息安全保障体系中重要的一环。
目前,客户运维管理的普遍现状如下:
运维部门管理着大量的服务器和网络设备,服务器以windows系统居多,企业核心业务系统(八大业务系统)则多运行在unix服务器上;
维护人员比较少,大部分维护工作都外包给了第三方代维人员;
为了系统安全,系统管理员在安全策略中关闭了大部分设备远程管理的端口,用户大多采用KVM方式进本地维护;
网络设备基本都通过telnet和ssh方式远程维护,操作过程无记录;
在进行本地维护操作前,使用工作票或操作票进行步骤记录与风险防范,在出现问题时按记录的关键操作步骤进行回退,如果记录步骤不详细的话,可能会导致回退困难;
部分代维厂商需要上门或者通过VPN做远程维护,操作无记录,不可控;
针对当前运维的现状,客户提出以下需求:
集中管理所有设备,实现对后台设备的单点登录;
对于设备的远程维护,能够提供密码托管的功能,可以实现自动登录和密码定期修改;
实现严格的访问控制和命令操作权限控制,针对高危的命令操作,能够提供告警功能;
对第三方代维厂商的操作行为,必须能够记录下来,可供日后查询,搜索,回放;
可以实时监控第三方代维厂商的远程维护操作;
自从2008年12月,在客户环境部署了Shterm后,Shterm成为了后台设备访问的唯一入口,实现了对服务器、网络设备以及KVM的统一登录。
Shterm 帮助用户对企业内部以及第三方维护设备的操作风险得到有效控制,改善企业内部安全操作管理现状,提高了管理效率,节约了管理成本。帮助客户解决了管理中长期存在的难题,具体体现:
Ø 解决了帐号管理的问题,特别是共享帐号使用的弊端
Ø 提供了临时帐号功能,可以给代维厂商临时分配帐号,过期帐号及时回收
Ø 制定了完善的密码策略,使密码管理制度有效执行
Ø 定期自动修改系统密码,有效降低设备密码管理的成本,提高管理效率
Ø 灵活快速的访问控制设置,提供清晰的用户访问权限表,访问控制一目了然
Ø 建立细粒度的权限控制机制,禁止高危命令的执行,有效的保障各种设备的稳定性与安全性
Ø 通过实时监控,可以实时看到用户正在进行的会话,高危操作实时切断;
Ø 实现了对远程操作和本地操作(KVM)的完整审计,对于图形操作,还实现了基于键盘鼠标操作的深度审计;
Ø 真实完整的操作记录快速检索,解决了以往设备故障原因无法查询的问题
Ø 完善的责任认定体系,快速定位问题发生原因
Ø 有效监控三方远程登录访问维护设备的行为,操作不再需要陪同,降低了安全风险,提高了管理效率