在各種操作系統(tǒng)中,這兩年的流行色是Linux。越來越多的主流數(shù)據(jù)庫(kù)廠商將它們的產(chǎn)品移植到Linux操作系統(tǒng)平臺(tái)?,F(xiàn)在Linux平臺(tái)上的數(shù)據(jù)庫(kù)產(chǎn)品有Oracle for Linux、Sybase ASE for Linux、Informix for Linux等,它們都是自由軟件。在這幾種產(chǎn)品中,Sybase ASE是一個(gè)非常不錯(cuò)的選擇。它緊湊的程序分發(fā)包里包含了全部的文檔、數(shù)據(jù)庫(kù)備份、監(jiān)視等工具,同時(shí)它對(duì)系統(tǒng)的要求不高。它的安裝、配置過程與其它產(chǎn)品相比也顯得簡(jiǎn)單易行。
數(shù)據(jù)庫(kù)應(yīng)用采用客戶端/服務(wù)器(C/S)架構(gòu),服務(wù)器端在某一個(gè)端口監(jiān)聽網(wǎng)絡(luò)連接請(qǐng)求??蛻舳松暾?qǐng)連接,輸入合法的用戶名和相應(yīng)的口令,進(jìn)入服務(wù)器,然后運(yùn)行需要的命令。這樣,在數(shù)據(jù)庫(kù)用戶的配置管理方面如果出現(xiàn)安全漏洞,勢(shì)必會(huì)給系統(tǒng)和數(shù)據(jù)帶來非常大的威脅。ASE for Linux在正常安裝完成后,數(shù)據(jù)庫(kù)超級(jí)用戶的賬號(hào)沒有設(shè)置口令。這樣,互聯(lián)網(wǎng)上每一個(gè)知道服務(wù)器端口號(hào)的用戶或者本機(jī)上的所有可登錄用戶,都可以以超級(jí)用戶身份對(duì)數(shù)據(jù)庫(kù)隨意操作。所以管理員在將數(shù)據(jù)庫(kù)連上網(wǎng)絡(luò)之前,一定要設(shè)置好包括超級(jí)用戶口令和其它賬號(hào)權(quán)限在內(nèi)的安全防線,否則,上網(wǎng)的數(shù)據(jù)庫(kù)將是一個(gè)“不設(shè)防城市”!
接下來介紹一下ASE for Linux的安裝過程和配置,并分析缺省配置下的安全問題以及相應(yīng)的安全加強(qiáng)措施。
ASE for Linux的應(yīng)用
首先需要下載ASE for Linux軟件包,互聯(lián)網(wǎng)上可以比較容易找到RPM格式的二進(jìn)制發(fā)行包,包括sybase-ase-11.0.3.3-1.i386.rpm(主程序包)、sybase- doc-11.0.3.3-1.i386.rpm(文件包)。RPM是Redhat公司的軟件包管理程序,使用它可以非常方便地安裝、卸載程序包,并保持它們之間的依賴關(guān)系。
然后,以超級(jí)用戶的身份鍵入命令:
#rpm -i sybase-ase-11.0.3.3-1.i386.rpm
之后按照提示操作。我們可以sybase登錄繼續(xù)配置,也可以使用 #su - s ybase 改變身份來繼續(xù)對(duì)sybase進(jìn)行安裝。屏幕上將會(huì)看到:
1.Release directory:/opt/sybase 2.Edit / View Interfaces File 3.Configure a Server product 4.Configure an Open Client/Server product Ctrl-a Accept and Continue, Ctrl-x Exit Screen, ? Help. Enter the number of your choice and press return: |
下面的屏幕提示要求選擇服務(wù)器的名字,缺省為Sybase。這與Sybase的交互式訪問工具isql的缺省服務(wù)器名字是一致的。
ADD NEW SQL SERVER
SQL Server name:SYBASE
接下來的配置關(guān)系到了數(shù)據(jù)庫(kù)的具體細(xì)節(jié),包括端口號(hào)、設(shè)備、語言、字符集等。
按照提示繼續(xù)作下去,依次分別是配置SYBASE系統(tǒng)進(jìn)程數(shù)據(jù)庫(kù)、錯(cuò)誤日志、缺省備份服務(wù)器、字符集、數(shù)據(jù)庫(kù)排序、激活審計(jì)等。其中的缺省備份服務(wù)器和激活審計(jì)配置對(duì)于數(shù)據(jù)庫(kù)安全較為重要。備份服務(wù)器在管理員希望對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份時(shí)需要。
安全加強(qiáng)措施
按照信任計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)DoD52.00.28-STD,也就是通常所說的桔皮書,Sybase ASE的設(shè)計(jì)標(biāo)準(zhǔn)為C2級(jí),它提供了四種安全機(jī)制,分別是訪問控制、認(rèn)證控制、角色劃分、數(shù)據(jù)庫(kù)審計(jì)。具體說,Sybase數(shù)據(jù)庫(kù)系統(tǒng)設(shè)定了三種主要角色:系統(tǒng)管理員(sa_role),系統(tǒng)安全員(sso_role),系統(tǒng)操作員(oper_role)。數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)可以對(duì)系統(tǒng)的登錄、退出、數(shù)據(jù)庫(kù)啟動(dòng)、遠(yuǎn)程過程調(diào)用、角色的變化、對(duì)各種對(duì)象的訪問等操作提供記錄和審查。
下面總結(jié)以下三種角色的各自主要權(quán)利和任務(wù):
* sa_role:管理磁盤使用,改變系統(tǒng)各種運(yùn)行參數(shù),診斷系統(tǒng)出現(xiàn)的各種問題,備份和恢復(fù)數(shù)據(jù)庫(kù),對(duì)其他用戶賦予或者取消sa-role,創(chuàng)建用戶數(shù)據(jù)庫(kù)并為它們授予合適的屬主,建立用戶組,等等。
* sso-role:創(chuàng)建登錄賬號(hào)并初始化口令,更改其他所有賬號(hào)的口令,對(duì)其他用戶賦予或者取消sso-role以及oper-role,設(shè)定口令時(shí)限以及管理審計(jì)系統(tǒng)等。
* oper-role:備份和恢復(fù)各種數(shù)據(jù)庫(kù)。
Sybase ASE在安裝完成時(shí)在系統(tǒng)中創(chuàng)建了用戶sa,它同時(shí)具有sa-role和ss o-role兩種角色。從上面的權(quán)限說明中,大家可以看到此時(shí)的用戶“sa”在服務(wù)器中具有無限的權(quán)利,相當(dāng)于一般Unix系統(tǒng)的root,一個(gè)沒有口令的root! 這樣,任何蓄意的聯(lián)網(wǎng)用戶都可以完全控制該SQL服務(wù)器。為此,強(qiáng)烈建議管理員在完成下面的安全配置之前切勿將服務(wù)器接入網(wǎng)絡(luò)!
首先,利用Sybase提供的交互式訪問工具isql連接服務(wù)器。鍵入以下命令:
$/opt/sybase/bin/isql -Usa -P -Smysybase 表示以用戶sa、空口令連接服務(wù)器mysybase。更改sa的口令。 〉sp_password NULL,"NewPassWd" 〉go |
角色的劃分可以說是Sybase數(shù)據(jù)庫(kù)相對(duì)于普通Unix系統(tǒng)在安全體制方面的進(jìn)步。大家知道,擁有無限權(quán)利的超級(jí)用戶一方面是系統(tǒng)的保護(hù)者,但是更多的時(shí)候是給系統(tǒng)的安全帶來了巨大的安全威脅。簡(jiǎn)單說,超級(jí)用戶一個(gè)低級(jí)的誤操作就可能毀掉整個(gè)服務(wù)器。從攻擊的角度講,攻擊者只要獲得了超級(jí)用戶的身份就表明他已經(jīng)徹底攻克了該系統(tǒng)。而對(duì)于經(jīng)過特權(quán)分割安全加固的系統(tǒng)來說,攻擊者必須將若干個(gè)特權(quán)用戶全部破解,才能夠完全控制該系統(tǒng)??梢哉f超級(jí)權(quán)利用戶的存在是區(qū)分C級(jí)和B級(jí)安全系統(tǒng)的一個(gè)重要標(biāo)志。
建議服務(wù)器管理員在設(shè)置sa賬號(hào)的口令以后,通過創(chuàng)建新用戶和分別sa的角色并關(guān)閉sa進(jìn)一步加強(qiáng)服務(wù)器的安全。Sybase提供了幾個(gè)相應(yīng)的命令sp_addlogi n, sp_role等來完成上述操作。
〉
〉sp_addlogin sa_user,“Sa,PassW” 〉sp_addlogin sso_user,“Sso,Pass” 〉sp_role“grant”,sa_role,sa_user 〉sp_role “grant”,sso_role,sso_user 〉sp_locklogin sa,“l(fā)ock” |