DBA_USERS_WITH_DEFPWD 视图可以查看数据库默认密码
DBA_PROFILES 视图可以查看数据库密码得策略
INACTIVE_ACCOUNT_TIME 数据库未活动将自动锁定
FAILED_LOGIN_ATTEMPTS 失败锁定用户,密码输入次数尝试
PASSWORD_GRACE_TIME 设置用户在密码过期之前必须更改密码的天数
PASSWORD_LIFE_TIME 密码过期时间
PASSWORD_LOCK_TIME 设置用户登录失败后锁定得天数
PASSWORD_REUSE_MAX 一个整数,用于指定密码可以重复使用之前所需的密码更改次数
PASSWORD_REUSE_TIME 一个数字,指定密码的较早使用和下次使用之间的天数
1、设置密码过期时间,和生命周期控制
修改此sql文件“utlpwdmg.sql”并执行
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 180
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME 1
INACTIVE_ACCOUNT_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION ora12c_verify_function;
2、设置并启用/关闭数据库用户密码复杂度
密码不少于 8 个字符,并且至少包含 1 个数字和 1 个字母字符。
密码与用户名不同或用户名反了。
密码与数据库名称不同。
密码不包含单词oracle(例如oracle123)。
密码与之前的密码至少相差 8 个字符。
密码至少包含 1 个特殊字符。
查看是否开启
select limit from dba_profiles where RESOURCE_NAME='PASSWORD_VERIFY_FUNCTION' and profile='DEFAULT';
catpvf.sql
@$ORACLE_HOME/rdbms/admin/catpvf.sql
GRANT pmsith EXECUTE ON ora12c_strong_verify_function;
ALTER PROFILE default LIMIT PASSWORD_VERIFY_FUNCTION ora12c_strong_verify_function; //启用密码复杂度校验
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL; //禁用密码复杂度校验
查看密码策略:
set linesize 333
col profile for a20
col resource_name for a25
col resource for a15
col limit for a20
select * from dba_profiles where resource_type='PASSWORD';
3、设置仅仅本地用户采用系统认证
show parameter REMOTE_OS_AUTHENT; 默认值和要求值:false
alter system set REMOTE_OS_AUTHENT=false;
4、设置特权用户禁用远程密码机文件验证登录
show parameter remote_login_passwordfile;
none:
Oracle 忽略任何密码文件。因此,特权用户必须通过操作系统的身份验证。
5、查看oracle默认用户数是否更改了密码
select * from dba_users_with_defpwd;
6、配置oracle审计功能(大概描述,因为目前已经有了额外的sql审核操作审计系统)
查看oracle审计配置,oracle自身审计分为两种:
①标准审计,基本审计数据库和数据库对象发生了什么操作
②精确审计,审计SQL级别、字段级别等
show parameter audit;
示例:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/SNMSCDB/adump
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string DB
unified_audit_common_systemlog string
unified_audit_sga_queue_size integer 1048576
unified_audit_systemlog string
解释审计基础配置:
audit_file_dest:审计文件存储的位置
audit_sys_operations: sys用户审计是否开启[TRUE],记录所有sys用户的操作
audit_syslog_level:
audit_trail:(非动态必须重启才能生效)
None:是默认值,不做审计;
DB:将audit trail 记录在数据库的审计相关表中,如aud$,审计的结果只有连接信息;
DB,Extended:这样审计结果里面除了连接信息还包含了当时执行的具体语句;
OS:将audit trail 记录在操作系统文件中,文件名由audit_file_dest参数指定;
概述审计粒度控制语句审计:
AUDIT sql_statement_clause BY {SESSION | ACCESS} WHENEVER [NOT] SUCCESSFUL;
概述审计粒度控制权限审计:
AUDIT schema_object_clause BY {SESSION | ACCESS}WHENEVER [NOT] SUCCESSFUL;
取消审计操作:
NOAUDIT all;




