信息化 频道

分享、互助、创造 网红老盖和DTCC2017

  【IT168 资讯】去年DTCC2016的主会场演讲台上,一件“红红火火”的T-shirt+精彩料足的演讲,让他成了“网红”。说到他,每个参加过DTCC数据库大会的开发者都不会感到陌生。他在数据库这个领域可谓是数一数二的专家。作为DTCC和笔者的老朋友,笔者也更爱称他“网红老盖”。这就是本次DTCC2017数据库技术大会召开前接受专访的演讲嘉宾——云和恩墨(北京)信息技术有限公司创始人盖国强。

分享、互助、创造 网红老盖和DTCC2017

  老盖和DTCC的渊源可以追溯到ITPUB论坛创建之初,通过论坛的活动及DTCC大会,老盖结识了不少志同道合的好友,随后一同创立了云和恩墨。如今,云和恩墨已取得不错的成绩,老盖还是依然希望能够延续当年的分享、互助、创造的快乐,将相互学习的精神和思想在企业中传递下去。

  说到最近关注的技术,在采访中,老盖说道“云技术的理念彻底改变了用户构建IT系统的模式,也改变了运维模式。”传统IT模式,客户构建IT系统是每个业务应用搭建独立的系统,在后期造成了大量的信息孤岛,也为管理和运维带来难题。受云化思想的影响,很多企业加速将现有的IT系统改造成云平台。云带来了最直接的便利,各种云产品和应用会以润物细无声的姿态融入到企业的现有技术体系之中。

  性能问题当防患未然,治本源头

  这些年,云和恩墨一直在传播“由案例总结规则、聚规则而成规范,由规范而生产品,用产品替代人力。”理念源于经历无数问题和经验,采访中老盖告诉笔者:企业数据服务中出现频率最高的是性能问题。线上系统运行了一定周期,数据量增长、用户使用度增加都会看出应用程序设计中的问题。在运行中出现的性能伴随了应用阻塞、服务降级、业务损失等问题都是企业密切关注的。

  那么这些问题是什么导致的?一个编写不良的SQL代码、一个考虑不周的算法,在高并发的生产环境下,可能因为不佳的执行计划、低下的执行性能而引发一次生产事故。因此,这类情况多数由于SQL问题导致。针对这类问题,还靠一句老话“防患于未然,治本于源头。”在开发阶段从源头发现解决问题才是治本的根本解决。

  采访中,老盖也告诉笔者云和恩墨也正沿着这条路前行,通过总结数以千计的SQL优化案例,形成SQL开发规范,通过凝聚规范开发产品,并且最终实现DevOps时代的DBA转型。

  数据安全方面,企业任重道远

  笔者与老盖谈起了几次数据库事故,让业内印象深刻的是用户Oracle数据库遭遇“比特币勒索事件”。很多用户遭遇Oracle的勒索事件后,因为对入侵方式不了解产生恐慌。老盖说,在互联网时代,信息不对称隐藏着巨大的风险。但是无论是Oracle数据库的比特币事件、MongoDB赎金事件,还是GitLab误删除事件,其实体现出来的都是低级错误——盗版软件、缺省部署、误操作等等,这也说明在数据安全方面,企业还有很长的路要走。老盖也总结了这些事件带来的警示:

  1、安全风险无处不在,安全意识需要加强。在现实的数据环境中,数据安全问题可能出现在任何一个意想不到的环节,要想保障数据安全,必须提高安全意识,不断加强安全防范,这样才能不断拥有一个不断完善进步的数据环境,防范和抵御种种未知风险。

  2、人为误操作频现,加强自动化运维。在运维过程中,人的误操作难以彻底避免,所以运维要朝着自动化、智能化的方向去演进,用成熟的软件和算法去替代人,这也是降低成本,提升企业信息安全的必经之路。

  3、盗版软件危害大,软件来源需控制。不可信的信息和数据源都可能会为企业带来巨大的风险,Oracle数据库的比特币事故是因为很多程序员或DBA下载了被篡改的盗版开发工具导致的,加强软件和产品的正版化,控制企业的可信软件来源是安全的重要一环,我们倡导大家使用正版软件,规避不明来源软件隐藏的安全风险。

  总之,金融企业的数据安全做的最好。因为数据的重要性高、国家数据安全要求级别高,由此也可以看到,企业重视程度才是决定数据安全的首要条件。

  老盖和他的数据安全之16军规

  由于近期数据库事故频发,针对Oracle数据库的安全,老盖总结了“数据安全的16条军规”同时也希望能够引起企业足够的重视。

  1、备份重于一切:有了有效的备份,即使遭遇灾难,也能应对。对于重要的生产环境,适当建立备库进行数据保护,查询分担,也会减少生产库的风险;唯一会让DBA们从梦中惊醒的就是:没有备份! 所以对于数据库运维来说,第一重要的是做好备份!有备方能无患!

  2、严格管控权限:过度授权即是为数据库埋下安全隐患,在进行用户授权时一定要遵循最小权限授予原则,避免因为过度授权而带来的安全风险。本次安全风险,如果用户只具备最低权限,如不具备DDL权限,那么也不会遭到风险;

  3、明确用户职责:应当明确不同的数据库用户能够用于的工作范围,应当使用普通用户身份的,就绝对不应该使用DBA的用户身份,只有职权相称,才能够避免错误,降低风险。

  4、密码策略强化:数据库用户应当使用强化的密码规则,确保弱口令带来的安全风险,很多数据泄露问题来自弱口令攻击和提权;

  5、限制登录工具:明确限制不同工具的使用场景,明确规定工具的准确来源,或者通过堡垒机等来限制数据库访问。对于工具也可以做出明确规则和限制,如限制仅能通过SQL Developer访问生产,PL/SQL Developer工具仅能访问测试环境,以减少安全风险甚至误操作风险;

  6、禁止远程DDL:可以限制DDL操作仅能在数据库服务器本地进行,禁止远程连接执行DDL操作,这一手段在很多公司被严格执行,如果具备这一规则,此次的事故可以被直接屏蔽掉;

  7、使用绑定变量:在开发过程中,严格使用绑定变量,绑定变量可以防范SQL注入攻击,减少数据库安全风险;这次安全事故,很多用户开始猜测是SQL注入,走了很多分析上的弯路;

  8、监控监听日志:监听日志记录了数据库访问的来源、程序等信息,包括恶意扫描,密码尝试等,一定要重视监听日志的作用,并对其进行分析和监控,以清楚的汇制数据库访问图谱;

  9、数据网络隔离:数据库的网络环境应该一直隐藏在最后端,避免将数据库置于直接的访问连接之下,由此可以减少数据库的访问风险;

  10、测试生产隔离:互通就意味着同时可以访问,也就可能带来很多意想不到的安全风险,企业应当将测试环境和生产环境部署于不可互通,或者不可同时访问的网络环境中,避免因为错误连接而发生的数据库灾难。分离部署一方面可以降低误操作的可能性,也可以屏蔽一些无关的访问可能,从而从网络链路上保证数据安全;

  11、密码差异设置:我们建议用户在不同环境中采用不同的密码设置,这是因为一方面产品环境和测试环境面对的访问用户不同,密码设置相同则意味着产品环境的安全性完全得不到保障;另一方面,DBA登录到不同的数据库需要使用不同的密码,这进一步减低了DBA在错误的环境下执行命令的可能性。

  12、重要数据加密:很多重要的数据,需要加密存储,最典型的就是用户和密码信息,大量的泄密事件本质上是因为缺乏最基本的加密防范,对重要数据实施一定的安全防护加密,是应当予以适时考虑的安全方面之一;

  13、适时软件升级:这里的软件指数据库软件,尤其是当Oracle已经发布了安全补丁,已知的安全漏洞被黑客利用,则更可能对数据库产生致命的伤害;

  14.、防范内部风险:不可否认,绝大部分安全问题都来自于企业内部,来自最紧密、最轻易的接触和访问,企业的人员变动,岗位变更,都可能导致数据安全问题的出现,单存依靠对管理员的信任不足以保障数据安全,必须通过规章、制度与规 范的约束才能够规避安全风险。很多企业为了便利而舍弃规范、规章或者安全限制是得不偿失的做法。安全防范应当从内部做起,从限制约束自我做起,当最紧密相关的访问都遵从守则,那么系统的安全性就能够获得大幅度的提升。

  15、树立安全意识:安全问题最大的敌人是侥幸,很多企业认为安全问题概率极低,不会落到自己的环境中,所以对于安全不做必要的投入,造成了安全疏忽。所以安全问题最大的敌人是我们自己,安全需要一点一滴的加强,逐步完善,云和恩墨一直帮助核心客户进行全面的安全评估,制定安全方案,守护数据安全。

  16.、开始安全审计:以Oracle数据库为例,数据库已经提供了很多安全防范的手段和方法,我们建议用户适当展开安全防范措施,开启部分任务审计,定期分析数据库风险,由此逐步完善数据库安全。

  写在最后

  在即将到来的DTCC2017的数据库技术大会上,盖国强表示了期待,并且剧透了他的演讲《数据与基石——中国Oracle用户使用情况分析报告》。对于这个主题,想要分享一是数据是今天所有企业运行的基础和基石,如何收集数据、保存数据、使用数据将成为未来企业新的制高点;另一个是通过数据来呈现今天企业级数据环境所处的现状。

  在采访的最后,老盖表示随着数据的进一步聚集和汇集,大数据的预测也将会更加准确。云和大数据,必然成为基石,承载着IT的未来世界。

0
相关文章