|
任何服務器,安全與性能是兩個永恒的主題。作為企業(yè)的信息化安全人員,其主要任務就是如何在保障服務器性能的前提下提高服務器的安全性。而要做到這一點,服務器的訪問權限控制策略無疑是其中的一個重要環(huán)節(jié)。筆者企業(yè)最近上了一臺新的數(shù)據(jù)庫服務器,我為他設計了一些權限控制手段。這些方法雖然不能夠百分之百的保證數(shù)據(jù)庫服務器的安全性,但是,這些仍然是數(shù)據(jù)庫服務器安全策略中必不可少的因素。他對提高數(shù)據(jù)庫服務器的安全性有著不可磨滅的作用。
其實,這些控制策略,不但對數(shù)據(jù)庫服務器有效;對其他的應用服務器仍然具有參考價值。
一、給用戶授予其所需要的最小權限
不要給數(shù)據(jù)庫用戶提供比其需要的還要多的權限。換句話說,只給用戶真正需要的、為高效和簡潔地完成工作所需要的權限。這個道理很容易理解。這就好像防止職業(yè)貪污一樣。你若只給某個員工其完成工作所必需的費用,一分都不多給,那其從哪里貪污呢?
如從數(shù)據(jù)庫服務器的角度來考慮這個問題,這就要求數(shù)據(jù)庫管理員在設置用戶訪問權限的時候,注意如下幾個方面的問題。
一是要限制數(shù)據(jù)庫管理員用戶的數(shù)量。在任何一個服務器中,管理員具有最高的權限。為了讓數(shù)據(jù)庫維持正常的運轉,必須給數(shù)據(jù)庫配置管理員賬戶。否則的話,當數(shù)據(jù)庫出現(xiàn)故障的時候,就沒有合適的用戶對其進行維護了。但是,這個管理員賬戶的數(shù)量要嚴格進行限制。不能為了貪圖方便,把各個用戶都設置成為管理員。如筆者企業(yè),在一臺數(shù)據(jù)庫服務器中運行著兩個實例,但是,只有一個數(shù)據(jù)庫管理員負責數(shù)據(jù)庫的日常維護。所以,就只有一個管理員賬戶。
二是選擇合適的賬戶連接到數(shù)據(jù)庫。一般數(shù)據(jù)庫的訪問權限可以通過兩種方式進行控制。一是通過前臺應用程序。也就是說,其連接到數(shù)據(jù)庫是一個統(tǒng)一的賬戶,如管理員賬戶;但是,在前臺應用程序中設置了一些關卡,來控制用戶的訪問權限。這種方式雖然可以減少前臺程序開發(fā)的工作量,但是,對于數(shù)據(jù)庫服務器的安全是不利的。二是在前臺程序中,就直接利用員工賬戶的賬號登陸到數(shù)據(jù)庫系統(tǒng)。這種做法雖然可以提高數(shù)據(jù)庫的安全性,但是,其前臺配置的工作量會比較繁瑣。而筆者往往采用折中的方法。在數(shù)據(jù)庫中有兩類賬戶,一類是管理員賬戶,只有前臺系統(tǒng)管理員才可以利用這類賬戶登陸到數(shù)據(jù)庫系統(tǒng)。另外一類是普通賬戶,其雖然可以訪問數(shù)據(jù)庫中的所有非系統(tǒng)對象,但是,他們不能夠對數(shù)據(jù)庫系統(tǒng)的運行參數(shù)進行修改。然后具體數(shù)據(jù)對象的訪問,則通過前臺應用程序控制。如此,前臺應用程序普通員工只需要通過同一個賬戶連接到數(shù)據(jù)庫系統(tǒng)。而系統(tǒng)管理員若需要進行系統(tǒng)維護,如數(shù)據(jù)庫系統(tǒng)備份與還原,則可以通過數(shù)據(jù)庫管理員賬戶連接到數(shù)據(jù)庫系統(tǒng)。則即方便了前臺應用程序的配置效率,又提高了數(shù)據(jù)庫服務器的安全性。總之,我們的目的就是要限制以數(shù)據(jù)庫管理員身份連接到數(shù)據(jù)庫的用戶數(shù)量。
在其他應用服務器中,也有管理員賬戶與普通賬戶之分。在權限分配的時候,也最好只給用戶授予其需要的最小權限,以保障數(shù)據(jù)庫服務器的安全。
二、取消默認賬戶不需要的權限
在建立賬戶的時候,服務器往往給給其一些默認的權限。如在數(shù)據(jù)庫中,Public是授予每個用戶的默認角色。任何用戶,只要沒有指定具體的角色,則其都可以授予Public組的權限。這其中,還包括執(zhí)行各種SQL語句的權限。如此,用戶就有可能利用這個管理漏洞,去訪問那些不允許他們直接訪問的包。因為這個默認權限,對于那些需要他們并且需要合適配置和使用他們的應用來說,是非常有用的,所以,系統(tǒng)默認情況下,并沒有禁止。但是,這些包可能不適合與其他應用。故,除非絕對的需要,否則就應該從默認缺陷中刪除。
也就是說,通常某個賬戶的默認權限,其是比較大的。如對于數(shù)據(jù)庫來說,其賬戶的默認權限就是可以訪問所有的非系統(tǒng)對象表。數(shù)據(jù)庫設計的時候,主要是為了考慮新建用戶的方便。而且,新建用戶的時候,數(shù)據(jù)庫確實也無法識別這個用戶到底能夠訪問哪些用戶對象。但是,對于企業(yè)應用系統(tǒng)來說,若給每個員工都默認具有這么大的訪問權限,那則是很不安全的。
筆者的做法是,會把應用系統(tǒng)的默認用戶權限設置為最小,有些甚至把默認用戶權限全部取消掉。這就迫使服務器管理員在建立賬戶的時候,給賬戶指定管理員預先設定的角色。這就可以有效的防止管理員“偷懶”。在建立賬戶的時候,不指定角色。 |
|
【收藏】【打印】【進入論壇】 |
|
|
|
|
|
|
|