Oracle11g用户防范之管理安全密码(oracle11g用户密码)
Oracle11g:用户防范之管理安全密码
在Oracle数据库中,管理安全密码对于用户的重要性不言而喻。安全密码可以有效地保护敏感信息和敏感数据,防止未经授权的人员访问和篡改数据。为此,本文将介绍一些管理安全密码的方法,以提高用户的安全性和数据的安全性。
1. 密码复杂度
密码复杂度是衡量密码强度的一个重要指标。Oracle11g中,可以通过以下语句来设置密码复杂度要求:
ALTER PROFILE default LIMIT PASSWORD_VERIFY_FUNCTION verify_function_name;
其中,verify_function_name是密码验证函数的名称。Oracle提供了默认的密码验证函数,可以直接使用:
ALTER PROFILE default LIMIT PASSWORD_VERIFY_FUNCTION ora12c_verify_function;
然后,可以使用CREATE USER语句创建新用户并分配PROFILE:
CREATE USER new_user IDENTIFIED BY password PROFILE default;
2. 密码策略
密码策略是一组规则和要求,用户必须满足这些要求才能更改或设置密码。Oracle11g中,可以通过以下语句来设置密码策略:
ALTER PROFILE default LIMIT FLED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 PASSWORD_LIFE_TIME 90 PASSWORD_GRACE_TIME 7;
其中,FLED_LOGIN_ATTEMPTS是指用户登录失败的最大次数;PASSWORD_LOCK_TIME是指密码被锁定的时间(以天为单位);PASSWORD_LIFE_TIME是指密码保留的天数;PASSWORD_GRACE_TIME是指用户的Grace Period(容忍期)。
3. 密码加密
Oracle11g中,密码存储是加密的,可以使用以下语句来检查密码加密方式:
SELECT name, version, algorithm FROM sys.user$ WHERE name=’new_user’;
其中,version是指使用的密码版本,algorithm是指使用的加密算法。Oracle11g中,支持的密码版本包括11gR1、11gR2和12c。
4. 审计安全
审计安全是一种跟踪和记录所有安全相关活动的方法,可以检测和诊断潜在的安全威胁。Oracle11g中,可以通过以下语句来启用审计安全:
ALTER SYSTEM SET audit_trl=db SCOPE=SPFILE;
在SPFILE中启用审计跟踪后,必须重新启动Oracle实例才能使配置生效:
SHUTDOWN IMMEDIATE;
STARTUP;
然后,可以使用以下语句来查看安全审计记录:
SELECT * FROM dba_audit_trl;
5. 安全连接
安全连接是指使用SSL / TLS协议加密连接,防止敏感信息在传输过程中被窃取或拦截。Oracle11g中,需要进行一些设置才能启用安全连接。需要启用Oracle Net Services的SSL / TLS支持:
cd $ORACLE_HOME/network/admin/
orapki wallet create -wallet $ORACLE_HOME/network/admin/wallet -auto_login
orapki wallet add -wallet $ORACLE_HOME/network/admin/wallet -dn CN=OWA
orapki wallet display -wallet $ORACLE_HOME/network/admin/wallet
其中,wallet是Oracle Net Services使用的SSL / TLS证书存储,可以选择自动生成或手动创建。
然后,在listener.ora中添加以下参数:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1)
(ENVS = “LD_LIBRARY_PATH=/u01/app/oracle/product/11.1.0/db_1/lib”)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
(SECURITY = (SSL_SERVER_CERT_DN = “CN=OWA”))
)
)
其中,(SECURITY = (SSL_SERVER_CERT_DN = “CN=OWA”))指定了使用SSL / TLS连接的证书。
在sqlnet.ora中添加以下参数:
SQLNET.AUTHENTICATION_SERVICES= (NONE)
SQLNET.ENCRYPTION_CLIENT = REQUIRED
SQLNET.ENCRYPTION_SERVER = REQUIRED
SQLNET.SSL_VERSION = 1.2
SSL_CIPHER_SUITES= (SSL_RSA_WITH_AES_128_CBC_SHA256)
其中,SQLNET.ENCRYPTION_CLIENT = REQUIRED和SQLNET.ENCRYPTION_SERVER = REQUIRED分别指定了客户端和服务器端需要使用SSL / TLS协议加密连接。
综上所述,通过设置密码复杂度和密码策略,加密存储和审计跟踪数据库中的用户名和密码,以及启用SSL / TLS协议加密连接,可以有效地提高数据库安全。使用Oracle11g的用户应当牢记这些方法,并且不断更新和优化自己的防范措施,以保障数据的安全。