加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 服务器 > 安全 > 正文

DBA在传统企业数据库安全建设上能做些什么?

发布时间:2021-01-14 18:52:52 所属栏目:安全 来源:网络整理
导读:副标题#e# 《DBA在传统企业数据库安全建设上能做些什么?》要点: 本文介绍了DBA在传统企业数据库安全建设上能做些什么?,希望对您有用。如果有疑问,可以联系我们。 本文根据代海鹏老师在〖4月8日DBAplus社群上海数据库技术沙龙〗现场演讲内容整理而成.
副标题[/!--empirenews.page--]

《DBA在传统企业数据库安全建设上能做些什么?》要点:
本文介绍了DBA在传统企业数据库安全建设上能做些什么?,希望对您有用。如果有疑问,可以联系我们。

本文根据代海鹏老师在〖4月8日DBAplus社群上海数据库技术沙龙〗现场演讲内容整理而成.

讲师介绍

代海鹏

新炬网络资深数据库工程师

  • 擅长数据库性能优化、故障诊断,曾为中国人寿、中国移动、国家电网、太平洋保险等大型企业提供数据库技术支持服务.

分享大纲:

1面对数据泄密,DBA能做什么?

2面对数据丢失,DBA能做什么?

3数据库备份及演练

我把数据的安全事件简单分为两类,第一类是泄密事件,第二类是数据丢失事件.

先说说近年来影响比较大的数据泄密事件:

  1. 洲际酒店在内的10大酒店泄密大量客人开房的信息包括姓名、身份证被泄密,直接导致客人量下降;
  2. 下一个是韩国2000万信用卡信息泄露,引发“销户潮”;
  3. 某网数据泄漏,全国各地有39名用户被骗,诈骗金额高达140多万.像这类数据泄露,如果你的亲属朋友是被骗人之一,我相信感受一定与光看数字的感触不同;
  4. 某贷宝被脱裤,导致10G裸条泄露.

再说说近期影响较大的数据丢失事件:

  1. Gitlab99%数据丢失:1月份时,某外国工程师对自认为是空文件夹的文件夹做了一个删除,过了两秒他反应过来了,我是不是搞错服务器了,后果是几百G的数据文件被删得就剩下3个G;
  2. 炉石传说30%数据丢失:有4人在1月份提议把1月份作为数据安全月,也不至于.这是怎么回事呢?炉石传说的数据库哥们带病运行了两天以后又回滚到故障以前,导致几天的数据全部丢失.这里我们不去深究到底什么技术原因导致竟然无法修复.

对此,我想说的是:我们的运维团队并没有我们想象中那么牛逼,所以我们要对生产抱有敬畏之心.

一、面对数据泄密,DBA能做什么?

1、用户管理

清理和锁定无用的数据库帐号.进了一个新环境,核心库账户是必查项.

  • 将未被锁定的帐号列出来和开发进行确认,每个用户都找到具体作用和应用.
  • 如账户无人认领,则通过DBA_HIST_ACTIVE_SESS_HISTORY 配合dba_users 把这个用户的语句抓出来,继续确认,语句如下:

  • 如果无法抓出相关信息,这时候就进行汇报,然后申请锁定用户.
  • 11G有非常多的用户,附件word 有其中最常见的31个用户的详细信息,包括用户名字以及这个用户是哪个Oracle默认组件会使用到的.

(点击此链接查看) ?

2、用户Profile

除了用户本身以外,还有用户的profile要进行检查,首先就是密码的验证算法,11G默认是没有算法的,我们要用脚本@?/rdbms/admin/utlpwdmg.sql创建名叫VERIFY_FUNCTION_11G的验证函数.

VERIFY_FUNCTION_11G函数验证项如下:

  • 密码不能小于8位
  • 密码和用户名不能一样
  • 也不能是反过来的用户名
  • 不能和数据库的服务名一样
  • 检查是不是简单的字典用于,比如password之类的
  • 不能是Oracle
  • 必须包含1个数字,一个字母,在检查的时候顺便检查与之前的密码最少有3个字母不同

profile中有两类属性:

  • 第一类是资源控制,控制逻辑读、SGA、空闲会话存活时长等等.这一类需要将参数resource_limit设置为TRUE才能生效;
  • 第二类是密码策略,包括 错误几次、密码失效、密码可重用周期、最多可重用次数、验证函数、密码锁定时间、到期后缓期执行等,该类型无需resource_limit参数配置.

3、权限管理

权限管理很简单,就是最小化原则.

最小化应用账户,在工作中我个人经验为默认给开发及应用账户的权限,就connect、resource、创建视图的权限即可.

reousrce的权限是有很多,可以创建视图,我只给这么多,如果你还想要别的,可以向DBA团队申请,DBA团队来给你审批.然后是数据库字典,普通用户禁止访问.为了禁止普通用户的访问可以用下面的07-DICTIONARY-ACCESSIBILTY进行限制.安全和便利总是相对的,越安全,那么操作起来就越复杂,所以说这里是否进行限制就见仁见智.我们可以把权限汇集成Role,一类应用所需的权限可以归类为一个单独的role,以后只要是类似应用上线不要再管理.而应用下线也可以通过Role快速回收对应权限.通过Role赋权是我的建议之一.

最小化DBA权限用户,一种是操作系统上面DBA组,其中操纵系统帐号最好就Oracle一个,因为DBA组所属用户可以通过操作系统验证直接以sysdba的权限登录到库里.另外一种,数据库里面有DBA角色,或者有大权限的帐号也一定要审查一下,如果有可疑的账户虽然没有DBA角色,但相关的权限却全部拥有的,更是一定要进行检查核对.

4、日志管理

日志管理主要是说审计,在后面发现问题时可以快速知道是之前谁做的操作.我们可以把审计配置好以后关闭审计,如果某天系统已经上生产后老板说你给我把这个库审计一下,我们只需一条命令就可以审计了,不需要再做一系列配置及资源申请.

审计涉及的参数:

  • AUDIT_TRAIL,有几种配置选项,将审计数据放在数据库中 或者放在文件系统中,是普通模式 还是 extend模式.详细的进reference一看便知,这个可自己调配
  • AUDIT_SYS_OPERATIONS参数建议打开,毕竟sysdba的威力其实是最大的

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读