oracle 賬戶鎖定時間,Oracle数据库安全基线

具体安全配置

账户和密码

禁止帐户共用

使用命令:

sqlplus /nolog;

connect /as sysdba;#登录到 sqlplus环境中

执行命令:select username from dba_users where ACCOUNT_STATUS='OPEN';查看数据库已启用的帐号。

确保系统中不存在账户共用的情况。

限制DBA组中用户

以root用户登录到操作系统,在命令行下输入cat /etc/group,确保DBA组是否只有Oracle帐户。

若Oracle用户不在DBA组使用下列命令加入:

usermod -G dba用户名

帐户锁定

1)查看数据库帐户;

SQL>select username,ACCOUNT_STATUS from dba_users;

2)除了SYS/SYSMAN/SYSTEM和业务帐户处于OPEN状态外,其他帐户均已锁定或删除。

口令锁定策略

以DBA权限帐户登录到sqlplus中,执行SQL语句:

select LIMIT from dba_profiles where RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS'AND PROFILE ='DEFAULT';

查看failed_login_attempts的值应小于或等于5。

口令过期警告天数

数据库发出警告到登录失效前的宽限天数:

以DBA权限帐户登录到sqlplus中,执行SQL语句:

select LIMIT from dba_profiles where RESOURCE_NAME='PASSWORD_GRACE_TIME'AND PROFILE ='DEFAULT';

查看password_grace_time的值应大于或等于7。

口令有效期

以DBA权限帐户登录到sqlplus中,执行语句:

select LIMIT from dba_profiles where RESOURCE_NAME='PASSWORD_LIFE_TIME' AND PROFILE ='DEFAULT';

查看password_life_time的值应小于或等于90。

账户锁定时间

账户登录超过有效次数锁定时间:

以DBA权限帐户登录到sqlplus中,执行SQL语句:

select LIMIT from dba_profiles where RESOURCE_NAME='PASSWORD_LOCK_TIME' AND PROFILE ='DEFAULT';

查看password_lock_time的值应大于或等于1/48(30分钟)。

口令重用次数

以DBA权限帐户登录到sqlplus中,执行SQL语句:select LIMIT from dba_profiles where RESOURCE_NAME='PASSWORD_REUSE_MAX' AND PROFILE ='DEFAULT';

查看PASSWORD_REUSE_MAX的值应为5或更大。

口令复杂度验证

以DBA权限帐户登录到sqlplus中,

执行SQL语句:select LIMIT from dba_profiles where RESOURCE_NAME='PASSWORD_VERIFY_FUNCTION'AND PROFILE='DEFAULT';

password_verify_function设置为verify_function。

确保默认帐户、密码无法登录

1)以DBA权限帐户登录到sqlplus中,命令如下:$sqlplus /nolog ; 2)检查以数据库默认帐户、密码是否能登录数据库,命令如下: SQL>connect system/manager;

SQL>connect sys/change_on_install;

SQL>connectsysman/oem_temp;

SQL>connectdbsnmp/dbsnmp;

口令加密

使用命令:sqlplus /nolog; connect /as sysdba;登录到 sqlplus环境中,执行命令:select username from dba_users where ACCOUNT_STATUS='OPEN';查看数据库已启用的帐号。

确保系统中不存在账户共用的情况。

DBSNMP默认账户

在安装oracle时,如果用缺省安装,oracle会自动创建DBSNMP用户,该用户的默认密码和用户名相同,出于安全考虑,;另外,也可以把该用户drop掉,删除方法执行:$ORACLE_HOME/rdbms/admin/catnsnmp.sql

重建方法执行:$ORACLE_HOME/rdbms/admin/catsnmp.sql

其他有威胁的账号号还有:CTXSYS,MDSYS,ORDPLUGINS,ORDSYS,OUTLN

权限分配

访问IP限制

设置$ORACLE_HOME/network/admin/sqlnet.ora文件中的参数:

tcp.validnode_checking=yes#对连接节点进行检查

tcp.excluded_nodes={list of IP address}

tcp.invited_nodes={list of IP address#确保已设置只允许信任的IP地址通过监听器访问数据库。

重启监听:

lsnrctl stop;

lsnrctl start

关闭Extproc功能

Extproc允许用户不进行身份认证就调用系统函数,存在安全风险。

检查LISTENER.ORA文件,删除以下内容:icache_extproc、PLSExtproc、Extproc。

限制特权账户远程登录

1)以DBA权限帐户登录到sqlplus中。

2)使用show parameter命令来检查参数:

REMOTE_LOGIN_PASSWORDFILE设置为NONE,特权用户无法远程登录到数据库。

账户最小权限分配

1)以DBA权限帐户登录到数据库执行以下命令:

SQL>select * from dba_role_privs;

SQL>select * from dba_sys_privs;

SQL>select grantee from dba_role_privs where granted_role='DBA';

2)普通帐户具有连接数据库以及对所管理的对象增添删改等操作权限,不应具有dba权限。

检查目录权限

检查$ORACLE_HOME/bin目录的权限是755,或者尽可能少的权限

检查DBA权限

对于SELECT_CATALOG_ROLE

EXECUTE_CATALOG_ROLE

DELETE_CATALOG_ROLE

DBA_ (all), 只赋予DBAs(dba_role_privs)

检查SYSDBA和SYSOPER的权限

设置listener.ora文件中的参数:

tcp.validnode_checking=yes

tcp.invited_nodes=(localhost,本机ip,应用服务器ip,管理机ip等)

重启监听:

lsnrctl stop;

lsnrctl start

数据文件权限

确保对$ORACLE_HOME/bin目录的访问权限尽可能少

ls -l $ORACLE_HOME/bin

确保该目录下的文件属主为oracle用户,且其他用户没有写权限。

连接数设置

1)以管理员身份登录数据库,命令如下:

$sqlplus /nolog ;

SQL>connect /as sysdba;

2)查看数据库最大进程数,命令如下:

SQL>Select value from v$parameter where name= 'processes';

3)查看oracle数据库进程数:

ps -ef |grep ora;

系统参数processes的值大于当前oracle数据库进程数。

审计与备份

监听程序管理

设置listener.ora文件中的参数:

ADMIN_RESTRICTIONS_listener_name=ON

数据库操作审计

检查系统参数audit_trail 的值是否设置为DB/TRUE、OS、DB_EXTENDED来打开数据库审计;

使用以下命令查看:

SQL>show Parameter audit

数据库备份

数据库定期备份,至少每周一次完全备份。

定期进行数据库备份与恢复有效性测试。

原文链接:Oracle数据库安全基线,转载请注明来源!

分享到:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值