数据库安全策略与实施措施
面临的安全威胁
偷听与数据失窃
数据篡改
伪造用户身份
密码相关的威胁:数据字典攻击。
数据库可能存在的非法地网络访问的安全隐患
例如非工作时间访问核心业务表、非工作场所访问数据库、第三方软件开发商远程访问
等等行为,都可能存在着重大安全隐患。
目前普遍存在于Oracle数据库中的用户管理问题:
(1)权限过大:对ORACLE数据库编程和浏览的一般用户常常具有DBA (数据库管理员权限),
能对数据库系统做任何修改或删除。
(2)安全性差:很多ORACLE用户缺省存储位置都在系统表空间,这样不仅影响系统的正常
工作,而且不同用户的数据信息互相影响、透明,保密性差。随着数据的不断加入,有
可能使整个数据库系统崩溃。
(3)密码有规律:在ORACLE调试初期形成的用户名和密码一致的不良习惯保留到现在;系
统用户SYS和SYSTEM的密码也众所皆知。
网络计算环境的安全需求
分布式环境的安全需求
要求安全的网络连接
有一个统一的定义“用户是谁,用户被允许做什么”,如果没有这个统一的定义,管理员需要频繁地授权,成本太高。
异构环境的安全需求
需要支持多种符合工业标准的授权机制。
启用数据字典的保护
操作系统存取数据库的安全纲领
限制操作系统用户的数量
限制操作系统账户的权限
限制对数据库主目录和默认文件的修改能力。
限制符号连接
密码是系统防护的一道大门,密码的安全策略的顺利实施占有十分重要的地位。
创建密码的要求
密码的字符长度在12至30之间。
使用字母与特殊字符的混合体。
可以包括下划线,美元符,井号。
不要使用一个单词作为密码。
设置密码的示例SQL 如下:
connect system /
create user sec_admin identified by
用户权限的合理设置,可以实现明确地职责分工,实现相互制约的内部控制机制。减少数据被盗窃与篡改的风险。 ODV(oracle database vault)提供了一个完整与严密的解决办法。
用增强的安全方案解决安全问题,OAS提供了以下的安全特征,加密和授权。
在网络传输层支持加密以保护数据的私密性,算法有3DES,AES。
支持数据完整性算法 SHA-1 散列算法。以防护数据篡改,丢数据包和重请求的攻击。
listener.ora
ADMIN_RESTRICTIONS_LISTENER=ON
LISTENER=
(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=
(PROTOCOL=tcps)
(HOST = shobeen.us.example.com)
(PORT = 8281)))
sqlnet.ora
tcp.validnode_checking = YES
tcp.excluded_nodes = {list of IP addresses}
介绍
是什么
当低权限或者是应用程序发起的查询时,可以返回隐藏的数据。隐藏数据字段包括以下的方法。
全部隐藏:例如密码列
部分隐藏:例如身份证号码,电话号码,信用卡号码等
正则表达式:
随机的方式:
谁能创建
必须有执行PL/SQL包的权限。
什么时候使用
当你必须区别你的应用程序或者是用户必须读取的敏感数据时,例如身份证号码,信用卡号码等。
和审计相关的两个主要参数
Audit_sys_operations:
默认为false,当设置为true时,所有sys用户(包括以sysdba, sysoper身份登录的用户)
的操作都会被记录
Audit_trail:
None:是默认值,不做审计;
DB,Extended:这样审计结果里面除了连接信息还包含了当时执行的具体语句;
当开启审计功能后,可在三个级别对数据库进行审计:Statement(语句)、Privilege(权限)
、object(对象)例:
AUDIT DELETE ANY TABLE; --审计删除表的操作
AUDIT DELETE ANY TABLE WHENEVER NOT SUCCESSFUL; --只审计删除失败的情况
AUDIT DELETE ANY TABLE WHENEVER SUCCESSFUL; --只审计删除成功的情况
AUDIT DELETE,UPDATE,INSERT ON user.table by SYSTEM; --审计SYSTEM用户对表user.table的
delete,update,insert操作
通过AUDIT BY ON BEHALF OF语句,可以审计代理用户执行的代理操作。
可以根据具体的业务需求,对特定的数据表上的特定列,执行指定条件的审计。
FGA 在 Oracle 数据库中支持隐私和职能策略。因为审计发生在数据库内部而不是应用程序中,所以无论
用户使用的访问方法是什么(通过诸如 SQL*Plus 等工具或者应用程序),都对操作进行审计,允许进行非常简单的设置。
最小权限的原则。 成本风险平衡原则。以预防为主。
e40393,e10575
GB/T 20988—2007