移动安全 安全管理 应用案例 网络威胁 系统安全 应用安全数据安全 云安全
当前位置: 主页 > 信息安全 > 数据安全 >

启明星斗:权限治理让数据库更安然

时间:2013-11-22 18:20来源:TuZhiJiaMi企业信息安全专家 点击:
在数据库开辟过程中,假定研发人员良多,进行相干的权限治理是很是首要的工作,可以大年夜大年夜削减对数据库的误把持。 某天,公司出产环境中的某一个产品库被研发人员truncate一张很
Tags数据安全(840)启明星辰(20)安全(476)数据库(89)审计(5)Oracle(5)  

  在数据库开辟过程中,假定研发人员良多,进行相干的权限治理是很是首要的工作,可以大年夜大年夜削减对数据库的误把持。

  某天,公司出产环境中的某一个产品库被研发人员truncate一张很是首要的表,研发总监知道后很是生气,要求严格节制研发人员的权限标题问题,每小我用本身的用户名称把持数据库,审计每小我的把持权限,将每个研发人员对出产库的把持进行记实。

  在这类环境下,需要严格节制研发人员的DDL权限,限制用户对数据库进行DDL等把持。假定纯真的进行限制,可以经由过程触发器来进行节制,语句以下:

  CREATEORREPLACETRIGGERDDL_RESTRICT

  BEFOREDROPORCREATEORTRUNCATEORALTERONDATABASE

  DECLARE

  BEGIN

  IFORA_SYSEVENT()IN('DROP','CREATE','ALTER','TRUNCATE')

  ANDORA_DICT_OBJ_OWNER()IN('BUPTDREAM'AND

  ORA_DICT_OBJ_TYPEIN('TABLE') AND

  ORA_DICT_OBJ_NAME()NOTLIKE'%a%'AND

  ORA_DICT_OBJ_NAME()NOTLIKE'%b%'AND

  ORA_DICT_OBJ_NAME()NOTLIKE'%c%'THEN

  RAISE_APPLICATION_ERROR(NUM => -20000,

  MSG =>'避免'|| ORA_SYSEVENT() ||' '||

  ORA_DICT_OBJ_OWNER() ||'用户下的'||

  ORA_DICT_OBJ_NAME() ||'表,请与DBA联系');

  ENDIF;

  END;

  经由过程触发器可以节制开辟人员对出产库的DDL把持,假定想要避免delete的DML把持,也能够用触发器来实现。

  在Oracle数据库中对用户的治理是利用权限的编制,也就是说,假定直接将出产库的权限给某个用户,我们必需要已授权的表的名称前键进该表所有者的名称,所以比较麻烦。

  Oracle数据库中同义词是数据库方案对象的一个别号,经常常利用于简化对象拜候和进步对象拜候的安然性。在利用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图近似,同义词其实不占用实际存储空间,只有在数据字典中保留了同义词的定义。在Oracle数据库中的大年夜部门数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库治理员都可以按照实际环境为他们定义同义词。

  批量成立同义词的语句以下:

  select' create public synonym '|| OBJECT_NAME ||

  ' for CMAPP_PRODUCTION.'|| OBJECT_NAME ||';'

  fromuser_objects

  whereobject_typein

  ('TABLE','VIEW','PROCEDURE','TRIGGER','FUNCTION','PACKAGE');

  同义词赋权的语句以下:

  SELECT'grant select,insert,update,delete on '||

  OBJECT_NAME ||' to buptdream;'

  FROMUSER_OBJECTS

  WHEREOBJECT_TYPE ='TABLE';

  SELECT'grant select,insert,update,delete on '|| OBJECT_NAME ||

  ' to buptdream;'

  FROMUSER_OBJECTS

  WHEREOBJECT_TYPE ='VIEW';

  SELECT'grant EXECUTE on '|| OBJECT_NAME ||' to buptdream;'

  FROMUSER_OBJECTS

  WHEREOBJECT_TYPE ='PROCEDURE';

  SELECT'grant EXECUTE on '|| OBJECT_NAME ||' to buptdream;'

  FROMUSER_OBJECTS

  WHEREOBJECT_TYPE ='FUNCTION';

  SELECT'grant select on '|| OBJECT_NAME ||' to buptdream;'

  FROMUSER_OBJECTS

  WHEREOBJECT_TYPE ='SEQUENCE';

  经由过程上述编制,可以节制研发人员对出产库的把持,一旦权限被节制,就大年夜大年夜降落了数据库面对的风险。在这个过程中,我们可以采取审计编制记实下每个把持。

  在数据库开辟过程中,假定研发人员良多,进行相干的权限治理是很是首要的工作,可以大年夜大年夜削减对数据库的误把持。触发器是一个别例,别的经由过程同义词,可觉得每个用户伶仃成立用户,进步研发人员把持数据库时的专心程度,避免误把持的产生。

  启明星斗公司数据库审计专家点评

  本案例比较活泼,且具体描述了权限节制编制。从数据库安然的角度来讲,除成立杰出的权限节制机制,还要考虑治理上的风险(账号共用)及数据库本身弱点(缝隙操纵等),数据库本身的安然查抄、系统加固、审计等办法都很有需要。

------分隔线----------------------------

推荐内容