任何服務器,安全與性能是兩個永恆的主題。作為企業的信息化安全人員,其主要任務就是如何在保障服務器性能的前提下提高服務器的安全性。而要做到這一點,服務器的訪問權限控制策略無疑是其中的一個重要環節。筆者企業最近上了一台新的數據庫服務器,我為他設計了一些權限控制手段。這些方法雖然不能夠百分之百的保證數據庫服務器的安全性,但是,這些仍然是數據庫服務器安全策略中必不可少的因素。他對提高數據庫服務器的安全性有著不可磨滅的作用。
其實,這些控制策略,不但對數據庫服務器有效;對其他的應用服務器仍然具有參考價值。
一、給用戶授予其所需要的最小權限
不要給數據庫用戶提供比其需要的還要多的權限。換句話說,只給用戶真正需要的、為高效和簡潔地完成工作所需要的權限。這個道理很容易理解。這就好像防止職業貪污一樣。你若只給某個員工其完成工作所必需的費用,一分都不多給,那其從哪裡貪污呢?
如從數據庫服務器的角度來考慮這個問題,這就要求數據庫管理員在設置用戶訪問權限的時候,注意如下幾個方面的問題。
一是要限制數據庫管理員用戶的數量。在任何一個服務器中,管理員具有最高的權限。為了讓數據庫維持正常的運轉,必須給數據庫配置管理員賬戶。否則的話,當數據庫出現故障的時候,就沒有合適的用戶對其進行維護了。但是,這個管理員賬戶的數量要嚴格進行限制。不能為了貪圖方便,把各個用戶都設置成為管理員。如筆者企業,在一台數據庫服務器中運行著兩個實例,但是,只有一個數據庫管理員負責數據庫的日常維護。所以,就只有一個管理員賬戶。
二是選擇合適的賬戶連接到數據庫。一般數據庫的訪問權限可以通過兩種方式進行控制。一是通過前台應用程序。也就是說,其連接到數據庫是一個統一的賬戶,如管理員賬戶;但是,在前台應用程序中設置了一些關卡,來控制用戶的訪問權限。這種方式雖然可以減少前台程序開發的工作量,但是,對於數據庫服務器的安全是不利的。二是在前台程序中,就直接利用員工賬戶的賬號登陸到數據庫系統。這種做法雖然可以提高數據庫的安全性,但是,其前台配置的工作量會比較繁瑣。而筆者往往采用折中的方法。在數據庫中有兩類賬戶,一類是管理員賬戶,只有前台系統管理員才可以利用這類賬戶登陸到數據庫系統。另外一類是普通賬戶,其雖然可以訪問數據庫中的所有非系統對象,但是,他們不能夠對數據庫系統的運行參數進行修改。然後具體數據對象的訪問,則通過前台應用程序控制。如此,前台應用程序普通員工只需要通過同一個賬戶連接到數據庫系統。而系統管理員若需要進行系統維護,如數據庫系統備份與還原,則可以通過數據庫管理員賬戶連接到數據庫系統。則即方便了前台應用程序的配置效率,又提高了數據庫服務器的安全性。總之,我們的目的就是要限制以數據庫管理員身份連接到數據庫的用戶數量。