Mysql
隨著時間的推移為mysql管理員隨機生成密碼?
我有這樣一個想法,即通過創建以下內容來保護我的數據庫的管理員帳戶:
- 觸發器在 mysql 中每小時啟動一次,此觸發器啟動儲存過程
- 儲存過程使用 md5(date()+pre shared key+rand()) 生成新密碼
- 我在 vb 中有一個應用程序,它每小時生成相同的密碼,然後我可以使用該密碼登錄。
然而,這仍然只是一個想法,我不知道這是否可能,你知道是否有人嘗試過這個?
任何連結或參考資料。
我的朋友的靈感來自我的朋友,他有一個在他登錄工作站時掛在脖子上的小設備中生成的密鑰,有人知道這個安全程序叫什麼嗎?
可能發生的限製或問題是什麼?(伺服器崩潰/重啟)
謝謝!
你為什麼想做這個?它可以減輕什麼風險?
這聽起來像是一種將自己鎖定在數據庫之外的好方法,需要停機才能恢復。通過使用防火牆和 SSH 保護伺服器並保持 MySQL 身份驗證簡單,從而限制您的暴露。如果您擔心來自受信任網路的暴力攻擊,請將 max_connect_errors 設置為較低的值,這樣遠端主機就會被阻止。並且不要使用“root”作為您的 root 使用者。禁用該帳戶並創建一個具有不同名稱的新超級使用者。
你朋友的那個設備很可能是由 RSA 製造的,是一個SecurID標籤,它使用雙重身份驗證來保護工作站。大量的研發投入到該產品中。您的 VB 腳本不會那麼奢侈。
很簡單,MySQL 身份驗證還不夠堅固,無法保證這種類型的基礎設施。一個名副其實的攻擊者可以訪問開放的 MySQL 埠,他們會尋找更一般的漏洞,而不是浪費時間進行暴力破解。
就在我的腦海中,這有一些問題:
如果你的時鐘慢了一兩分鐘會發生什麼?如果作業或觸發器失敗怎麼辦?你怎麼知道你的數據庫密碼處於什麼狀態。你如何在你的 VB 腳本和伺服器上生成相同的隨機字元串?如何安全地儲存生成的密碼?
不要這樣做。努力選擇強密碼(不是 l33tsp34k)並鎖定伺服器本身,而不是試圖重現一家擁有數千名員工的公司已經設法做到的事情。