【Password】Oracle 11g防止暴力破解資料庫使用者密碼的手段——延長失敗嘗試響應
Oracle 11g中為了防止暴力破解資料庫中使用者的密碼,提供了一種常見手段:延長失敗嘗試響應。
這種手段的策略是:在連續使用錯誤密碼反覆嘗試登入時,從第四次錯誤嘗試開始,每次增加1秒的延遲,最長延遲目前是10秒。
使用這種手段可以相對比較有效的防治使用者密碼的暴力破解(能夠使用到這種手段的前提是FAILED_LOGIN_ATTEMPTS引數設定的足夠大或無限大,否則使用者密碼超過10次的錯誤嘗試之後該使用者將被鎖定,參考《【故障】“ORACLE使用者被鎖定”故障處理和分析》http://space.itpub.net/519536/viewspace-608769)。
模擬一下這個暴力破解秘密的過程(為了簡便,使用同一個錯誤密碼進行嘗試)。
1.修改使用者錯誤密碼嘗試次數為無限次
sys@11gR2> alter profile default limit failed_login_attempts unlimited;
Profile altered.
2.前三次錯誤密碼嘗試
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m0.126s
user 0m0.020s
sys 0m0.020s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m0.123s
user 0m0.000s
sys 0m0.044s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m0.126s
user 0m0.020s
sys 0m0.028s
可見,在前三次錯誤密碼嘗試過程中,系統響應是沒有延遲的。
3.繼續使用錯誤密碼進行嘗試,體驗每次1秒的時間累加延遲
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m1.132s
user 0m0.004s
sys 0m0.036s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m2.128s
user 0m0.028s
sys 0m0.024s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m3.130s
user 0m0.024s
sys 0m0.024s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m4.127s
user 0m0.012s
sys 0m0.028s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m5.135s
user 0m0.004s
sys 0m0.032s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m6.129s
user 0m0.000s
sys 0m0.040s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m7.126s
user 0m0.000s
sys 0m0.044s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m8.141s
user 0m0.004s
sys 0m0.036s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m9.133s
user 0m0.012s
sys 0m0.028s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.128s
user 0m0.024s
sys 0m0.012s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.130s
user 0m0.012s
sys 0m0.020s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.126s
user 0m0.000s
sys 0m0.040s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.128s
user 0m0.008s
sys 0m0.040s
secooler@secDB /home/oracle$
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.128s
user 0m0.012s
sys 0m0.036s
在時間持續累加到10秒之後穩定在10秒。此後再使用錯誤密碼進行破解時,等待時間都將是10秒。
注意:如有過正確輸入密碼併成功登陸到資料庫的嘗試,如果再使用錯誤密碼嘗試登陸,將進入到下一個輪迴:前三次沒有延遲,之後每一次的錯誤嘗試都會增加1秒,直到穩定在10秒的延遲!
4.小結
可以預見到,常用的防止密碼暴力破解的手段將逐漸的被Oracle所採用,讓我們一同期待Oracle帶給我們的更多樂趣吧。
Good luck.
secooler
10.06.15
-- The End --
這種手段的策略是:在連續使用錯誤密碼反覆嘗試登入時,從第四次錯誤嘗試開始,每次增加1秒的延遲,最長延遲目前是10秒。
使用這種手段可以相對比較有效的防治使用者密碼的暴力破解(能夠使用到這種手段的前提是FAILED_LOGIN_ATTEMPTS引數設定的足夠大或無限大,否則使用者密碼超過10次的錯誤嘗試之後該使用者將被鎖定,參考《【故障】“ORACLE使用者被鎖定”故障處理和分析》http://space.itpub.net/519536/viewspace-608769)。
模擬一下這個暴力破解秘密的過程(為了簡便,使用同一個錯誤密碼進行嘗試)。
1.修改使用者錯誤密碼嘗試次數為無限次
sys@11gR2> alter profile default limit failed_login_attempts unlimited;
Profile altered.
2.前三次錯誤密碼嘗試
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m0.126s
user 0m0.020s
sys 0m0.020s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m0.123s
user 0m0.000s
sys 0m0.044s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m0.126s
user 0m0.020s
sys 0m0.028s
可見,在前三次錯誤密碼嘗試過程中,系統響應是沒有延遲的。
3.繼續使用錯誤密碼進行嘗試,體驗每次1秒的時間累加延遲
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m1.132s
user 0m0.004s
sys 0m0.036s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m2.128s
user 0m0.028s
sys 0m0.024s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m3.130s
user 0m0.024s
sys 0m0.024s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m4.127s
user 0m0.012s
sys 0m0.028s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m5.135s
user 0m0.004s
sys 0m0.032s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m6.129s
user 0m0.000s
sys 0m0.040s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m7.126s
user 0m0.000s
sys 0m0.044s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m8.141s
user 0m0.004s
sys 0m0.036s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m9.133s
user 0m0.012s
sys 0m0.028s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.128s
user 0m0.024s
sys 0m0.012s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.130s
user 0m0.012s
sys 0m0.020s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.126s
user 0m0.000s
sys 0m0.040s
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.128s
user 0m0.008s
sys 0m0.040s
secooler@secDB /home/oracle$
secooler@secDB /home/oracle$ time echo 'select sysdate from dual;' | sqlplus -s sec/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
real 0m10.128s
user 0m0.012s
sys 0m0.036s
在時間持續累加到10秒之後穩定在10秒。此後再使用錯誤密碼進行破解時,等待時間都將是10秒。
注意:如有過正確輸入密碼併成功登陸到資料庫的嘗試,如果再使用錯誤密碼嘗試登陸,將進入到下一個輪迴:前三次沒有延遲,之後每一次的錯誤嘗試都會增加1秒,直到穩定在10秒的延遲!
4.小結
可以預見到,常用的防止密碼暴力破解的手段將逐漸的被Oracle所採用,讓我們一同期待Oracle帶給我們的更多樂趣吧。
Good luck.
secooler
10.06.15
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-665702/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫密碼延遲驗證Oracle資料庫密碼
- 【PASSWORD】Oracle12c 如何檢查資料庫使用者使用的是預設密碼Oracle資料庫密碼
- Oracle 11g中的密碼延遲功能Oracle密碼
- 針對Oracle資料庫業務使用者延遲密碼登入的處理方法Oracle資料庫密碼
- ORACLE 11g的密碼錯誤延時驗證Oracle密碼
- 普通使用者ssh無密碼登陸失敗密碼
- NetBackup備份Oracle資料庫失敗-nbuOracle資料庫
- oracle 11g 密碼延遲驗證問題Oracle密碼
- CDH 5.13 hue資料庫連線測試失敗資料庫
- perl 資料庫連結失敗重試機制資料庫
- 資料庫裡賬號的密碼,需要怎樣安全的存放?—— 密碼雜湊(Password Hash)資料庫密碼
- 忘記oracle的sys密碼該如何重置;附如何修改oracle資料庫使用者密碼Oracle密碼資料庫
- oracle 11g資料庫使用者密碼180天自動過期調整Oracle資料庫密碼
- ORACLE 資料庫分析,重新編譯失敗過程Oracle資料庫編譯
- ORACLE 資料庫業務使用者密碼重置慎用特殊字元Oracle資料庫密碼字元
- Oracle資料庫SYS使用者密碼忘了怎麼辦??Oracle資料庫密碼
- oracle 資料庫密碼中包括@Oracle資料庫密碼
- 華納雲:防止資料庫資料丟失的幾個方法資料庫
- Django 遷徙資料庫 失敗Django資料庫
- informix資料庫啟動失敗ORM資料庫
- 監測Linux上失敗的登入嘗試方法分享Linux
- 在輕量應用伺服器上的學習日誌(嘗試失敗了)伺服器
- oracle 11g使用者密碼儲存Oracle密碼
- Oracle 11g 測試停庫對job的影響Oracle
- 測試1:Access Point(Wifi)的密碼暴力破解WiFi密碼
- 在JavaScript中實現LINQ——一次“失敗”的嘗試JavaScript
- 取消 11G延遲密碼驗證密碼
- NordPass:資料顯示全球最常用的密碼是“password”密碼
- 資料庫連線設定失敗!資料庫
- Kettle8.2連線Oracle資料庫失敗解決方法Oracle資料庫
- windows延緩寫入失敗怎麼辦 延緩寫入失敗的解決辦法Windows
- oracle 9i、10g、11g資料庫設定listener密碼的方法Oracle資料庫密碼
- 啟用oracle資料庫密碼函式Oracle資料庫密碼函式
- 透過Database Link/IMPDP,同步10G、11G資料庫失敗Database資料庫
- 追蹤多次嘗試密碼登入導致使用者被鎖的凶手密碼
- Oracle 11g修改資料庫使用者名稱Oracle資料庫
- 延遲密碼驗證特性引起的資料庫HANG死及當機密碼資料庫
- Oracle資料庫管理員賬號的密碼破解Oracle資料庫密碼