【DBA】Oracle DBA安全之道(规避风险,坚守底线)

运维安全,你不得不堤防

安全是什么

作为DBA来说,安全重点是数据安全,再个是自身安全。运维人员,要保证所负责系统正常稳定的运行,以保证业务的连续性。 DBA除了要保证业务的连续性,还要保护数据安全。

信息安全主要分为:

  • 保密性
  • 可用性
  • 完整性

客户越来越重视数据安全,作为数据库从业者,要深知“君子不立危墙之下”, 那么如何去辨别 危墙

数据安全可以从以下几个方面讨论:

  • 软件安全
  • 备份安全
  • 访问安全
  • 防护安全
  • 管理安全
  • 行为安全

软件安全

近几年,在Oracle相关软件中,Oracle11.2.0.4的Linux版本被人修改过,Pl/SQL软件被人修改过,客户中招的比比皆是。为啥会出现呢,一是基本上没有版本意识,再个对软件来源的大意,专业知识不够。

以Oracle为例,除了基础版本,其他版本都需要官方账号下载,所谓官方账号是通过购买Oracle公司License获取的,收费昂贵。也因为此,很多人就是网络上搜索,可惜,免费的午餐可能需要付出更多代价。 再个,Oracle会定期发布补丁程序,尤其季度性的,来不断为Oracle相关软件修补和加强。

软件安全跟DBA什么关系?
Oracle软件依托于操作系统,需要网络(后续讨论),那么操作系统的安全会影响到数据库的安全,因此操作系统、服务器甚至机房环境的安全也会影响的数据库的安全。 除软件本身之前,其身处环境也有很大影响。

除数据库软件外,对于硬件环境、操作系统等,尤其在实施前,一定要确认。

备份安全

以Oracle为例,数据库的备份主要是逻辑和物理,也就是expdp和RMAN,那么如何保证数据下来的数据是安全的和可用的,安全是不被他人获取用于其他目的,可用是当数据库出现问题是,备份数据是否可真正能用于恢复。

备份的目的是用于恢复,换句话,要以可恢复为目的进行备份,进行备份数据的安全保护。

备份除了防止生产业务库数据丢失之外,还要防止备份的数据丢失,这个更严重。 我们的身份等信息也许就这样散播的

访问安全

网络安全越来越被重视,除机房环境提供的防火墙等相关技术之外,数据库本身可以提供什么?

审计、白名单、权限分离、密码复杂度及相关策略。

访问安全的另一个重点是什么,==误操作==。 尤其很多业务系统生成库测试库使用相同的库名,如何避免,生产测试严格区别,对于生产库所涉及的所有用户密码,严格控制管理。

DBA的权限有多大,超乎你的想象

防护安全

上边的白名单应该放到这个里面,保护我们自身环境的安全,如果保护不了呢? 我们都知道9·11,除了恐怖袭击,技术层面来讲,它还带来了什么?

goldengate公司的起死回生,大家开始重视异地灾备了,后来Oracle收购了该公司。

“道高一尺魔高一丈”,没有完全不透风的墙,那怎么办,坐以待毙? 演练、不断加强防护措施。

大名鼎鼎的黑客 不是闹着玩的

管理安全

管理安全主要说的是操作规范,公司制度、客户制度、DBA操作规范。

==任何一个操作都有可能引起风险, 记住,是任何一个操作!==

例如制度方面:

  • 个人U盘,是否能插入客户的电脑、服务器?
  • 个人电脑电源、或者给手机充电,在机房中,是否可以直接接入?
  • 是否可以下载客户资料(巡检内容也算客户的资料)?
  • 客户数据库、操作系统相关账户、密码是否可以留存?
  • 数据库每个版本不一样,每个产品不一样,操作要注意(尤其涉及第三方软件,备份、HVR等)
  • 我们是Oracle DBA,非Oracle有权不处理,如果需要协助,识别难易程度,或向上反映

账户负责人、机房、监控、制度等

行为安全

行为安全在管理安全中也有提及,工程师操作规范也有相关守则。

这里重点提出,更多是无意识中的行为安全,例如因终端反应慢等问题,造成操作命令生效或者操作命令不完整情况下回车;生产环境概念不清晰,任意更改生产环境一些权限等。

一些相关说明:

  • 严谨使用rm -rf * 命令,==任何时候都严谨==
  • 备份,不管是升级、问题处理、甚至部署,能备份的都备份,如客户强烈说明可以不备份,书面说明
  • 每一条命令都要知道后果,==每一条==,包括增删改查等
  • 我不要你以为,更要不我以为, 要用事实说话
  • 夜里操作,尤其注意,可以申请其他同事一起
  • 操作,先落到记事本(别用word),在复制到终端
  • 确认所连接数据库库名
  • 先写方案、测试、完善方案、生产
  • 平时多流汗,战时不流血

天作孽,犹可恕;自作孽,不可活。 无心而为,如情况严重,但也要承担响应代价。

请使用浏览器的分享功能分享到微信等