程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2 最佳實踐: IBM 數據服務器安全

DB2 最佳實踐: IBM 數據服務器安全

編輯:DB2教程

介紹

考慮到廣泛的威脅,數據安全需要整體和不同層次兩種安全方法。這通常涉及到深度防護,並需要一個“設計上安全”的方法,要把支持安全作為數據庫環境的核心設計,並在這些環境上支持底層結構和商業實踐。多層次的安全一起工作並提供三種最終的安全對象,也就是通常稱作的 CIA:保密性,完整性和可用性(confidentiality, integrity, and availability)。

IBM 了解這些數據威脅,並在數據服務器中設計了全面的安全措施:IBM DB2 9 和 IBM Informix Dynamic Server 11 (“IDS”)。數據服務器的功能包括安全和審計能力,這用來幫助保護大多數關鍵數據。

安全威脅和應對路線圖

為了簡化實施有效數據服務器安全的任務,IBM 建立了一個路線圖,以幫助你在自己的企業中實施安全機制。這個路線圖是基於如何確保他們的一般和特殊數據安全威脅下“受保護”的多個客戶的調查。最常見的數據威脅都被他們的應對措施建議充分處理了。

應對措施是當前所有最佳實踐中,被每個數據服務器以及使用 IBM 信息管理產品和功能的安全部門所推薦的, 這些推薦包括:

使用授權和認證,要堅持“最小特權”原則 - 只允許用戶做他們真正需要做的,並把重復最小化。

對敏感數據設置正確的權限和訪問控制(像 LBAC)。

審核用戶訪問,尤其是對敏感數據和 DBA 的操作。

限制對 PUBLIC 賦予的權限。

記得保護中間臨時表和固化查詢表(MQTs)。

在多層次環境中使用受信任的上下文關系。

在操作系統層次加密數據和備份文件。

使用 SSL 在網絡上進行安全的傳輸(當前,SSL 僅限於支持使用 IBM 數據服務器驅動,像 JDBC 和 SQLJ 4 類連接 Java 應用程序)。

使用操作系統控制來防止操作系統管理員獲得太多的訪問權限。

這篇文章著眼於數據庫層和底層數據安全。第一章“評估你的安全需求”,討論如何判斷你的系統需要什麼樣的安全。“威脅”和“應對措施的建議”章節,描述了一般的安全威脅並分別對它們提出的應對措施。“產品概述”提供了一個對所有建議的增強安全產品的介紹。參考在這篇文章最後的“更多信息章節”,對 IBM 數據服務器安全配置和操作重要的附加信息。

數據庫外的安全

請注意,為了完全保護你的環境,你必須要處理數據庫系統本身基於安全的其他方面,這將不在本文討論。

物理安全:實施有效的徽章訪問,以此控制能物理訪問這個裝有數據服務器的機器。

主機安全:保護操作系統,啟用病毒和惡意軟件防護,試試網頁浏覽器,監控並記錄活躍的特權用戶,等等。

網絡安全:使用防火牆,虛擬私有網絡(VPN ’ s),路由器保護,入侵檢測系統,檢測網絡嗅探器,等等。

應用程序安全:保護你系統上的應用程序。例如,一個我們熟知的 SQL 注入威脅,為什麼一個開發不良的應用程序能被強制運行不期望的 SQL 語句。這個弱點只存在於動態 SQL 應用程序,它不需要驗證在動態 SQL 語句解釋中的用戶輸入。

一致性管理:使用可靠的系統和方法來有效識別並認證企業用戶。

商業控制:實施原則、過程和控制資產訪問實踐以及使用和管理數據。

評估你的安全需求

要應對那些保護數據安全的挑戰並不簡單。不過,實施一個有效的數據安全計劃,至少都應該包括下面七步:

1. 數據分類:
首先你必須了解並最終對你的數據進行分類。哪部分數據是最重要的,哪些是次要的?數據對於組織的價值是什麼?危及數據安全的代價是什麼

2. 用戶分類:
在數據被分類後,你必須判斷誰被允許訪問數據。員工要完成他們工作的最低層次的權限 / 特權是什麼?這些員工需要多長時間的權限 / 特權?在這個階段有兩個安全原則 —— 最少的權限和職責劃分 ,至關重要。

3. 確認威脅:
你必須明白你所面對的威脅。已知的威脅必須被列舉出來並進行邏輯分類。你必須確定哪些威脅在你的環境中存在,哪些沒有。你必須對不可預知的威脅做出最好的預測,並為之做好准備。

4. 反擊/預防的方法:
你應該采取一個有效的方法,來應對每一個被認為是對你系統的重要威脅。就像在你的側門還是木門的時候,你購買钛合金的前門沒什麼意義。在大多數情況下處理威脅要涉及多個層面——記住要深度防御。最後,這些解決方案也應該很容易配置和管理;否則,沒有人會使用它們,或更糟的是,當人們認為這些解決方案已經被正確的應用了時,事實上卻沒有。

5. 測試:
你應該測試並驗證你的安全機制是否在適當的位置並工作正常。在大多數情形下,這可能是最難的部分。你不僅要保護你的系統,還必須要有一個方法來持續的驗證它。這個測試必須在多種途徑執行——包括弱點測試(用於檢測當前任何弱點)和滲透測試(用於檢測應對措施的有效性和被突破的影響)。

6. 審計:
你應該審計並監控你的系統以提供一個數據訪問歷史的跟蹤,並且最終用於發現任何不正當訪問數據的意圖。否則,由於發生太頻繁,可能沒有人在發生破壞或有問題的時候發現任何東西。例如,你應該審計每一個確定的敏感數據的訪問。第一步 1 數據分類。你或許也想審計某個用戶、組或者角色的操作,這也是在第 2 步用戶分類中確定的。你的審計策略也可以受你的業務控制,以及公司的任何其它已有審計策略的驅動。有效的數據安全是一個持續的過程,而審計則是這個過程中關鍵的反饋方法。

7. 維護:
這把我們帶到最後也是最漫長的步驟——保持一切可維護以及安全性得到保證。有效的安全並不只是一個時間點,所有一切都應該保持在發現了新威脅的時期。新的用戶被添加,你的數據環境不可避免的將會改變。應該將安全維護整合進你的一般操作實踐和人們的工作中,並且作為他們每天的核心任務來保持安全維護的更新。

威脅

你應該知道你碰到了什麼類型的威脅。數據服務器安全可以分為 4 大類:數據威脅、配置威脅、審計威脅和執行威脅。

數據威脅:威脅數據機制,沒有授權的用戶或進程,能夠訪問數據。這顯然是最多的威脅,並且是我們頭腦中第一個出現的威脅。這些威脅可以直接針對數據庫中的表,或者通過更多間接手段來進行,比如查看日志文件或直接查看操作系統上的表空間文件。

配置威脅:威脅於配置的機制,數據庫或者數據庫管理配置文件可能被篡改。因為它們控制著你數據庫的關鍵性質,——像在那裡以及如何執行認證, ——數據庫配置文件像數據庫數據一樣受到安全的保護是非常重要的。

升級威脅:威脅審計工具的機制,審計配置、審計日志或歸檔日志可能被篡改。在大多數情況下,審計記錄是判斷在過去發生了什麼和用於判斷濫用的證據的唯一辦法,防止它被篡改是非常有必要的。

執行威脅:威脅執行機制,數據庫管理器執行文件可能被篡改。這包括執行欺騙、拒絕服務攻擊和特洛伊木馬攻擊。

在下面的章節中,每個威脅被一個 3 段的名字標識:類型後面跟的是一個唯一數字,以及一個確定威脅的名字,一般是這種形式:

 <category>.#.<threat short name> 

例如,威脅 t Data.6.OSAdminAccess是在“數據”類中的威脅 #6 並且引用了一個叫“OSAdminAccess”的短名。

數據威脅

威脅 威脅描述 解釋 Data.1.Connection
利用缺少數據庫連接認證與授權 一個非授權用戶,能利用一個數據庫上缺少授權過程連接數據庫
這些過程的大多數例子包括在連接時不需要服務器端認證來授權用戶(例如,使用客戶端授權),或者通過對 PUBLIC 組賦予連接特權。 Data.2.BaseTables 利用在表上缺少授權控制 一個未授權用戶,可以在數據庫中利用缺少授權的過程,訪問基礎表和編目表中的數據。
例如,讓 PUBLIC 組訪問系統編目表,將允許任何用戶訪問編目表中的所有信息。 Data.3.OtherTables 利用在復制表、固話查詢表(MQTs)、臨時過渡表,、異常表和 OLAP 立方體(rolap)缺少授權控制而構成威脅
一個無授權的用戶,能利用在數據庫訪問其他非礎表時缺少授權過程。

這些表包括:

SQL 復制表

MQTs

異常表

臨時過渡表

OLAP 立方體(rolap)

克隆表

Data.4.CommonUserID 由於使用通用用戶 ID 而遺失非層次結構中的連接用戶信息 應用程序服務器經常使用一個通用用戶 ID,來連接數據庫並代表所有它的應用程序。這也涉及到連接池。這個通用用戶 ID 削弱了用戶責任和正確審計數據庫的訪問。
這同樣導致對這個通用用戶 ID 的過度賦權,並有效的繞過了大多數數據庫的特權驗證。 Data.5.DBAAccess 濫用數據庫管理員特權 默認情況下,DBAs 可以訪問在他的數據庫中的任何表。一個有特權的數據庫管理員——或者以一個無授權的形式得到數據庫管理員特權——可能濫用這個特權去讀取或更改他們本不應該看到的數據。
這是“內部濫用”的一個關鍵部分。 Data.6.OSAdminAccess 濫用操作系統管理員特權
一個有操作系統管理員或者實例所有者特權的用戶,可以直接訪問表數據存放的操作系統文件。
他們可以濫用這個特權通過操作系統繞過數據庫中的訪問控制,直接讀取或者復制這些文件的內容。

這是“內部濫用”的一個關鍵部分。 Data.7.InTransit 嗅探網絡中傳輸的數據 數據、用戶 IDs 以及密碼,在網絡中以明碼傳輸能被網絡嗅探器看到。 Data.8.Backups 利用在備份和歸檔上缺少安全性而構成威脅
一旦數據離開一個運行數據服務器環境的保護,便會很容易發生未授權訪問數據。

如果沒有保護,就可以從備份和歸檔鏡像中直接訪問數據,而無論是出於災難恢復的目的放在本地或其他地方。 Data.9.TxnLogs 利用事務日志缺少安全性而構成威脅
事務日志包含的數據頁也能被利用——像插入數據的值。因為它們只是文件系統中的一個文件,生產系統上的事務日志,可以直接被從操作系統管理員訪問。

同樣,如果事務日志被鏡像或者被復制,那麼這些副本也能被特權用戶利用。 Data.10.ArchiveLogs 利用歸檔事務日志缺少安全性而構成威脅
歸檔事務日志包含的數據值也能被利用——像插入數據的值。一旦事務日志處於恢復的目的被歸檔,那麼他們通常會離開生產系統的保護並且被放置在其他系統或者設備上。那些歸檔服務器或設備的特權用戶就有可能濫用他們的特權,並訪問在這些歸檔事務日志中的數據。 Data.11.Diagnostics 利用缺少權限的跟蹤文件、dump 文件和監控輸出以及診斷工具而構成威脅
很多診斷日志、監控輸出以及 dump 文件,包含可能被攻擊者利用的有價值的信息。
例如,診斷日志中的數據和跟蹤文件會有數據值被包含在用明文記錄的日志中。同樣,從表裸頁面鏡像直接下載到磁盤,可以很容易通過像 db2dart 或 IDS onunload 這樣的工具完成。它們是從數據服務器上直接 dump 下來的。 Data.12.Extract 利用從受保護位置抽取出來的數據而造成威脅 出於分發或測試的目的,從生產環境抽取數據到一個輸出文件或者到另外一個數據庫是很普遍的。數據常常離開了安全的數據服務器環境,暴露給未授權訪問。也就是導入數據文件在等待導入進一個數據服務器期間。
這個威脅根據抽取數據的最終目的可以分為不同的情況:
1. 測試 :當數據被用於測試環境時,數據必須要有和生產系統數據相同的屬性,不過可以安全的被屏蔽或更改受保護的敏感數據,像信用卡卡號或是社會保障號碼。
2. 分發:當數據抽取是為了分發到其他位置時,這個數據必須與生產系統中的一樣。這包括用 Extract 來抽取,和復制表進行轉換以及 L 裝載(ETL)處理。一個分發的場景是副本管理。

配置威脅

威脅 威脅描述 注解 Config.1.Files 利用缺少安全性的數據庫配置文件而構成的威脅 如果 DBMS 配置文件是不可靠的,那麼一個入侵者就可以改變系統行為,讓它暴露不該暴露的信息。 Config.2.DBCreate 利用缺少在誰能創建數據庫上的授權控制而產生的威脅
在一個數據庫管理系統中創建一個數據庫是特權操作,受到實例配置的控制。只有信任用戶才應該被授權在實例中創建一個數據庫。

審計威脅

威脅 威脅描述 注釋 Audit.1.Config 利用缺少安全性的審計配置文件而構成的威脅 未授權人員應該不能更改系統上的審計行為。這是一個攻擊者用在執行一個未授權的攻擊來隱藏他們的痕跡的常見方法。

未授權人員應該不能更改審計配置文件。 Audit.2.Logs 利用缺少安全性的審計日志文件而造成威脅 審計日志包含可以被利用的數據值,——從更改過去審計結果的角度和了解數據服務器訪問模式都成為攻擊者的目標。這是攻擊者在執行了未授權的攻擊後用來隱藏他們的攻擊的一個普通的方式。未授權人員應該不能更改或查看審計日志或已歸檔審計記錄。

可執行威脅

威脅 威脅描述 注釋 Executable.1.Files 惡意更改數據服務器可執行文件 數據服務器可執行文件可能被惡意更改,例如添加一個相同命名版本包括一個特洛伊木馬;或者可能完全刪除,以執行一個拒絕服務的攻擊。

同樣,存儲過程和 UDF 使用的可執行文件和庫文件也可能受到同樣的惡意更改。

只有安裝軟件的用戶,才可以更改這些數據服務器使用的可執行文件。 Executable.2.Dirs 利用缺少安全性的目錄裡包含的可執行文件或數據而產生的威脅 如果這個目錄包含可執行文件或不受保護的數據文件,那麼,攻擊者可以更改目錄路徑在數據庫服務器系統進行一次拒絕服務的攻擊 。

應對措施建議

有效保護你的數據庫原理攻擊的要點在第 2 章:需要有效管理進程並控制技術組件。你的保護計劃必須同時包括這兩個方面。

為了處理前面提到的所有威脅,下表記錄了 recommended countermeasures 技術組件。在第 4 節中應對措施建議顯示在功能後面,而解決方案需要使用最新的產品版本概述及實施應對措施建議。

以下產品及其相關短名在本文中非常有用:

Linux, UNIX,和 Windows平台 :

Products Short name DB2 for Linux, UNIX, and WindowsDB2 Informix Dynamic Server IDS IBM Database Encryption ExpertIBM DEE IBM Audit Management Expert IBM AME IBM Optim Test Database ManagementIBM Optim TDM IBM Optim Archive IBM Optim Archive

z/OS 平台:

ProductsShort name DB2 for z/OS DB2 IBM Audit Management Expert for z/OSIBM AME IBM Optim Test Database Management IBM Optim TDM IBM Optim ArchiveIBM Optim Archive z/OS Security Server (Resource Access Control Facility, RACF, or equivalent)z/OS RACF IBM Data Encryption for IMS and DB2 Database tool z/OS Encryption z/OS Communication Server Application Transparent Transport Layer Securityz/OS AT-TLS IBM System Storage™ TS1120 Tape Drivez/OS Tape Drive

數據威脅

威脅 威脅描述 應對措施 產品推薦 Data.1.Connection 利用缺少數據庫連接認證和授權而構成的威脅 使用認證和授權遵循最少特權原則。對於認證,你不應該使用客戶端認證,因為它並不安全。可以使用 SERVER,LDAP,或者 Kerberos 認證。
DB2 或 IDS Data.2.BaseTables 利用在基礎表上缺少授權控制而構成的威脅 所有對象
根據數據敏感性分類並設置正確的數據庫特權和訪問控制。
取消那些不是絕對需要的用戶的特權。
給角色分配特權,而不要直接指定用戶。
讓敏感對象被角色擁有,並限制這些角色所有的訪問都來自於信任上下文的用戶連接。
BASE or SYSTEM CATALOG TABLES
當創建一個新的數據庫對象時,確保訪問權限不賦給所有 PUBLIC。
基礎或者系統編目表

審計所有對重要表的訪問。
如果可能,要確保訪問系統編目的權限不賦給 PUBLIC。
政府以及其他高度敏感和受管環境中的敏感信息。上表推薦使用基於標簽的訪問控制(LBAC)或者 z/OS MLS。請參考下面章節中提供的在什麼時候使用 LBAC 的建議。
DB2 or IDS
IBM AME
z/OS RACF

Data.3.OtherTables 利用在復制表、固化查詢表(MQTs)、中間臨時表、異常表和 OLAP 立方體(rolap)缺少認證控制而構成的威脅
違例、異常和中間臨時表都應該被完全的保護,使其不被未授權訪問,就像它們對應的基礎表一樣
MQTs 為了提高查詢效率而作為一個結果集的高速緩存服務提供(通過 MQT 路由)。像這樣的 MQTs 應該被當作內部表,並且不應該讓用戶直接訪問。
如果直接訪問 MQT 是必須的。對所有到 MQT 的 SQL 訪問開啟最詳細的審計。 DB2 或 IDS

Data.4.CommonUserID 由於使用通用用戶 ID 而遺失 N-tIEr 結構中的連接用戶信息而造成的威脅 使用在 N-tier 環境中的信任上下文功能。信任上下文允許 middle-tIEr 來申明終端用戶訪問數據庫的身份。終端用戶的數據庫身份和數據庫特權被用於這個用戶請求的任何數據庫。因為用戶身份是受防護的,你可以使用審計來跟蹤用戶訪問和活動。 DB2 Data.5.DBAAccess 濫用數據庫管理員特權
監控:審計所有 DBA 權限的請求。
對於 DBA 權限的訪問控制:給角色分配 DBA 權限,並且使用信任上下文控制到這個角色的訪問。這顯示訪問只信任來自於信任主機的連接。
防止 DBA 訪問數據:使用 LBAC 或 z/OS MLS 功能。 DB2 或 IDS
IBM AME
Data.6.OSAdminAccess 濫用操作系統管理員特權
通過使用磁盤加密,防止數據從操作系統層面被復制或者被直接讀取。推薦 AES 加密。
保護敏感文件,像表空間文件不被操作系統管理員直接更改。這需要擴展 OS 訪問控制功能,這由 IBM DEE 和 z/OS RACF 提供。 IBM DEE
z/OS 加密
z/OS RACF

Data.7.InTransit 嗅探網絡中傳輸的數據
在數據傳輸之前進行加密。
在大多數情況下,如果可能的話,建議使用 SSL 加密。現在只有 Java 應用程序使用 IBM 數據服務器驅動 4 類 JDBC 和 SQLJ 連接支持 SSL。 DB2 or IDS
z/OS AT-TLS Data.8.Backups 利用在備份和歸檔上缺少安全性而構成的威脅
在所有媒體類型上(磁盤、磁帶、等等。)加密所有復制介質和歸檔鏡像。
恢復備份鏡像必須通過加密的密鑰控制訪問,並需要進行審計。 IBM DEE
IBM Optim Archive
z/OS 磁帶驅動 Data.9.TxnLogs 利用事務日志缺少安全性而構成的威脅
保護文件不被操作系統管理員或者其他用戶使用擴展操作系統權限進行直接更改。 IBM DEE
z/OS RACF Data.10.ArchiveLogs 利用歸檔事務日志缺少安全性而構成的威脅 在操作系統層面使用磁盤加密,可以保護日志不被復制或者直接讀取。 IBM DEE
z/OS 磁帶驅動 Data.11.Diagnostics 利用缺少權限的跟蹤文件、dump 文件和監控輸出以及診斷工具而構成的威脅
保護文件不被操作系統管理員或其它擴展操作系統用戶直接更改。
審計來自文件系統的對這些文件的直接訪問。 IBM DEE
z/OS RACF
Data.12.Extract 利用從受保護位置抽取出來的數據而構成威脅
針對這些抽取數據原因的應對措施:

1.測試:使用 Optim 測試數據管理員的數據抗干擾能力,可以在你抽取數據到測試環境過程中自動屏蔽掉所有敏感信息。
2.分發:用磁盤加密來防止抽取文件被讀取。審計到抽取文件的所有訪問。
注意:一定要記住審計數據抽取,像在導出過程中。 IBM Optim TDM
IBM DEE
z/OS 加密

在使用基於標簽的訪問控制(LBAC)時的建議

下面的指南幫助你判斷什麼時候需要使用 LBAC 來保護數據。

使用行級別 LBAC:

管理分類信息的政府應用程序

包含下面應用的所有其他應用程序:

已知數據分類

數據分類可以通過一個或多個 LBAC 安全標簽組件表現

授權規則可以映射到安全標簽組件

使用列級別的 LBAC:

對表的擁有者和數據庫管理員保護敏感列

表中有你既想保護又不願擁有者和數據庫管理員訪問的數據。為了保護這些數據,請執行下面步驟:

為這個表的所有列分配一個安全標簽。

把這個安全標簽分配給一個角色。

把這個角色分配給所有需要訪問這個表的用戶。只有這個角色的用戶才可以訪問表中的數據。

配置威脅

威脅 威脅描述 應對措施 產品推薦 Config.1.Files 利用數據庫配置文件缺少安全性而構成的威脅 利用擴展操作系統訪問控制防止文件被操作系統管理員或者其他用戶直接更改。 DB2 or IDS
IBM DEE
z/OS RACF Config.2.DBCreate 利用在誰能創建數據庫上缺乏授權控制而構成的威脅 取消除了授權了的 DBA 之外的所有特權。
審計所有創建數據庫的意圖。
DB2 or IDS

審計威脅

威脅 威脅描述 應對措施 產品推薦 Audit.1.Config 利用缺少安全的審計配置文件而構成的威脅 利用擴展操作系統安全控制來防止文件被操作系統管理員或其它用戶直接更改。 DB2 or IDS
IBM DEE
z/OS RACF Audit.2.Logs 利用缺乏安全性的審計日志文件而構成的威脅 使用一個集中的安全審計庫,像 IBMAME。
使用操作系統訪問控制來防止文件在文件系統上被操作系統管理員或者其他用戶直接更改。
在磁盤上加密審計日志記錄。 DB2 or IDS
IBM AME
IBM DEE

可執行威脅

威脅 威脅描述 應對措施 產品建議 Executable.1.Files 惡意更改數據服務器可執行文件而造成威脅 使用可執行文件安全性功能(像 IBM DEE 的“操作控制”功能)來防止可執行文件更改。 IBM DEE
z/OS RACF

產品概述

IBM DB2 9.5 for Linux, UNIX, and Windows

DB2 for Linux, UNIX, and Windows (DB2) 安全能力可以分為四大范圍:認證、授權、加密和審計。

認證是一個用戶在使用數據庫系統時遇到的第一個安全能力。在他們被允許使用 DB2 的任何服務之前,用戶必須被確認並被認證。DB2 數據庫系統依賴於一個安全插件架構來認證。安全插件決定授權在哪裡進行,通常是操作系統,不過它可以是 Kerberos 或者 LDAP 服務器。

授權是遇到的下一個安全能力。授權用戶必須被授權才能執行他們想執行的操作。授權可以很粗略(比如在一個表或者包層面)或者很細致(比如視圖)。對於一個操作,DB2 數據庫系統檢查用戶的許可是否足夠來決定允許他們執行這個操作。用戶通過角色或組中的用戶可以直接或者間接的獲得許可。

當信息傳輸在數據庫和數據庫客戶端之間時,或者它們儲存在磁盤上時,為了保護信息安全,可以使用加密。對於數據傳輸的保密性,DB2 數據庫系統提供了兩個選擇:自帶的 DATA_ENCRYPT 能力和安全套接字層(SSL)。對於數據存儲,同樣,也有兩個選項:自帶的加密、反加密列函數和 IBM 數據庫加密專家。強烈推薦使用 IBM 數據庫加密專家,因為它能提供更多的安全、更高的性能,最重要的是在應用程序層面上沒有任何更改。

最後,審計工具可以啟用以跟蹤用戶操作。例如,安全管理員可以參考審計跟蹤來找出一個特定用戶在什麼時間執行了什麼操作。在 DB2 9.5 中,審計工具已經有了充分提高,以提供更好的粒度和減少審計性能開銷。

基於標簽訪問控制(LBAC)也得到了增強,所以安全管理員可以指定或免除安全標簽給角色和用戶組。DB2 9.5 也提供了一個新的安全能力,可以處理在 three-tIEr 環境中使用單個用戶 ID 訪問數據庫涉及的安全。這個能力就是受信任的上下文。使用信任上下文也允許安全管理員在一個特權或者一個授權對一個用戶可用的時候獲得更多的控制。

IBM DB2 9 for z/OS

類似於 DB2 for Linux, UNIX, and Windows,DB2 9 for z/OS 安全能力可以分成 4 大范圍:認證、授權、加密和審計。因為多年來 z/OS 已經設計成可以在一個服務器上同時運行多個應用程序,這些能力已被證明是成熟的技術。

認證,是當一個用戶使用 DB2 9 for z/OS 產品的時候遇到的第一個安全能力。在被允許使用任何 DB2 9 for z/O 服務之前,用戶必須確認並被認證。DB2 9 for z/OS 使用 z/OS 安全服務器(RACF 或者同類產品)來認證並授權訪問任何 DB2 子系統。

授權是遇到的下一個安全控制。當一個應用程序獲准訪問子系統時,用戶已經通過認證並且訪問 DB2 9 for z/OS 也經過了 RACF 的檢查。然後 DB2 9 for z/OS 通過使用和這個用戶相關的標識符,來控制到數據的訪問。一批一個或多個 DB2 9 for z/OS identifIErs 叫做授權 IDs。代表每個連或注冊在 DB2 9 for z/OS 上的用戶和進程。這些 IDs 組成了 SQL ID。如果 SQL ID 和角色運行在一個信任上下文中,那麼它將被用於 DB2 數據庫系統中的授權檢查。

訪問 DB2 9 for z/OS 需要使用包。在運行 SQL 語句時需要包。包有一個關聯的所有者 ID 或角色。執行這個包的 SQL ID 或角色的所有者可能不同。為了運行所有綁定在這個包中的 SQL 語句,SQL ID 或相關角色,必須有對這個包的執行特權。包的所有者被用於包中所有靜態 SQL 語句的特權檢查。執行一個動態語句時,SQL ID 或角色必須被授權在數據庫系統上執行這個操作,而不是所有者。這允許 DB2 9 for z/OS 在包創建的時候,進行授權檢查,而不是在每次運行的時候。同樣,這個方法不必對所有用戶以及這個包中的所有對象進行授權。

信息在 DB2 9 for z/OS 子系統和 DB2 9 for z/OS 客戶機之間傳輸或存儲於磁盤。為了信息保密,可以使用加密。DB2 9 for z/OS 提供了兩個選擇:在數據庫協議中的原始數據流加密支持和網絡層的安全套接字層(SSL)支持。原始數據流加密使用 DES,使其提供的性能水平在 SSL 之上。對於 SSL DB2 9 for z/OS 利用 z/OS 通信服務器的應用程序透明傳輸層支持(AT-TLS)。這有利於 SSL 在 DB2 9 for z/OS 系統之間數據傳輸過程中加密數據。對於 data-at-rest 加密也有兩個選擇:DB2 9 for z/OS 提供的自然加密、解密列函數和用於加密行的 IBM Data Encryption for IMS 及 DB2 數據庫工具。當下載備份和歸檔日志時,磁帶單元提供了驅動器自帶的加密來保護歸檔磁帶,全部使用 System z™ Crypto 硬件功能,可以提供更好的性能和 z/OS 自帶的工業水平的安全。

z/OS 整合的審計功能可以啟用,使 DB2 數據庫系統跟蹤用戶操作。審計員可以從審計庫中搜集日志和跟蹤數據,並查看、分析、使用 IBM DB2 Audit Management Expert for z/OS,在數據基礎上得出一個全面的報告。你可以通過用戶或者對象激活的 SELECT、INSERT、UPDATE、和 DELETE 選擇過濾,並導出這些過濾器以在其他系統上使用。

你可以使用 DB2 數據庫系統中的強制訪問控制,來通過行上的安全標簽保護表數據。當一個用戶使用 SQL 語句訪問一行或這行中的一部分時,DB2 9 for z/OS 調用 RACF 來驗證用戶是否被允許執行 SQL 語句請求的此類操作。只有用戶在包含 SQL 語句訪問的數據域的所在行上,有他的請求擁有訪問權限的情況下,訪問才被允許。對於 SQL 語句訪問的所有域,DB2 9 for z/OS 可以檢查包含這些域的行安上的全性標簽。如果用戶的安全標簽不能支配包含這個域的任何一行的標簽,那麼訪問都將被拒絕。

在 DB2 9 for z/OS 上的一個安全性的增強是引入了信任上下文,當一個連接來自於一個確定的位置或事情的時候,可以建立信任連接的功能。建立一個信任連接,他提供了切換到其他用戶 IDs 的可能,因此有機會獲得和 SQL 語句相關的用戶身份信息。另外,它可以分配一個角色給有信任上下文的用戶。這個角色可以被賦予權限,並因此可以扮演組織中的角色。在這個意義上,它能持有完成確定工作、應用、或角色的所有特權。從任何 three-tIEr 層應用程序(如 SAP)到一個 DBA 維護 DB2 9 for z/OS 子系統的日常職責,在很多不同場景下,這兩個構造彼此提供安全增強。

IBM Informix Dynamic Server 11

類似 DB2 數據庫系統,Informix Dynamic Server 11 software (IDS) 的安全能力可以分成四個范圍:認證、授權、加密和審計

在用戶被允許連接到 IDS 數據庫之前,系統會認證他們。你可以配置另 IDS 認證用戶。主要的認證機制取決於操作系統的用戶身份。然而你可以配置 IDS 使用 PAM(Pluggable Authentication Modules)來使用其他系統,如用 LDAP 來認證用戶。

即使被認證,一個用戶仍將被拒絕訪問,除非他們同樣被授權執行他們打算執行的操作。這包括訪問一個特定數據庫的許可,而且數據庫中的每個對象是分開控制的。

IDS 支持多種方式的加密。對於使用 SQLI 協議的 informix 客戶機應用程序,你可以配置客戶端到服務器的通信,讓它們之間的所有同行使用 ENCCSM 模式,或者你可以使用 SPWDCSM 加密密碼。如果你使用 DRDA 客戶機,則可以配置它們使用 SSL。為了增強數據庫中的數據保密性,可以使用列級的加密來加密特定的值。另外,也可以使用 IBM Database Encryption Expert 來幫你保護數據庫所在的磁盤安全。根據使用的備份系統,可以加密備份數據。

IDS 中的審計工具,允許你跟蹤在這個系統中誰在什麼時間對數據做了什麼操作。你可以控制審計什麼用戶和什麼操作。

IDS 同樣支持通過 LBAC 的強制訪問控制。這個 LBAC 實現對於 DB2 for Linux, UNIX, and Windows 非常簡單。你可以對列和行應用標簽、以及給用戶賦予標簽,系統判斷是否用戶被允許查看或更改數據。

IBM Database Encryption Expert 1.1.1

IBM Database Encryption Expert 1.1.1 軟件(IBM Database Encryption Expert )是一個數據訪問控制工具,由文件加密、主機層面訪問控制和操作控制組成。它通過集中管理策略,提供了控制數據在操作系統文件上被“誰,什麼,什麼時候,什麼地方,如何”訪問的手段。這些控制可以應用到數據庫應用程序、數據庫容器和其他操作系統元件上。

IBM Database Encryption Expert 是由一個或多個軟件安全服務器和數據安全代理組成的 two-component 解決方案。這個架構了分離了職責,所以數據庫管理員沒有與 Database Encryption Expert 管理員相同的數據安全特權。安全服務器被作為管理密鑰、數據安全策略和審計日志收集的集中點。

IBM Database Encryption Expert 現在有兩個代理:

在線數據保護代理(EE FS Agent)提供了加密服務和對在線存儲數據的訪問控制

備份安全代理(EE DB2 Backup Agent)對已經備份到離線存儲的數據提供了加密服務 - ——包括磁盤和磁帶。

前面的圖標顯示了 Database Encryption Expert 在 DB2 數據庫系統中,安裝並使用的結構。

IBM Database Encryption Expert 和提供加密其他解決方案的一個重要差別是如何進行加密。IBM Database Encryption Expert 使用的技術是被加密後的文件原數據依然是明文(未加密)。這個技術為了讓文件系統提供——給文件訪問控制提供了一個附加層——透明訪問。出於無需加密其內容的管理更有效的目的,一個應用程序可以被賦予一個文件的訪問權限。特權超級用戶,可以繼續管理他們的環境崩並訪問文件,但是被限制以明文的方式訪問文件內容。這個能夠幫助減少來自內部的以私有 / 機密數據為目標的惡意活動。

IBM Database Encryption Expert Security 策略概要

安全策略是 IBM Database Encryption Expert 的核心。

他們控制以下方面的數據安全:

誰和什麼,能訪問數據

什麼時候數據能被訪問

從哪裡訪問數據

如何訪問數據

策略同樣控制密鑰的使用和對什麼事件做日志記錄(例如:所有文件訪問、策略違反,等等)。這些數據安全策略讓組織把商業規則轉換成數據訪問控制和保護策略。

通過一個安全服務器提供的浏覽器接口管理策略引擎。從一個安全服務器可以管理許多數據庫服務器和 Database Encryption Expert 代理。只要一個 DB2 for Linux, UNIX, and Windows 服務器上的 Database Encryption Expert 代理和安全服務器之間是 IP 連接地理上的遠近不再是限制。建立安全服務器的高可用性是有可能的(事實上,這是最佳實踐)。

IBM Optim

IBM Optim 軟件是一個單獨的、可升級的、可共用的信息生命周期管理解決方案,它提供了一個中心來部署策略抽取、存儲、傳輸和從創建到刪除全程保護應用程序數據。


圖 1. Optim 主要功能
DB2 最佳實踐: IBM 數據服務器安全

IBM Optim 可以提供下面的核心功能:

測試數據管理:IBM Optim 通過精簡創建和管理測試環境來協助應用程序部署。子集和遷移數據建立切合實際並有正確大小的測試數據庫。減少維護多個數據庫副本的費用和努力。

數據保密性:保護你的敏感數據不停留在生產系統上。這些數據一般在你組織的多個測試環境之間復制,而且就在抽取文件和臨時過渡表中。IBM Optim 提供了自動數據轉換功能,用來屏蔽個人信息和被認為是需要單獨保護的機密信息。你可在應用程序測試中,安全的使用轉換過的數據,這有助於你遵守監管要求,並保持客戶忠誠。

歸檔:IBM Optim 提供了數據庫歸檔能力的證明,是組織可以在保持數據正常訪問的同時,把歷史數據與當前的數據隔離開,並以低成本安全的存儲,因此使你的生產數據庫對企業應用程序的服務在一個更高的水平。

IBM DB2 Audit Management Expert 1.1

IBM DB2 Audit Management Expert 1.1 軟件(IBM DB2 Audit Management Expert)是一個工具,它提供了審計員、安全管理員和數據庫管理員(DBAs)的能力,他們需要統計行為正確准時的交付數據和報告。它在一個審計庫中,為你的 DB2 數據服務器搜集 DB2 審計工具,提供審計記錄,並且這些審計記錄讓審計員很容易查看、分析、生成報告。

因為這個集中的工具,審計員可以:

使用自動進程選擇性審計所有 DB2 數據庫中的插入、更新、刪除和讀取。

查看在指定數據庫對象上所有報告的行為。

用從審計庫中收集的數據生成有意義的報告。

IBM DB2 Audit Management Expert 把審計員和 DBA 的角色分開了,騰出了寶貴的 DBA 資源用於支持審計請求。現在審計不需要是被審計系統中的特權用戶,因此也不破壞數據庫安全性。對於一個懷疑的審計對象,DB2 Audit Management Expert 允許一個授權審計員,通過查看在系統中什麼數據已經被更改了來研究它。這允許審計員不需要 DBA 參與情況下,就能執行數據庫審計工作。並且在一個類似方式中,DBAs 和安全管理員可以使用工具來保證它們的系統是准備好審計的。

一個容易使用的圖形化用戶接口的好處是:審計員可以自定義數據收集能力、定義基於任何 DB2 對象組合的過濾策略、DB2 用戶 IDs、連接到 DB2 數據庫系統應用程序和收集的時間。

DB2 Audit Management Expert 也提供一個報告接口,它使普通審計任務更方便,比如判斷是誰在一個確定的時間更新了特定的對象,或者監控對特定系統或對象的未授權訪問。強大的報告選項讓審計員可以從不同角度查看並匯報數據。

最後,一個單獨的用戶,友好的管理接口,讓 DB2 Audit Management Expert 管理員很容易定義 DB2 Audit Management Expert 實體,比如連接標准、用戶和組。接口簡單的管理任務和易於使用的向導。

z/OS 安全服務器 : Resource Access Control Facility

Resource Access Control Facility (RACF) 軟件是 z/OS System Authorization Facility (SAF) 的一個組件,用來保護在 z/OS 上的所有資源,包括你的網絡和通信。SAF 是高層架構,它允許你插入任何可用的商業產品。

為了提供面向多種資源、功能、工具、程序、還有 z/OS 上的命令,RACF 已經發展了超過 30 年。RACF 的概念非常簡單:在數據庫中保留所有 RACF 保護的資源記錄。例如它可以設置文件模式的權限,即使這個文件並不存在。當用戶登錄系統時,RACF 最初通過用戶 ID 和密碼來確定和認證用戶。當用戶試圖訪問一個資源時,RACF 將檢查它的數據庫,根據這些從數據庫中找到的信息,它既可以允許也可以拒絕訪問請求。

z/OS 通訊服務器 : Application Transparent Transport Layer Security

Transport Layer Security(TLS)軟件是 Secure Sockets Layer (SSL) 技術的最新發展。通過它你可以加密並保護你最重要的電子商務事務和其他在網絡上傳輸的數據。在主機環境中,應用程序需要大范圍的程序更改才能實現並獲得這個高度安全的傳輸路徑。但是,由於有 Application Transparent Transport Layer Security (AT-TLS),現在配置 TLS 加密不需要花費時間去重新編寫你的應用程序了。

AT-TLS 支持是策略驅動,並由 Policy Agent 或 PAGENT 管理。套接字應用程序在套接字之上繼續發送並接受明文,不過數據在網絡間傳輸是被系統 SSL 保護的。需要 AT-TLS 了解狀態或者控制通信 安全來對應用程序提供支持。

總結

為了完全保護你的環境,你必須注意各個方面的安全,而不僅僅是數據庫系統本身。如這一章節中所說的“數據庫之外的安全”,這包括保護網絡、你的主機和你運行的所有應用程序,還有那個控制物理訪問還有時間商業控制。作為更廣泛安全場景的一部分,下面的圖標顯示了數據安全和伴隨它的威脅。


圖 2.數據安全和威脅
DB2 最佳實踐: IBM 數據服務器安全

圖片看不清楚?請點擊這裡查看原圖(大圖)。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved