【环境介绍】
系统环境:Solaris + Oracle 12CR2
【背景描述】
基于集团数据库安全检查项,需要把sys用户锁定或者修改复杂口令整改。
在整改前已经对参数remote_login_passwordfile进行修改。
漏洞项:禁止SYSDBA用户从远程登陆
修复方法:(紧急,无具体操作方案)
在spfile中设置REMOTE_LOGIN_PASSWORDFILE=NONE来禁止SYSDBA用户从远程登陆:
SQL>alter system set remote_login_passwordfile=NONE scope=spfile sid=*;
SQL>shutdown normal;
SQL>startup;
SQL>show parameter remote_login_passwordfile ###值为NONE则整改完成
修复方法:(紧急,无具体操作方案)
在spfile中设置REMOTE_LOGIN_PASSWORDFILE=NONE来禁止SYSDBA用户从远程登陆:
SQL>alter system set remote_login_passwordfile=NONE scope=spfile sid=*;
SQL>shutdown normal;
SQL>startup;
SQL>show parameter remote_login_passwordfile ###值为NONE则整改完成
对sys用户锁定时,12c 锁定sys用户报错,同时修改密码时也报错
ORA-40365: The SYS user cannot be locked while the password file is in its current format
ORA-40365: The SYS user cannot be locked while the password file is in its current format
【问题处理】
因为12CRAC的密码文件保存在ASM中,需要创建,指定ASM存储目录,参数为format=12.2,否则仍然报错
=========12c RAC修改数据库密码文件(ASM)=========
srvctl config database -d xzjsdb
orapwd dbuniquename=xzjsdb delete=y
orapwd file='+DBDATA' dbuniquename=oracledb format=12.2
Enter password for SYS: XXx_xxx
srvctl config database -d xzjsdb
orapwd dbuniquename=xzjsdb delete=y
orapwd file='+DBDATA' dbuniquename=oracledb format=12.2
Enter password for SYS: XXx_xxx
=========12c 修改数据库密码文件(文件系统)=========
orapwd file=/u01/app/oracle_base/product/12.2.0/db_1/dbs/orapw$ORACLE_SID password=XXx_xxx entries=20 format=12.2
orapwd file=/u01/app/oracle_base/product/12.2.0/db_1/dbs/orapw$ORACLE_SID password=XXx_xxx entries=20 format=12.2
【总结】
remote_login_passwordfile参数确实影响sys用户参数的修改。
对于sys用户禁用远程登录一定要评估外部应用是否使用到sys用户远程登录使用,在创建数据后对数据库默认用户加密减少后期整改。