吴耀芳,来学嘉
堡垒最容易从内部攻破。IT运维人员的操作审计普遍被金融、电力、安全等行业采用。从最开始针对屏幕和键盘的硬件录像,到现在普遍使用的软件录像,录像精度越来越高。
国内专业从事“堡垒机”软件开发的企业近几年如雨后春笋般多了起来。但截至目前,除了字符界面的操作能以文字形式记录外,图形界面的操作都是以录像形式记录。录像审计不仅费时费力,而且运维操作录像通常只能作为事后的证据,仅起到威慑作用。尽管计算机图像识别技术已日渐成熟,但用在海量的录像识别和安全审计上,技术难度和实现成本仍然太高。
如果将图形界面的操作通过堡垒机的应用代理,在代理操作时记录下详细的文字日志,不仅能大大提高审计效率,还可以使图形操作授权精细化,起到很好的事前预防效果。本文以Windows系统为例,将Windows 服务器上常用的系统维护转移到堡垒机,这样变审计录像为审计操作日志。出于总成本考虑,不常用的图形操作仍通过Windows 远程桌面来完成,少量的录像审计不仅可以接受,在应用代理系统故障时还能起到灾备作用。
由于本文是在现有堡垒机方案上的改进,先介绍下现有堡垒机系统的基本概念。此处堡垒机特指用于内控的堡垒机,也叫运维审计型堡垒机,它是核心系统运维和安全审计管控两大系统的杂交产物。物理上,堡垒机借助防火墙的隔离,切断运维终端对核心IT资产的直接访问;逻辑上,必须通过堡垒机的协议代理、网络代理等才能访问核心IT资产。堡垒机是进出核心系统的“大门”和“翻译”,它不仅能够拦截非法访问和恶意攻击,还能对运维人员的操作进行审计监控。通过细粒度的授权,可避免运维人员权力过于集中,降低运维安全风险。
整个系统主要由以下4部分构成:
A、 运维终端,通常是运行 Windows系统的 PC,运维人员在上面对核心 IT资产发出维护和操作指令;
B、 运维人员操作区的网络设备,如用于连接核心 IT资产和运维终端的光端机、路由器、防火墙、交换机等;
C、 堡垒主机,一般是运行在Windows和Linux上的多套应用系统,硬件上封装为1台独立盒子。
D、 被运维的核心IT资产,如数据中心的服务器、存储、交换机、防火墙、路由器等;
B和D之间一般采用光纤连接,如租用电信运营商SDH专线(通常是两家运营商互备),这样通信安全在物理上有很高级别的保障。物理上,A、B、D是串联关系,C一般和B并联,主要原因是这样堡垒机上线不改变传统的组网方式。逻辑上,A只能通过C来访问D,这是通过B的防火墙策略实现的。
图1 系统的网络拓扑示意图
1) 单点登录:通过代填密码方式,运维人员无需记住也不能知道核心资产的各种密码,只需要记住堡垒机的身份认证密码即可访问核心资产,既便捷又安全。
2) 授权与控制:可以根据用户、角色、核心资产、时间、应用协议等各种维度进行授权,最细粒度的访问控制可以最大限度地保护安全。
3) 操作审计:能全程对运维人员的所有操作进行精确录像;对于字符终端,能全程记录所有输入的命令;对于数据库,能全程记录所有输入的SQL语句。
现有堡垒机系统,主要采用录像来记录运维操作,不方便审计。本文以 Windows系统为例,将核心系统上常用的文件管理、进程管理、IIS管理、计划任务管理、系统服务管理等系统应用代理到堡垒机,当运维人员操作堡垒机上的上述应用代理软件时,外观上除了多一层服务器选择外,其它和本地操作基本相似,但任何操作都可以记录下精确的日志,如某个运维人员在某个时间点浏览了某服务器的某个目录结构。
在对运维人员授权控制时,可精细到某个非常细微的子功能,如仅允许某个运维角色只能读取某服务器上某个子目录下的日志文件,或仅能启动、停止指定的某些系统服务,或临时允许某人在指定的时间段维护某个功能。
另外,当运维人员对核心系统做修改性操作时可自动做备份或提醒。如配置文件在修改保存前自动备份到事先设定的位置,可随时查看历史版本或回退到某个版本;对于某些配置文件,修改后可能需要提示运维人员重启某个服务后才能立即生效;有些服务进程在指定时间段,如证券交易时间,不能轻易重启,如果运维人员重启服务会给予提醒,甚至要求运维人员双人确认后才能重启。
a. 破坏性操作前能给出警告、自动备份;
b. 授权分允许、禁止 2类,禁止优先,没有允许授权不能操作;
c. 可按角色、用户、时间段、服务器、应用、功能授权;
d. 堡垒机用户能与现有AD域控环境集成;
e. 除系统角色(管理员、审计员、运维人员)外可自定义角色;
f. 按层级授权时,支持“禁止递归”和“允许二次授权”两个选项。在默认情况下,如果授权了某个父层结构的权限,相应的子孙层也自动被授权,如果勾选了“禁止递归”,则被授权人只能访问父层,不能访问子孙层。在默认情况下,不允许运维人员二次授权,如果勾选了“允许二次授权”,则被授权人可以再授权给其他运维人员。允许二次授权不仅和授权层级相关,还和用户角色相关。
g. g.增加、删除、修改服务器。
a. 运维操作日志能记录下时间、人员、目标设备、功能、参数等;
b. 能根据上述日志要素做筛选和浏览;
a. 文件管理,界面类似于FTP图形客户端。可按服务器、磁盘、目录、文件逐层授权。支持以下目录操作:创建、删除、改名、浏览、打包下载;支持以下文件操作:上传、解压缩、上传并解压缩、下载、打包下载、下载并本地打开、删除、属性查看。
b. IIS管理:按服务器、站点、应用池、虚拟目录逐层授权。支持以下常用IIS操作:站点、应用池、虚拟目录的属性查看、新建、属性修改、删除4种操作。
c. 系统服务管理:按服务器、服务逐层授权。支持以下操作:列表浏览、服务属性查看、停止服务、启动服务、重启服务、安装服务、卸载服务、代填密码(如果需要指定用户帐户运行)。
d. 计划任务管理:按服务器、计划任务逐层授权。支持以下操作:列表浏览、Task属性查看、结束运行、启动运行、新建、禁用、启用、其它属性修改、代填密码(运维人员不能知道核心资产账户的密码)。
e. 进程管理:按服务器授权。支持以下操作:列表浏览、进程属性查看、结束进程。
f. 远程桌面管理:按服务器、目标系统帐号授权,自动代填密码,支持选项选择:是否允许使用剪贴板,是否允许使用本地驱动器。
为节省成本,通过集成现有 Windows系统接口来实现后台管理,前端模仿 Windows系统提供常用的操作界面即可。用户和角色管理和现有的Active Directory集成,创建和角色对应的组,将授权管理集中到域控服务器上。因需求2.1和2.2相对简单,下面重点说明如何实现需求2.3:
a. 文件管理:前端提供树视图逐级展开,后台使用管理共享(如c$)方式来访问目标服务器上的目录和文件。
b. IIS管理:前端模仿 IIS树实现最常用的操作,后端使用IIS自带的命令行工具。对于IIS6,可用iisweb.vbs来管理站点,用iisvdir.vbs来管理虚拟目录,详细方法可用关键字“使用脚本管理 IIS”搜索MSDN;对于IIS7,则可用appcmd.exe命令行程序来管理。
c. 系统服务管理:后端可用sc.exe命令行查询、修改服务器上的系统服务。
d. 计划任务管理:后端可使用schtasks.exe命令行工具。
e. 进程管理:后端可用tasklist.exe命令行查看进程列表和进程详细信息,用taskkill.exe命令行结束进程。
f. 远程桌面管理:前端提供服务器选择视图,选择服务器
后使用系统自带的RDP OCX控件嵌入程序中即可支持
代填密码等。
应用代理系统由前端界面和后端服务组成,前端运行在运维终端上,后端服务运行在堡垒机上。为提高系统自身安全系数,不采用流行的BS架构,前端采用WinForm,以更好地采集运维终端身份信息,前端和后端服务通信时采用PKI机制加密通信,避免被网络嗅探工具攻击和破解。
以10台运维终端为例,给出两种堡垒机的比较数据,如表1所示:
表1 堡垒机的数据比较
本文通过说明现有运维堡垒机的局限性,针对图形操作录像审计效率低问题,另辟蹊径,通过应用代理形式,变录像审计为文字日志审计,而且可以事前预防。通过将 Windows系统上常见的系统管理做界面上两次包装,本文将其称之为应用代理,不仅解决了审计难题,而且解决了授权难题。最后给出两种堡垒机的比较数据。
[1]王栋,来风刚,李静,数据中心IT 运维审计体系研究. [J]ELECTRIC POWER IT,2012,10(1):20-23.
[2]杜宁宁,赵庆亮, 浅谈信息安全审计在金融行业的实践.[J]中国内部审计,2012-4:66-68.
[3]韩荣杰,于晓谊,基于堡垒主机概念的运维审计系统. [J]安全视窗,2012-13:56-58.
[4]林秀,IT安全管理与综合审计系统应用探讨. [J]电信技术, 2011-6:66-68.