追蹤多次嘗試密碼登入導致使用者被鎖的凶手

darren__chan發表於2014-12-01
1.找出被鎖表:
select username,account_status,lock_date from dba_users where account_status <>'OPEN';

2.查詢監聽日誌檔案:
監聽檔案一般在


$ORACLE_BASE/diag/tnslsnr//listener/trace下

可通過show parameter background_dump_dest 查詢
但我的資料庫oracle11g是asm,監聽在grid 使用者下:
我的路徑是 /software/grid/app/diag/tnslsnr/
/listener/alert/log_xx.xml

3.根據以上檢視被鎖時間,查詢該時間下相關的日誌。
原則是某短時間內某IP嘗試登入的日誌記錄條數過多。。
如:

10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49434)) * establish * lhoms * 0

10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49435)) * establish * lhoms * 0

這樣可知是上面10.69.1.11的ip嘗試多次失敗登陸造成的被鎖

查詢系統預設最多嘗試登入次數:
查詢“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; 


修改為30次
alter profile default limit FAILED_LOGIN_ATTEMPTS 30;





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29863023/viewspace-1353085/,如需轉載,請註明出處,否則將追究法律責任。

相關文章