1. 程式人生 > >informix 的安全訪問控制機制

informix 的安全訪問控制機制

資料庫安全
資料庫安全是及其重要的,無論使購買產品和歷史分析資料,一個公司都需要有健全的資料庫安全計劃,通過如下方式來確定:
誰可以訪問資料庫伺服器例項和資料庫
從哪兒以什麼方式驗證使用者密碼
使用者的授權級別
使用者能夠執行的命令
使用者能夠讀取或者修改的資料
使用者能夠建立、修改或刪除的資料庫物件
IDS為資料庫安全提供三個主要的機制:身份驗證、授權和特權
身份驗證
IDS驗證使用者身份的過程,我們知道IDS中的使用者是建立在所在的作業系統上進行授權的,所以在驗證使用者ID和密碼時與底層作業系統的安全性密切結合,另外還能在安全協議合作
授權:涉及到確定使用者或組能夠執行的操作,能夠訪問的資料物件,使用者執行高階資料庫和例項管理操作的能力取決於他們的許可權。
特權:比授權的粒度更細,可以授權給使用者或組。支援基於標籤的訪問控制(LBAC),提供更細粒度的控制
IDS中的訪問控制
自主訪問控制(DAC)主要的訪問機制,支援特權和角色訪問SQL物件,在資料庫中,使用DAC保護的物件包括資料庫、表、列、檢視、型別、例程和語言,但是不能使用者行級保護;

典型的資料庫特權
DBA 資料庫建立者和所有者
Resource 連線到資料庫並穿件其他物件
connect 能夠連線到資料庫查詢
特權可以通過grant和revoke語句回收,如:
grant  resource to username;賦予使用者resource 特權
revoke resource from username;回收使用者resource特權

public用於表示資料庫中的所有使用者的關鍵字,當授予public時,表示系統所有使用者都有其特權,回收就是回收系統中所有使用者的特權;
基於角色的訪問控制(RBAC)將特權合併到角色當中然後將角色分配給使用者,從而擴充套件了基於特權的訪問,介紹可以定義為工作任務的類別。
IDS預定義的角色:DBSA,DBSSO,AAO,OSA,使用者,特權使用者,可以根據自己的需求建立定製角色,但是僅能DBA特權使用者建立。
create role role_name; 建立角色
grant connect to role_name;給角色賦予特權
grant role_name to username;給使用者賦予角色
revoke role_name from username;回收使用者的角色
預設角色是管理員建立將其賦予其他使用者或特定庫中授予public
基於標籤的訪問控制
主訪問控制是在資料庫物件級別上工作的,比如資料庫、表、列和檢視等,而基於標籤的訪問控制是在資料的行和列級別上工作的。表由安全策略保護,單個的行和列則由安全標籤保護。資料庫安全管理員(DBSECADM)建立安全策略和標籤,並將標籤授予使用者。當具有安全標籤的使用者向由等效安全策略保護的表寫入資料行時,將在該表的每個行生成資料標籤。LBAC 工作的基本原理是,在保護行的資料標籤中,其安全標籤佔據優勢的使用者能夠讀取資料。如何計算優勢?任何標籤都由每個元件中的個體元件和元素組成。如果使用者標籤中的個體元件超過特定安全策略的行標籤的個體元件,那麼使用者標籤就佔優勢。
IDS 中的加密支援

加密技術是作為插入式通訊支援模組(pluggable communication supports module,CSM)與 IDS 整合的
ENCCSM 在UNIX系統名稱為$INFORMIXDIR/lib/csm/iencs11a.so(WINDOWS 中位於%INFORMIXDIR%/lib/csm/iencs11a.dll),這個模組用於加密在客戶機和伺服器之間傳輸的所有資料
SPWDCSM 在UNIX系統中$INFORMIXDIR/lib/csm/ispws11a.so(WINDOWS中%INFORMIXDIR%/lib/csm/ispws11a.dll)這個模組僅用於加密從客戶機發送到伺服器的密碼
GSSCSM 在UNIX系統中$INFORMIXDIR/lib/csm/igsss11a.so(WINDOWS %INFORMIXDIR%/lib/csm/igsss11a.dll),這個模組用於在 IDS 中指出單點登入身份驗證
例如:
 ENCCSM/SPWDCSM/GSSCSM 的 sqlhosts 條目     
demo_on1 onsoctcp demohost 1111 csm=(ENCCSM)
demo_on2 onsoctcp demohost 1112 csm=(SPWDCSM)
demo_on3 onsoctcp demohost 1113 s=7,csm=(GSSCSM)

IDS 中的安全套接字層(SSL)

安全套接字層(SSL)協議是一個通訊協議,它通過網路兩個點之間的可靠的端到端安全連線使用加密為資料通訊提供隱私性和完整性。
配置 IDS 例項以使用 SSL
為了將 IDS 例項配置為使用 SSL 連線,您需要向 sqlhosts 檔案新增連線資訊、設定 SSL 配置引數,以及配置金鑰倉庫和它儲存的數字證書。金鑰倉庫和數字證書超出了考試範圍;您僅需知道如何設定 sqlhosts 檔案以使用 SSL。
在 sqlhosts 檔案(UNIX)或 SQLHOSTS 登錄檔(Windows)中更新連線性息,以包含關於 SSL 連線的資訊。使用正確的協議:
對所有 Informix 客戶機使用 onsocssl 協議,比如 ESQL/C、ODBC、DB-Access、dbexport 實用工具、dbimport 實用工具、dbschema 實用工具或 dbload 實用工具連線
對 DRDA 連線使用 drsocssl 協議
SSL 的 sqlhosts 條目     
demo_on1 onsoctcp demohost 1111
demo_on2 onsocssl demohost 1112
demo_on3 drsocssl demohost 1113