在数据库的使用过程中,有时需要对资源进行限制,如密码过期时间限制、密码复杂度限制、密码错误次数上限及锁定时间限制等,此时我们可以通过以下的sql来进行相应的资源限制。
alter user xxxx limit <资源项> <限制值> … ;
具体资源限制项参考以下表格;
除去上述表格所列举的资源项,数据库安全版还可以对ip的黑白名单进行限制,ALLOW_IP | NOT_ALLOW_IP 。
需要注意的是,在进行黑名单和白名单的配置时,多个ip的设置需要使用逗号进行隔开,不能通过多次对单个ip的设置来实现对多个ip的限制,每次单独配置的ip都会将之前的配置覆盖,使之前所配置的黑/白名单失效。
这个机制非常的不方便,导致每次需要往黑名单或者白名单里新加ip的时候,都要把之前ip带上再重新配置;同时也存在着一定的风险,倘若某次修改操作中未将之前ip都带上,便会丢失之前的配置。
在完成了资源限制的配置之后,我们可以通过查询sysusers表来查看我们所限制的资源,非dba用户只能查询自己的表资源,若想查询所有用户资源限制,就必须使用属于dba角色的用户,或者使用安全审计员用户(SYSAUDITOR)进行查询。
一般情况下,并不建议对sysdba用户进行黑白名单的限制。其它用户在黑/白名单的配置时配错ip,还可以通过sysdba用户及时修改来进行抢救,但若是sysdba用户配置了一个错误的ip,那将会是灾难性的存在。所有资源限制操作,都是通过执行sql来配置的,在配置错误的时候,也只能通过执行sql的方式修改回来。而当sysdba用户被配置了一个不存在的ip,那么我们既不能通过其它用户来修改,也没有法子通过修改配置文件来进行抢救。所以一般就不要对sysdba用户的ip进行限制了,即使真的要对sysdba用户进行黑白名单的限制时,也一定要再三确认好ip是否正确。
下面说一下在配置错了ip之后的处理方案
1.非sysdba用户配置错了ip之后,可以通过使用sysdba用户来修改回正确的ip;
2.sysdba用户配置了错误的ip,抢救措施就没普通用户那么方便了
a.首先确认好所配置错误ip是哪个,可以通过SYSAUDITOR查询sysusers表进行确认;
b.取一台闲置的机器,将其虚拟网卡设置成相应ip,然后在该机器下连接至数据库;
c.连接至数据库后将sysdba用户的白名单配置修改为正确的配置;
d.使用正确的ip服务器访问数据库。
3.在以上第2种方式缺少执行条件或者无法生效的情况下,就只能通过dexp备份其它用户的数据,并在一个新初始化的库通过dimp工具还原数据;但这样做的方式就是永久丢失了sysdba用户的数据。
2的执行条件苛刻,3的执行又会丢失sysdba的数据,所以在给sysdba用户配置白名单的时候,一定要确认好配置无误方可执行。
文章
阅读量
获赞