【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的sys密碼該如何重置;附如何修改oracle資料庫使用者密碼Oracle密碼資料庫
- Oracle 11g 測試停庫對job的影響Oracle
- Oracle 11g 密碼延遲認證與 library cache lock 等待Oracle密碼
- 資料庫裡賬號的密碼,需要怎樣安全的存放?—— 密碼雜湊(Password Hash)資料庫密碼
- ORACLE 資料庫業務使用者密碼重置慎用特殊字元Oracle資料庫密碼字元
- oracle 11g資料庫三大最佳化手段之一的ash生成及詳解Oracle資料庫
- oracle dg庫資料檔案建立失敗ORA-01111Oracle
- Kettle8.2連線Oracle資料庫失敗解決方法Oracle資料庫
- 本地oracle資料庫忘記使用者名稱密碼解決方案Oracle資料庫密碼
- Error infos:DedeCms錯誤警告:連線資料庫失敗,可能資料庫密碼不對或資料庫伺服器出錯!Error資料庫密碼伺服器
- Error infos: DedeCms錯誤警告:連線資料庫失敗,可能資料庫密碼不對或資料庫伺服器出錯!Error資料庫密碼伺服器
- Django 遷徙資料庫 失敗Django資料庫
- jquery圖片直接貼上上傳的失敗嘗試jQuery
- 監測Linux上失敗的登入嘗試方法分享Linux
- NordPass:資料顯示全球最常用的密碼是“password”密碼
- 華納雲:防止資料庫資料丟失的幾個方法資料庫
- Oracle資料使用者密碼過期處理方法Oracle密碼
- Dedecms錯誤警告:連線資料庫失敗,可能資料庫密碼不對或資料庫伺服器出錯怎麼解決?資料庫密碼伺服器
- 11G oracle資料庫重新啟動crsOracle資料庫
- 靜默安裝Oracle資料庫11gOracle資料庫
- Oracle 11g用impdp還原資料庫Oracle資料庫
- oracle 11g 單例項資料庫的安裝Oracle單例資料庫
- 資料庫遠端連線失敗資料庫
- Oracle 11g的使用者密碼預設為180天過期的修改方法Oracle密碼
- 在輕量應用伺服器上的學習日誌(嘗試失敗了)伺服器
- Oracle EBS 資料庫密碼複雜度設定Oracle資料庫密碼複雜度
- 織夢資料庫連線失敗的原因資料庫
- 網頁提示連線資料庫失敗是怎麼回事(網站資料庫連線失敗)網頁資料庫網站
- ORACLE密碼錯誤驗證延遲Oracle密碼
- MongoDB 資料庫安全之使用者密碼修改MongoDB資料庫密碼
- 延遲密碼驗證特性引起的資料庫HANG死及當機密碼資料庫
- .NET Core授權失敗如何自定義響應資訊?
- Oracle 11G資料庫單例項安裝Oracle資料庫單例
- hive初始化mysql資料庫失敗的原因HiveMySql資料庫
- 資料庫到底應該如何儲存密碼?資料庫密碼
- mssql2008使用者預設資料庫登陸失敗的解決方法SQL資料庫