數據庫安全的十個“段位”
數據已成為企業最重要的資產之一。我們通常將數據存儲在數據庫中,因此了解如何保護這些數據至關重要。
本文提供的十個“段位”可以幫助您為數據庫安全定級。CISO和數據庫管理員(DBA)可以使用”段位“來確定他們的安全成熟度級別并確定進一步改進的步驟。
01沒有任何安全保護
等級1 適用于不安全的數據庫。所有數據庫都自帶一定的安全級別,即使您沒有采取任何措施來保護它們。
02標準安全和最低特權
等級2 適用于數據庫和操作系統均按照行業標準和最佳實踐進行配置的數據庫。
此評級還要求所有數據庫帳戶的權限最低,這意味著授予帳戶的權限是履行其職責所需的最低權限。
作為評級2要求的一部分,應該努力消除共享帳戶。如果存在共享帳戶,則不應經常使用它們,并且它們的憑據應保密。
對于內置于數據庫中的特權共享帳戶,尤其需要限制使用。Oracle中的SYS和SYSTEM或SQL-Server中的SA等數據庫帳戶不應經常使用,它們的密碼應安全保存并限制訪問。
例如,當應用程序使用特權帳戶或共享帳戶是我們運營方式的一部分時,此要求可能具有挑戰性。但是,減少和控制這些帳戶的使用對于安全至關重要。
03變更控制和元數據快照
等級3 適用于受變更控制的數據庫。這意味著對元數據(例如用戶、權限、配置和對象)的任何更改都應經過更改控制批準流程。
作為評級3要求的一部分,需要制作配置、用戶、權限和對象元數據的每日快照。應及時調查和批準快照之間的更改。
本級別安全要求還建議將快照與類似數據庫進行交叉比較,以確保一致和統一的配置、用戶、權限等。
變更控制的挑戰在于它可能很麻煩,而且往往被視為無用的繁文縟節。然而,缺乏對元數據更改的控制很快就會變成對數據的缺乏控制。
04會話監控和審查
等級4 適用于所有登錄都受到監控和定期審查的數據庫。應及時調查來自意外用戶、程序或機器的登錄。
破壞數據庫安全的最簡單方法之一是竊取憑證。例如,竊取DBA用戶名和密碼將授予攻擊者對數據的無限制訪問權限。監控登錄可以降低這種風險。
大多數數據庫允許以最小的開銷審計登錄和失敗的登錄。實施挑戰是通過報告提供對信息的有效審查。
05基本的SQL審計(DDL&DML)
等級5 適用于定期記錄、報告和審查高風險SQL活動的數據庫。
高風險SQL活動包括:
- 所有DDL(包括DCL)——修改數據庫配置、對象、用戶、權限等的SQL;
- 來自意外來源的DML,例如特權用戶和特定程序。
該要求的目的是對不頻繁和高風險的活動實施控制。審核異常活動通常不會產生性能開銷,并且需要投入的時間也很少。實施方面的挑戰主要如何對活動進行及時有效的審查。
06完整的SQL審計和網絡加密
等級6 適用于在全面SQL審計下的數據庫,其中所有潛在風險的SQL活動都會定期記錄、報告和審查。
這轉化為審計大量活動,包括查詢。例如:
- 使用查詢和DML訪問敏感表;
- 所有DBA和特權用戶活動;
- 來自高風險程序的所有活動,如SQL Plus、Management Studio等;
- 不是來自應用程序服務器的應用程序帳戶的活動;
- 即使在數據庫內部由存儲過程或觸發器執行的敏感活動。
等級6還要求所有數據庫網絡活動完全加密,以防止網絡嗅探和欺騙。
此要求的目標是開始對SQL活動應用嚴格的安全措施并防止許多網絡攻擊。
網絡活動加密在大多數數據庫中都是免費內置的,而且很容易開啟。此要求中的主要實施挑戰是在沒有適當解決方案的情況下審計過多活動可能會對數據庫性能產生重大影響。第二個挑戰是實現有效的報告,以最少的時間投入及時審查信息。
在尋找審計解決方案時,請注意一些產品沒有避免數據庫性能開銷,而另一些產品不支持網絡加密。
07會話異常檢測和告警
評級7 適用于對異常活動源進行自動檢測和警報的數據庫。與評級4中執行的手動會話審查不同,此評級需要能夠檢測活動源配置文件變化并實現告警的自動化。
包括:
- 對連接到數據庫的新用戶、程序、機器或它們的組合發出警報;
- 檢測共享帳戶(多個個人使用的帳戶)以及使用多個帳戶的個人。
此要求的目的是通過自動化來補充人工審查,以注意到并突出異常活動。這有助于避免意外疏忽,并確保快速檢測和響應。實施需要適當的解決方案來執行分析。
08SQL異常檢測與告警
評級8 適用于對異常SQL活動進行自動檢測和警報的數據庫。與評級5和6中的手動SQL審查不同,此評級需要能夠分析數據庫中所有SQL活動(包括應用程序活動)的自動化。
包括:
- 不尋常的應用程序行為,如潛在的SQL注入;
- 異常活動水平。例如,執行的SQL數或訪問的行數異常多;
- 在一天中的奇怪時間活動;
- 涉及敏感表的新SQL。
此要求的目標遠不止避免意外疏忽和縮短檢測時間。其目的是對無法進行人工審查的數據庫中的大量活動進行控制。
即使是低活躍數據庫每天也可能執行數百萬次SQL查詢,如果沒有自動化,就不可能對它們應用任何級別的控制。該級別安全的實施需要能夠以低開銷捕獲所有活動并執行分析的軟件。
09主動取證審查
評級9 適用于定期進行主動活動審查的數據庫。這意味著熟悉數據庫活動概況的人員會定期檢查活動(例如每月一次)。
審查的目的是確定可能未被發現的行為,包括內部濫用和外部攻擊。檢查還可以突出控制、風險做法等方面的差距。
該級別實施需要一個解決方案,能夠以最小的開銷捕獲所有活動,精簡并將其存儲在合理容量的磁盤空間中,并提供取證工具來分析和審查它。
10限制對DBA和應用程序的訪問
等級10 適用于限制訪問帳戶的數據庫,例如DBA帳戶、特權帳戶和應用程序帳戶,否則對數據的訪問將不受限制。
此類限制通常不是本機數據庫功能的一部分,可能包括:
- 防止特權帳戶訪問他們不應訪問的模式、表或對象。例如,DBA帳戶通常不應訪問數據;
- 阻止不應訪問它的程序或機器訪問該帳戶。例如,只有應用程序和應用服務器才能訪問應用帳號;
- 阻止在不應該使用數據庫的時間訪問帳戶;
- 防止帳戶訪問比預期更多的數據(速率限制);
- 通過要求安全人員預先授權某些特權活動來強制分離職責。
該級別安全控制需要一個單獨的特權訪問控制解決方案來實施,因為它超出了本地數據庫的預防控制。對數據庫應用預防控制會帶來阻止合法活動的操作風險。因此,必須按照適當的最佳實踐謹慎部署此類措施,以最大程度地減少中斷的可能性。