DB2系統(tǒng)目錄視圖安全上的隱患
DB2系統(tǒng)目錄視圖是DB2數(shù)據(jù)庫的重要組成部分,但是在安全上,DB2系統(tǒng)目錄視圖卻存在著一些隱患,下面就詳細(xì)為您介紹該問題。
在Oracle數(shù)據(jù)庫中,也有跟DB2系統(tǒng)目錄視圖類似的設(shè)計(jì)。如將相關(guān)的數(shù)據(jù)庫對象以及權(quán)限等信息等存儲(chǔ)在數(shù)據(jù)字典中。但是對于Oracle數(shù)據(jù)庫來說,對于這個(gè)數(shù)據(jù)字典相關(guān)的視圖做了相關(guān)的限制。如在Oracle數(shù)據(jù)庫中,將數(shù)據(jù)字典分為user、all、dba三類。一般用戶只能夠使用user或者all數(shù)據(jù)字典視圖。
也就是說,只能夠查詢到自己擁有的對象或者自己擁有特定權(quán)限的對象信息。對于他人建立的對象,或者自己沒有權(quán)查詢的對象信息,一般用戶是查詢不到的。只有像具有數(shù)據(jù)庫管理員等特權(quán)的用戶才可以查詢到全部數(shù)據(jù)庫對象的信息。這在很大程度上保障了數(shù)據(jù)字典視圖的安全性。
但是對于DB2數(shù)據(jù)庫的DB2系統(tǒng)目錄視圖,在這方面做的就不是很到位。如默認(rèn)情況下,在部署DB2數(shù)據(jù)庫的時(shí)候,數(shù)據(jù)庫會(huì)自動(dòng)創(chuàng)建系統(tǒng)目錄視圖。而在創(chuàng)建這個(gè)DB2系統(tǒng)目錄視圖的時(shí)候,系統(tǒng)會(huì)將這個(gè)目錄視圖的select查詢權(quán)限賦予給public組。將這個(gè)目錄視圖賦予給這個(gè)組,就以為這數(shù)據(jù)庫系統(tǒng)中的用戶都具有查詢這個(gè)DB2系統(tǒng)目錄視圖的權(quán)限。
即使這個(gè)對象不是這個(gè)用戶所創(chuàng)建的,或者用戶沒有這個(gè)對象的訪問權(quán)限,用戶也可以查詢到這個(gè)對象的相關(guān)信息,如誰創(chuàng)建了這個(gè)對象,誰擁有這個(gè)對象的哪些權(quán)限的信息。當(dāng)數(shù)據(jù)庫中數(shù)據(jù)的保密級(jí)別或者商業(yè)價(jià)值不怎么高的時(shí)候,這么設(shè)計(jì)不怎么會(huì)產(chǎn)生安全問題。
但是,用戶使用起來不方便。如數(shù)據(jù)庫設(shè)計(jì)的比較復(fù)雜,有多個(gè)管理員同時(shí)維護(hù)數(shù)據(jù)庫系統(tǒng)。此時(shí)每個(gè)數(shù)據(jù)庫管理員之需要查詢到自己所創(chuàng)建的或則具有訪問權(quán)限的相關(guān)信息,而不需要全部的對象信息。顯然憑現(xiàn)在系統(tǒng)目錄視圖的設(shè)計(jì),不能夠做到這一點(diǎn)。
但是如果數(shù)據(jù)庫中的數(shù)據(jù)商業(yè)價(jià)值比較高,有很多人虎視眈眈的在打這些數(shù)據(jù)的注意,此時(shí)數(shù)據(jù)庫系統(tǒng)對于系統(tǒng)目錄視圖的默認(rèn)權(quán)限設(shè)計(jì),可能就不怎么合適了。因?yàn)槟夸浺晥D中存儲(chǔ)的所有對象信息(包括授權(quán)信息)對于所有用戶都是開放的。
這會(huì)為黑客或者其他不按好心的用戶竊取相關(guān)的資料提供便利。所以對于安全要求高的企業(yè),在部署DB2數(shù)據(jù)庫的時(shí)候,有可能需要更改這些DB2系統(tǒng)目錄視圖的默認(rèn)權(quán)限,以提高目錄視圖中信息的安全性。讓只有相關(guān)的人員才能夠看到目錄視圖中的數(shù)據(jù)庫對象以及權(quán)限等相關(guān)信息。
【編輯推薦】



















