2012-08-10 26 views
0

我正在爲我的Rails應用程序使用MySQL。在我的database.yml中,我有以下內容:Rails - 以root用戶身份連接到MySQL

production: 
    adapter: mysql2 
    database: application_name_production 
    username: root 
    password: password 
    host: localhost 

我想知道,可以以root用戶身份連接到數據庫嗎?它會比使用除root之外的其他用戶更安全嗎?

回答

3

這是存儲在明文,所以是的,這是一個非常糟糕的事情。如果有人能夠訪問您的網絡服務器,可以閱讀密碼。嘿,它可能是用戶root訪問整個系統的相同密碼:)

創建一個只能與特定於應用程序的數據庫一起工作的數據庫用戶。那麼如果有人竊取了你的database.yml,那麼只有這些數據可以被盜取/編輯/銷燬。不要使用其他地方使用過的密碼。如你所料,當黑客入侵你的系統時,黑客會立即使用自動腳本搜索database.yml文件。因此,在進入您的系統一秒鐘內,他可以訪問您的所有數據。

2

經與集所需的權限的單獨的用戶只對一個數據庫(和任何系統)提供了對黑客

附加步驟,那麼,爲什麼不花上5分鐘時間創建一個單獨的用戶保存時間從可能的黑客攻擊中恢復?

1

給出root密碼(對於系統,數據庫...)是非常糟糕的。這就像給每個湯姆,迪克和哈利一套你的前門鑰匙。

所以只需花一點時間創建具有適當權限的用戶即可。這將實現保護系統完整性,數據庫,表格和可執行操作的附加優勢。

在我看來,我只是使用存儲過程的網站訪問,只授予執行存儲過程。這樣可以確保在卡片靠近數據庫胸部時,沒有什麼討厭的東西可以蠕變並保持性能。畢竟網站的數據庫是最大的斷言之一。

相關問題