1、撤销Public 组的一些不必要权限,严格限制以下程序包的执行权限:
UTL_FILE:该程序包允许oralce 用户读取服务器上的文件,如果设置错误的话,可能可以得到任何文件。
UTL_HTTP:该程序包允许oracle 用户通过HTTP 访问外部资源包括恶意的web 代码和文件。
UTL_TCP: 该程序包允许oracle 通过TCP 建立连接,从而从网络上得到可执行文件。
UTL_SMTP: 该程序包允许oracle 通过SMTP 方式进行通信,从而转发关键文件。
撤销以上包的执行权限:
Sql:
revoke EXECUTE on UTL_FILE from public;
revoke EXECUTE on UTL_TCP from public;
revoke EXECUTE on UTL_SMTP from public;
revoke EXECUTE on UTL_HTTP from public;
2、“FAILED_LOGIN_ATTEMPTS”用于配置用户密码连续输入出错的最大次数,超过该值则锁定该用户帐号。
查询“FAILED_LOGIN_ATTEMPTS”的值。
SQL> select * from dba_profiles s where s.profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
修改“FAILED_LOGIN_ATTEMPTS”的值为“UNLIMITED”。
SQL>alter profile default limit failed_login_attempts unlimited;
修改“FAILED_LOGIN_ATTEMPTS”的值为“10”。
alter profile default limit failed_login_attempts 10;
如果有用户已经被锁定,则以系统用户登录数据库,执行如下命令,对锁定的帐户解除锁定。
SQL> alter user username account unlock identified by password ;