天天看點

資料庫安全的5個基本實踐1.使用代理保護資料庫免受攻擊2.建立審計和健壯的日志記錄3.實行嚴格的使用者帳戶管理4.保證資料庫軟體和作業系統是最新的5.加密敏感資料,無論是在應用程式中,還是在資料傳輸中,甚至處于空閑時

原文:5 Essential Practices for Database Security

作者:Shane Johnson

翻譯:Diwei

譯者注:現在已經進入到大資料時代,是以資料和資料庫安全比以往任何時候都更加珍貴。如何確定組織機構和使用者資料的安全性和可靠性是每個人都得掌握的一項技能。以下為譯文。

一旦資料發生洩露,那麼付出的代價将是非常慘痛的。由于資料洩露而導緻的業務中斷、客戶信心喪失、法律成本、監管罰款,或者是由于類似于蠕蟲病毒攻擊造成的直接損失,這些後果可能需要花費數百萬。俗話說得好,最好的防守就是發起進攻,是以讓我們來學習以下五個關鍵實踐,以確定資料庫的安全:保護、審計、管理、更新和加密。

1.使用代理保護資料庫免受攻擊

資料庫代理(或網關代理)位于應用程式和資料庫之間,接受來自應用程式的連接配接請求,然後代表這些應用程式連接配接到資料庫。智能資料庫代理(如我們自己使用的MaxScale)提供了過濾器和加載子產品,以提供安全性、可靠性、可伸縮性和性能優勢。

MaxScale資料庫防火牆過濾器通過過濾器解析發起的查詢,如果發送過來的查詢不符合已經提前設定的查詢類型的白名單,那麼過濾器就會自動阻止。例如,給定的連接配接隻能執行更新和插入,而另一個連接配接必須比對某些正規表達式,等等。

像MaxScale這樣的代理也可以保護資料庫不受DDoS的攻擊:當過多的連接配接直接進入到資料庫伺服器時,它就會超載。但是代理會吸收一些負載來限制這種攻擊的影響。

2.建立審計和健壯的日志記錄

審計和日志記錄是緊密相連的,但是審計日志比一般日志要複雜得多。審計日志給使用者提供了調查可疑活動所需要的全部資訊,如果确實做過違反規則的操作,還可以根據審計日志進行根源分析。此外,審計日志有助于確定遵守諸如GDPR、PCI、HIPPA和SOX等規則。(學習更多關于用MariaDB TX處理GDPR的資訊)

MariaDB審計插件可以記錄大量資訊:所有傳入的連接配接、所有執行的查詢,甚至所有單個表的通路記錄。使用者可以看到誰在給定的時間通路了一個表,以及誰執行了插入或删除資料的操作。審計插件可以記錄到檔案或syslog,是以如果已經有了依賴于syslog的工作流,那麼就可以直接将其綁定到這些檔案中。

3.實行嚴格的使用者帳戶管理

嚴格管理資料庫使用者帳戶是非常重要的。無論對于IT生态系統的哪個方面來說,這都是一條正确的規則,是以我們不會在這裡詳細說明。相反,我們将簡單地提醒您使用者帳戶管理的幾個關鍵方面:

  • 隻允許超級管理者從本地用戶端進行通路。
  • 堅持使用強密碼。
  • 每個應用程式都有單獨的資料庫使用者。
  • 限制可以通路資料庫伺服器的IP位址的數量。

4.保證資料庫軟體和作業系統是最新的

我們都知道讓軟體處于最新版本的原因,但還是有很多人會去運作遺留的作業系統以及舊版本的資料庫伺服器。我們時刻都要謹記,隻有将版本保持為最新版本這才是保護資料不受那些最新威脅的唯一方法。

這不僅适用于伺服器軟體,也适用于作業系統。畢竟,Windows作業系統安全更新檔的應用不太好,這也間接導緻了蠕蟲病毒的攻擊成為了可能。

5.加密敏感資料,無論是在應用程式中,還是在資料傳輸中,甚至處于空閑時

許多組織機構都會對加密進行簡短的處理,但這麼做卻很有價值。畢竟,如果他們能在平時的工作中能夠發現密碼會被破解,那麼這就會降低黑客入侵的機率。

加密的第一階段是在應用程式裡面,此時資料還未到達資料庫。如果資料在應用程式中就已經被加密了,那麼破壞資料庫的黑客就看不出資料是什麼(不過,這隻适用于沒有密鑰的資料)。

接下來是傳輸過程中的資料加密。這意味着當資料從用戶端移動到資料庫伺服器(或在代理伺服器上)時,資料在網絡上加密。這與在web浏覽器中使用HTTPS基本相同。顯然,伺服器可以看到這些資訊,因為它需要讀取使用者填寫的表單,使用者也可以讀取資訊,因為是他們填寫的表單,但在使用者和伺服器之間沒有人能夠讀取它。

最後,我們講一下資料庫處于空閑時的資料加密。你可以使用它來加密InnoDB表空間、InnoDB redo日志以及二進制日志。這意味着你可以在MariaDB伺服器上中加密幾乎所有被寫入CD光牒的東西。