是夜,7月22日0:30,杭州市妇产科医院(以下简称“杭妇院”)信息中心正在进行一场“出人意料”的数据库迁移。

数据0丢失

业务0故障

新老系统完全平滑过度。

就问你,厉不厉害?!

自2014年底启用至今,杭妇院已成功分娩超过16000例婴儿,月分娩量突破1200人次,日门诊量突破2000人次。

业务增长迅猛,HIS主服务器却已“老矣”,一直在“服役”的IBM小型机P740遭遇“滑铁卢”,三年来问题不断,性能瓶颈凸显,RMAN备份会导致内存分分钟撑爆。

虽说,医院防患于未然,配备了DBRA灾备系统,但业务无法流畅运行仍是“心头病”,杭妇院急需改变现有的架构,规避风险,提高整体运行性能。

第一步,更换服务器,杭妇院采购了高性能服务器。

问题来了

如何将原有服务器上的数据

“一个都不能少”

地迁移到新的服务器上?

作为杭妇院数据库运维支撑厂商,美创科技制定了一个有针对性的迁移测试解决方案 ,以确保整个迁移过程顺利完成。 

由于医院HIS核心业务系统需要保证7*24小时的连续运行,这就需要尽可能“压缩”停机时间。而主服务器的性能问题,已无法进行RMAN、expdp等备份操作,这也给系统升级迁移带来了很大的困难。 

难字当头,美创科技凭借专业的技术实力和丰富的案例积累,结合杭妇院的现状与具体需求,充分考虑了XTTS和数据复制两种迁移方案的优缺点,最终采用了数据复制方案,绕开生产环境,从DBRA容灾查询库上进行数据抽取,实现从IBM小型机(Oracle 10.2.0.5)到Linux(Oracle 11.2.0.4)的跨平台跨版本迁移。数据复制的迁移难题是如何保证数据和业务的严格一致性,经过自动化迁移流程测试、数据校验、性能测试、业务测试,仅仅用了几天时间完成了原本计划月余的任务。 

至关重要的数据迁移时间窗口,选择在业务相对“空闲”的周六凌晨。早在前一天下午,数据验证通过,进入切换等待窗口,美创科技工程师、杭妇院相关负责人等早早各就各位,做最后的准备工作。 

1.png

006-activity-1-v1-img0.png

7月22日 0:30 

数据库正式进入切换准备工作。 

006-activity-1-v1-img0.png

7月22日 1:30

完成了最后一次数据复制同步,开始新老数据库库地址切换和业务测试。 

006-activity-1-v1-img0.png

7月22日 2:05

HIS业务系统交付用户使用。 

在确保现有业务系统正常运行的同时,数据实时同步业务数据到新平台数据库中。数据零丢失,新老系统完全平滑过度,进一步提升了数据库的安全性及稳定性。

QQ图片20170726173207_副本.jpg

(辛苦了一夜的工程师们)

数据迁移做的好不好?医院各业务部门见分晓。

系统完成上线后的第一天,医院如往常一般有序的忙碌着,医院各项业务一切正常运行,完全看不出切换后第一个早晨的样子。

客户惊呼:“是不是切的一个假系统?切过那么多次,第一次没出现任何问题的。”

此次数据迁移可谓是打了漂亮一战,切换期间实现零故障,并且性能显著提升,以往小型机上15分钟未必能够统计出来的医保报表,在新架构中20秒内统计完成。 


美创科技帮助客户顺利完成迁移升级任务,实现了服务价值:

1.升级迁移–数据库跨版本跨平台迁移

2.高可用容灾架构–构建异地DBRA容灾,提升业务的连续性

3.高性能集群–报表、复杂SQL的快速响应

关于美创

杭州美创科技有限公司(以下简称“美创科技”)是一家聚焦于数据管理和数据价值的发现与挖掘,围绕数据安全、容灾、集成、分析、运维等多方面铸造数据价值的企业,公司成立于2005年,由多名数据库资深专家携手创办。在数据安全领域,美创是敏感数据保护和数据安全领域的拓荒者和领导者;在容灾备份领域,美创是全业务容灾的倡导者和实践者;在大数据领域,美创开创性地提出了真实世界模型、基于流动的大数据应用和分析框架等关键大数据应用基础。

通过多年的深厚积累,凭借出色的产品和良好口碑,美创科技快速成长,呈现阶梯式发展态势,在北京、广州、武汉、南京、宁波、衢州等地设立了分支机构,数据管理产品和服务被广泛地应用于医疗、社保、港口物流、金融、政府、电力能源等众多行业。

在这个狼烟四起的信息化战场,网络安全已经完全同质化,如何面对未知威胁是我们必须要考虑的安全问题。数据安全作为信息安全技术体系里面的最后一道防线,显得尤为重要。由于业务拓展需要,美创科技现诚聘英雄豪杰:

招聘职位

售前工程师

【岗位职责】技术交流,挖掘项目机会点。

【工作地点】北京

【能力要求】2年以上售前或者信息安全工作经验

【薪资范围】20K+/M  无上限

【我们承诺】心有多大,我们舞台就有多大,有胆你就来,公司open,团队气氛好,人员简单。

【友情提醒】创业团队,不养闲人,做好高强度工作的心里准备,付出和收获成正比。

团队福利:

五险一金 年底双薪 绩效奖金 股票期权 带薪年假 补充医疗保险 定期体检 高温补贴 

联系方式:[email protected] (请注明来自FreeBuf)

前几天,老板突然找我聊天,轻敲我了的肩膀,语重心长地说,是时候“总结过去,展望未来”了。

我内心OS,果然没好事,竟然喊我帮他写年中总结。但既然老板开口了,我定当“鞠躬尽瘁,死而后已”。

来来,跟上美小创的节奏,回顾下,美创科技2017半年大事记。

一、重大事件


全资收购博越信息技术有限公司

xm

美创科技以全资收购业内领先的数据中心自动化运维服务公司-博越信息技术有限公司,双方将进行深度资源整合,开发和完善业务信息监控和数据中心运维预警平台,打造国内领先的数据中心运维自动化服务品牌。


“共赢共创 安全未来”全国渠道商大会 

开启渠道合作新篇章

xm

美创科技召开“共赢共创 安全未来”为主题的渠道商大会,邀请行业专家、渠道商、经销商等伙伴,共同打造互利、互补、共赢新发展新平台,共议行业政策、探讨安全行业趋势、共谋安全产品市场发展。我们一路前行,来到了广州、北京、杭州、深圳、南京五座城市。


北京分公司成立,布局全国市场 

年初,美创科技北京分公司成立,深入耕耘敏感数据保护(DCAP)市场。分公司将是美创安全产品营销的中心,助力美创建立公司品牌、标杆客户、渠道管理体系等,辐射全国安全市场。


18款产品成功入围2017-2018央采供货协议目录

美创科技旗下数据安全线5个品目18款型号的产品顺利通过了严格的竞标和专家论证,成功入围“中央国家机关2017-2018信息类产品协议供货采购项目”。入选产品涉及美创灾难备份管理系统、数据库防火墙系统、数据库审计系统、数据库防水坝系统、数据加密、数据脱敏等,并覆盖各类别中的入门级、工作组级、部门级和企业级。


“高效、智能、敏捷”的数据中心主动运维服务 

xm

以运维服务起家,美创积极开拓主动运维服务,与传统救火式数据中心运维服务模式不同,美创将“服务平台、服务人员和服务流程”进行资源整合,利用服务平台对数据中心的运行状态进行自动巡检,并结合预警规则库,实时提交告警给服务人员。服务人员根据告警级别,主动交付服务,避免数据中心告警的进一步升级,从而保障生产业务运行的稳定性和数据完整性。


专注数据库安全研究的“59号实验室”成立 

以深厚技术实力和积累,美创科技成立59号实验室,标志着美创科技开启数据库安全领域新里程。铸就大数据时代的安全基石,是59号实验室成立的出发点,实验室将进一步开拓数据库安全领域,让数据更安全。

二、荣誉资质

入围中国网络安全企业50强(2017年上半年)

2017年互联网+创新中小企业奖

2016年度拱墅区专利试点企业殊荣

2017信息服务业新业态创新企业30新

浙江省信息安全行业协会“2016年度优秀单位”

信息安全与通信保密杂志社理事会副理事长单位

中国(中关村)网络安全与信息化产业联盟常务理事单位

三、重要签约

政府:民政部 公安部

社保:北京人社

金融:包商银行 宁波银行

港口物流:厦门港 国家物流中心

医疗:浙大一院  湖州市卫计委

电力:南瑞集团

四、新品研发

数据脱敏 V3.0

数据库防火墙 V1.0 

运维一体机 V2.0

主数据管理平台 V1.0

数据支撑平台 V2.0

卫计委监管和运营管理系统 V1.0

医院医疗质量和运营管理系统 V2.0

五、市场活动

亮相“429首都网络安全日” 

美创科技受邀参加“429首都网络安全日”人工智能论坛并发表主题演讲,美创科技北京分公司总经理沈武林在《敏感数据保护》主题演讲上,提出从敏感数据的产生、传输、存储、使用、共享至最终销毁的整个生命周期做安全保护的解决方案。

xm


参加NSC2017中国网络安全大会 

6月13日,第五届中国网络安全大会在京召开,美创科技副总经理闻建霞受邀出席会议,并于金融网络安全闭门论坛中发表《网络安全法下,谈金融行业敏感数据保护》讲话。闻总从《网络安全法》的出台对金融行业数据安全监管要求做了详细解读于剖析,提出了聚焦于以数据为核心的安全保护理念,坚决防卫信息安全的“最后一公里”。

xm


政府、医疗、金融行业数据安全研讨会 

2017年上半年网络犯罪多发,勒索软件愈演愈烈,勒索病毒“WannaCry”至今让人心有余悸。为有效贯彻《网络安全法》,帮助政府、金融、医疗等行业防御勒索病毒,美创科技多次主办“数据库与终端数据安全研讨会”,从内部防泄漏、外部防攻击、一键切换的全业务容灾等多方面谈敏感数据的安全保护,受到行业相关部委及机构领导的高度重视。

xm

六、boss风采

总经理:柳遵梁

xm

被授予浙江省信息安全行业协会颁发的“2016年度先进个人”的荣誉称号

《浙商》杂志专访总经理柳遵梁,畅聊“给数据一份安全感”的企业使命

副总经理:闻建霞

xm

入选杭州市2016年度“131”中青年人才培养计划

《安全牛》对话副总经理闻建霞,详谈美创科技发展史



老板说了,必须有“继往开来式”总结发言,文末必须来点晴之笔。

总结如下:

2017年是美创科技战略布局、高速发展尤为重要的一年,也是美创成立的第13个年头。“聚焦数据安全 释放数据价值”的美创科技,将在今后的日子里砥砺前行,与客户、同行携手并行,开拓数据安全蓝海市场。感谢所有同仁日以继夜的拼命战斗、南征北战,成就美创科技每一次的耀眼。

在这篇文章中,我们会再一次证明过度依赖自动化工具会让人们忽视掉很多潜在危险,同时,我们也将会讨论一些有关Oracle Golden Gate技术层面的重要弱点(漏洞),并且向大家展示又一个信息安全产业产品质量不过关的案例。

事情的起因

不久之前,在一次内部易受攻击性的评测中,我们注意到Nmap显示出了一段类似于下图、未被认出的代码。

n ma p

有经验的人能够轻易认出对于标准服务要求(standard service request),上述的未经认出的代码会导致“MGR Did Not Recognize Command”这样一则错误信息的产生。简单的网络搜索可以发现,人们在一些讨论帖上抱怨称上述的错误信息出现在Oracle Golden Gate的错误日志中。经过更深一步的研究发现,TCP/7809端口(port)是Oracle Golden Gate的默认端口,这个调查结果与之前的结果一致,这个结果给我们的研究带来了极大的信心。

引用Vendor公司网站的说明:“Oracle Golden Gate是一款在多样IT环境下做出实时数据整合并且做出相应反应的软件包。” 这也就意味着使用者可以程序化地定义在某种模式下的数据要怎样转化为另一种模式的数据,然后即便在HA switch-over(应当是专业术语)或者其他复杂环境下Oracle Golden Gate也能将这些数据安全的转移,并且保证数据的准确性。

另外,一次Nessus对于脆弱性的扫描表明:Golden Gate还是无法识别。于是我们又在Google上面进行深入调查,并且发现了一些可怕的ZDI报告:

ZDI-16-022

ZDI-16-023

CVSS(通用弱点评价系统) 10.0 表明这些弱点在没有授权的情况下,可以通过互联网被轻易地利用,而且在报告中提到的会受影响的端口也和我们的调查一致。这也就是为什么我们会建立一个测试系统或者是一个类似的版本,然后攻击他的弱点来检测这个弱点是否真实存在。但是这一次,虽然我们的测试处理了一些重要数据,但是在下一次“寒潮”来临前我们并没有足够的空间来测试甚至建立好测试系统。

我们现在能做的就是在我们的报告中涵盖有关这个问题的信息说明,并且祈祷在短时间内可以有人解决这个问题,或者架设起一些被动的监控措施。就目前来说,这个漏洞还没有被大范围利用,但我们已经开始架设测试系统,因为这个漏洞仍然在困扰着我们。

漏洞及其相关特点

这是为数不多的获取并且架设产品比找到第一个漏洞花的时间、功夫还要长的案例,一部分是因为这款软件的Linux(一个电脑操作系统,比如说Windows也是一款电脑操作系统)版本拥有完全的debug(他们肯定都懂什么意思,就是消除错误)信息,并且这些信息也被编译为二进制(储存在软件中)。因此,我们不会过多讨论这部分,也不会更多的关注某个个体特定的问题,而是将更多的注意力放在普遍的问题上。

管理器进程模拟了一个HTTP服务器并且执行了一个自定义的协议。结果是,虽然我们执行了一些权限控制(关于这一点我们之后会提到),但是不需要任何授权。 

HTTP服务器交互界面泄露了包括版本号在内大量关于服务器建立的信息,这些信息可以帮助我们确认这个目标是否已经打过补丁。当然我们想知道的还远不止于此。

我们建立HTTP服务器所用的自定义协议十分简单。其中最重要的一些细节可以从收集自初始建立阶段的测试主机中的packet dump推敲出来:

packet dump

一个两字节的前缀编码了这些信息长度,其后跟随了一段TAB键(Word软件中用于每段起始错后两字节的按键,这里指图片中第二段编码比第一段错后两字节)分开,人们能够读懂的指令。而关于这段编码的回复也是同样的格式。这段样本足以在check_messages() 程式中快速定位执行于其中的二进制信息分析程序(message parser function of binary).

在确定过程创造逻辑(process creation logic)可以以某种方式激发execv()方程防止不重要的指令输入之后,我们把我们的目光移向了OBEY指令。除了那吸引人的名字之外,official documentation(官方文件)显示GG可以被脚本化,而且脚本的文件名称通常为“OBEY files”。这些文件可以包含”SHELL“指令——这个指令可以在OS解译过程中执行它自身的参数,而这使得OS成为一个完美的攻击目标。

OBEY

现在,唯一的问题就是,如何往目标的文件系统中放置一个合适的OBEY文件?一个很古老的方法可以帮助我们解决这个问题:管理器进程会把所有无效的指令记录在正在工作的ggserr.log目录文件中。既然我们可以在发送到管理器端口的指令中嵌入line break,而且脚本的语法分析程序不会在无效的line上停止,那么我们就可以在目录中加入一行以”SHELL”开头的指令,从而使管理器将它自己的log文件解读为OBEY文件,以此实现指令的执行。

同时Claudio公布了另一个漏洞(ZDI-16-022 –CVE-2016-0451)的一些细节。这个漏洞会导致文件随意被上传,从而导致人们可以更轻易的利用这个漏洞。(脚本运行速度慢是我们的方法的一大限制,这导致我们需要花很多时间搜寻被添加的指令)

如果你希望看到更多有关信息,请查看我们所发布的exploit。在Windows系统上的Single-shot exploitation可以作为读者的一个小练习。

保守的防护

Golden Gate 通过在信息语法分析中激活 MGRSEC_check_client_access() 程式来检查access(使用权,途径)。这个程式通过运行一系列的现成的规则来检查连接的客户是否被允许发送信息,对于有缺陷的版本也同样如此。而在Oracle发布的补丁中,它又添加了一些默认规定,使得只有来自于 127.0.0.1 and ::1de信息可以被接受。

line

当然这个办法也有很多问题:第一,这个补丁会打破原本依赖于远程管理器连接的架构。第二,即使上述的检查失败,仍然有一部分信息会被进行分析——在我们的测试中,我们意外地找到了很多未经授权的DoS问题(NULL指示器废弃NULL pointer dereferences)。第三,GG暴露了很多潜在危险(原文为expose a huge attack surface,直译为暴露了很大的攻击面,可以理解为有很多地方可被攻击),而且基于我们对于样本编码的观察,我们猜测可能还有很多未授权(或者绕过检测的)问题还没有被发现。

3.2.png

因此,我们强烈建议对于所有Golden Gate端口施加严格的防火墙监控(注意!这个软件可以将上传的文件动态链接至超过7800个端口)以防止不受信任的主机的TCP连接。通过我们关于威胁的模拟,我们预测,任何已连接的主机都可以轻易地compromise(妥协,实在是理解不了这个词在这里是什么意思)GG服务器。

除了软件自身的问题之外,我们还应当注意,在ZDI公告和Oracle的补丁发布16个月、我们告知Tenable有关检测缺失的问题13个月以及公众第一次利用漏洞4个月后,我们仍然无法找到任何关于IDS/IPS工具或者弱点扫描仪器的方案(ZDI/TippinPoint可能会有)。对我们来说,这大大阻碍了我们对问题的解决及缓解。

4.png

我们理解因为信息的缺失,想要为所有的公众信息建立检测机制是不可能的,但是信息产业对公众信息泄露的漠视是众所周知的。难道我们不应该思考:这些供应商真的希望使用者的隐私不被暴露,还是说他们只是想让顾客相信他们的产品是安全的(意味着只是做表面功夫,但却从来不采取实际措施)?

不过值得庆幸的是,我们到现在都还可以收到那些关于DTLS漏洞的高危警示(讽刺,讽刺厂商只是提供警示,但是没有采取实际措施)。

积极主动研究探索的重要性

从另外一个角度来讲,这则小故事也证明了积极主动的研究调查的重要性: 如果没有这些真正想要解决问题的人(而不是那些假惺惺做出报告而不解决问题的人)的话,这些在非常重要的系统中的漏洞甚至可以一直存在。这个故事也同时证明了,如果漏洞的可利用性不高,那么这个漏洞很有可能被当作可以接受、存在的漏洞处理,而不是最终被解决。

所以,我们需要具有探索精神的人去发现并且纠正这些漏洞,否则话,人们将永远活在100%安全的谎言之下。

*参考来源:blog,杭州美创科技翻译整理,转载请注明FreeBuf.COM

近来,京东、优酷等多家知名企业都发生了密码泄露,造成用户隐私泄露。可见,单一密码对敏感和重要信息进行保护力量越来越弱,所面临的挑战亦是愈发严峻。因此业内对多重认证的呼声也越来越高,而其中的双因子认证得到了业界的普遍认可。本文主要介绍SSH双因子认证,结合了当下热门的微信小程序的“运维密码”,来实现认证保护。

双因子认证机制

对于网络信息系统来说,能否识别使用者的身份,是能否确保安全的基础和关键。在实际应用中,许多网络信息系统都会要求使用者在使用系统之前,提供一些相关信息用以实现对使用者的身份认证。双因子认证(2FA)弥补了传统密码认证方法的很多弊端,是指结合密码以及实物(信用卡、SMS手机、令牌或指纹等生物标志)两种条件对用户进行认证的方法。

SSH双因子认证

在实现多重认证的系统中,用户需要通过两种不同的认证程序:用户知道的信息(如用户名/密码)和用户不知道的信息(如用手机生成的一次性密码),想必绝大部分系统管理员都知道OTP,OTP即一次性口令,最常见的一次性口令是基于时间的一次性口令(TOTP),最常见的方式是采用Google身份验证器Google Authenticator来提供基于时间的一次性口令。

在SSH服务器端安装Google身份验证器服务器端组件,这样,在使用密码或密钥登录SSH服务器时,同时通过与Google身份验证器相匹配的客户端所提供的验证信息来确认登录者的身份和权限。由于Google身份验证器没有办法备份场景,这使得使用该身份验证器的人时时处于手机丢失的恐慌之中。于是Linux中国旗下的LCTT技术组开发了一款旨在移动互联网场景中提供更好的多因子认证体验的小程序:运维密码,基于微信平台提供OTP口令管理功能。

如何使用“运维密码”为SSH服务提供双因子认证支持

第一步,需要在运行着OpenSSH服务的Linux主机上安装Google身份验证器服务器端组件。

首先,安装构建Google身份验证器所需的软件包。

在CentOS、Fedora或RHEL上:

1dc60005c94a7584b15d

在CentOS上安装Google身份验证器服务器端组件,需要启用EPEL软件库,然后运行如下命令:

1f7e0005b5ac2c3ba53c

接着,下载 Google 身份验证器服务器端组件的源代码:

1f8800022fb65d1c5930

编译安装 Google 身份验证器服务器端组件:

1f8800022fdc1ec6e7ab

如果构建成功,你会在目录中看到pam_google_authenticator.so和google-authenticator两个二进制文件。

最后,将Google身份验证器的服务器端组件安装到合适位置。其默认会安装到 /usr/local/lib/security下,根据你的系统不同,你可能需要将其符号链接到pam库的位置(比如CentOS7会在/usr/lib64/security)。如下图所示:

1f800005b81df10220d1

1f7e0005b61c62b9fad3

至此,Google身份验证器服务器端组件安装完成。

第二步,需要对Google身份验证器服务器端组件、“运维密码”、OpenSSH进行配置

先配置Google身份验证器服务器端组件

使用以下命令生成验证密钥:

1f7f0005b5d2efd7127b

1f7f0005b5d32c27a02b

这里需要输入y,选择基于时间生成验证码

之后你将看到一个代表着该“场景”密钥的二维码和密钥字符串,它使用如下二维码图形格式表示我们数字形态的密钥

在二维码和密钥字符串后面,接着显示了一个当前的校验码和几个紧急密钥。紧急密钥你可以另行保存到一个安全的地方,以防在无法使用Google身份验证器应用或“运维密码”时使用。

1dc60005ca9e8ffbf97f

保存Google服务器端组件的配置文件,输入y。

1f7e0005b6e558018536

禁止同一令牌多次登录,输入y。

1f870002312546461f6b

意思是:是否要禁用同一密钥多次登录,这将限制每30秒只能使用该密钥登录一次,但这能够让你可以更多地被提醒受到了中间人攻击,甚至能够防止这种攻击。

时间容错设置,输入y。

1f880002313640996bc0

意思是:默认情况下,密钥在30秒内有效,为了防止由于客户端与服务器时间偏移(时间相差太大)导致认证失败,google身份验证器设计了时间容错措施。可以让你使用与当前时间偏移1到4分钟的密钥。

暴力破解防护,输入y。

1f7e0005b772aa55c32f

意思是:为了避免暴力破解,可以启用速率限制,默认情况下,每30秒只能尝试3次。

配置完成后会在home目录下生成一个权限为400的隐藏文件,如下图所示:

1f7f0005b70dfcdfd80b

然后配置运维密码

打开微信小程序,输入“运维密码”并搜索:

点击“运维密码”进入应用,然后点击中间的添加场景

1f7e0005b5008e14b92a

扫一扫配置google-authenticator时所生成的二维码,会识别出该场景信息,这样Google身份验证器就和“运维密码”匹配上了。

接着配置SSH服务

使用如下命令在/etc/pam.d/sshd文件添加认证模块:

1f800005b9a1ac226809

配置挑战式密码认证:

1dc60005cbdf69ab49c4

重启sshd服务:

1dc60005cc0b4490a95a

切记,如果你是远程登录到服务器上配置,切勿退出当前的SSH会话,而应该另外开一个会话去测试SSH登录。重启不会中断当前的SSH会话。

到这一步配置已基本完成,下面我们进行测试。

另外开一个终端窗口进行连接,不要关闭当前的SSH连接。

输入命令登录主机:

1f7f0005b7ca5c7e4acd

首先输入服务器的密码,接着会让输入“运维密码”生成的6位数字密钥。如下图:

1f7f0005b47ac6526a95

我们可以看到,在登录的时候,需要配合“运维密码”才能登录服务器。

“运维密码”小程序资源占用小,不超过200K,只需要花费很少的流量,就可以实现和Google身份验证器Google Authenticator的全部功能。通过微信小程序“运维密码”实现在Linux系统上OpenSSH双因子认证,从而对SSH进行安全加固。

本文作者:杭州美创科技,转载请注明FreeBuf.COM