在各種操作系統(tǒng)中,Linux已經(jīng)流行。因此,越來越多的主流數(shù)據(jù)庫廠商將它們的產(chǎn)品移植到Linux操作系統(tǒng)平臺,例如Sybase、Oracle和IBM等。此外,可以使用的自由軟件越來越多。自由軟件庫中已經(jīng)包括了Sybase ASE for Linux、Oracle for Linux、Informix for Linux等數(shù)據(jù)庫軟件以及其他各種軟件。 在上述幾種Linux平臺上的數(shù)據(jù)庫產(chǎn)品中,Sybase ASE的性能很好,緊湊的程序分發(fā)包里包含了全部文檔、數(shù)據(jù)庫備份和監(jiān)視等工具,同時它對系統(tǒng)的要求不高(系統(tǒng)配置為32MB內(nèi)存,包含文檔的全部安裝需要200MB硬盤,否則需要120MB硬盤)。它的安裝、配置過程與其他產(chǎn)品相比也很簡單。這些優(yōu)勢,連同Sybase數(shù)據(jù)庫產(chǎn)品本來的用戶基礎(chǔ),使得它成為Linux平臺上出色的數(shù)據(jù)庫軟件。 但是,Sybase ASE在正常安裝完成后,數(shù)據(jù)庫超級用戶的賬號沒有設(shè)置口令。這樣,Internet上每一個知道服務(wù)器端口號的用戶或者本機(jī)上的所有可登錄用戶都可以以超級用戶身份對數(shù)據(jù)庫隨意操作。這應(yīng)該說是一個非常大的安全漏洞。下面將逐步介紹Sybase ASE for Linux 的安裝過程,以及安裝完成后需要采取的安全配置和較為安全的系統(tǒng)。 一、Sybase ASE的安裝 首先下載Sybase ASE for Linux軟件包,網(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)系。 然后,以超級用戶的身份鍵入命令:
#rpm -i sybase-ase-11.0.3.3-1.i386.rpm 屏幕會顯示Sybase公司的版權(quán)說明,鍵入“yes”表示同意。接下去安裝程序會提示將在系統(tǒng)中創(chuàng)建一個用戶sybase和相應(yīng)的組,并要求為該賬號設(shè)置相應(yīng)的口令。Sybase數(shù)據(jù)庫安裝的缺省目錄是/opt/sybase。安裝時要注意磁盤分區(qū)有足夠的空間(大于200MB)。 下一步可以重新以sybase登錄繼續(xù)配置,也可以使用 #su - sybase 改變身份為sybase來繼續(xù)對sybase進(jìn)行安裝。屏幕上將會出現(xiàn): 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: 選擇3來配置服務(wù)器,在該選項中將會一同配置服務(wù)器監(jiān)聽端口。在下面每一個屏幕提示下,數(shù)字表示具體選項,Ctrl-a表示已經(jīng)配置完畢,進(jìn)行下一步,Ctrl-x表示放棄剛才的選擇,退回上一步,下面省去同樣的提示。選擇3后,出現(xiàn)以下提示:
Product Date InstalledDate Configured
1.SQL Server11 Sep 1998 06:47
2.Backup Server 11 Sep 1998 06:47 首先選擇1配置SQL服務(wù)器,出現(xiàn)以下提示:
1.Configure a new SQL Server
2.Configure an existing SQL Server
3.Upgrade an existing SQL Server 然后選擇1來配置一個新的SQL服務(wù)器。配置備份服務(wù)器可以在SQL服務(wù)器配置完成后再來。由于是第一次安裝,所以選擇配置新的服務(wù)器,后面2個選項分別提供了重新配置或者升級原服務(wù)器的功能 接下來的提示要求選擇服務(wù)器的名字,具體如下:
ADD NEW SQL SERVER
1.SQL Server name:SYBASE
默認(rèn)為SYBASE。這與sybase的交互式訪問工具isql的默認(rèn)服務(wù)器名字是一致的。 完成上述配置后,出現(xiàn)如下顯示:
SQL SERVER CONFIGURATION
1.CONFIGURE SERVER'S INTERFACES FILE ENTRY Incomplete
2.MASTER DEVICE CONFIGURATION Incomplete 3.SYBSYSTEMPROCS DATABASE CONFIGURATION Incomplete
4.SET ERRORLOG LOCATION Incomplete 5.CONFIGURE DEFAULT BACKUP SERVER Incomplete
6.CONFIGURE LANGUAGES Incomplete 7.CONFIGURE CHARACTER SETS Incomplete
8.CONFIGURE SORT ORDER Incomplete 9.ACTIVATE AUDITING Incomplete 以上關(guān)系到數(shù)據(jù)庫的具體內(nèi)容,包括端口號、設(shè)備、語言和字符集等。下面假定不改變默認(rèn)名,直接按Ctrl-a接受。 第1項配置服務(wù)器端口,選擇后出現(xiàn)下面的提示屏幕:
SERVER INTERFACES FILE ENTRY SCREEN
Server name:SYBASE
1.Retry Count:0
2.Retry Delay:0
3.Add a new listener service 選擇增加一個監(jiān)聽端口,出現(xiàn)下面的配置TCP端口的屏幕:
EDIT TCP SERVICE
1.Hostname/Address: localhost.localdomain
2.Port:
3.Name Alias:
4.Delete this service from the interfaces entry 其中的主機(jī)名在一般情況下由安裝程序自動從環(huán)境中提取,通常不需要改動。但是,如果用戶配置的是遠(yuǎn)程服務(wù)器的話,此處應(yīng)該修改為相應(yīng)的服務(wù)器地址。第二項的端口號用戶可以自由選擇,通常選擇在1024以上。同樣,如果是配置遠(yuǎn)程服務(wù)器,端口號應(yīng)該修改為正確的端口地址。這2個參數(shù)會記錄在/opt/sybase/interfaces文件中,也就是說在配置完成后,用戶也可以手工修改該文件來重新改變連機(jī)端口的參數(shù)。 第2項配置數(shù)據(jù)庫主設(shè)備。數(shù)據(jù)庫主設(shè)備可以是一個新的物理設(shè)備,也可以是磁盤中的一個文件,大小可以根據(jù)需要和存儲設(shè)備的空間大小調(diào)整。 后面各項的配置在普通應(yīng)用下,基本上不需要修改缺省值。按照提示繼續(xù)做下去,依次分別是配置Sybase系統(tǒng)進(jìn)程數(shù)據(jù)庫、錯誤日志、缺省備份服務(wù)器、字符集、數(shù)據(jù)庫排序和激活審計等。其中的缺省備份服務(wù)器和激活審計配置對于數(shù)據(jù)庫安全較為重要。 在管理員希望對數(shù)據(jù)庫進(jìn)行備份時需要備份服務(wù)器功能,它的原理是在一個特定的端口監(jiān)聽備份申請(該端口號必須與前面數(shù)據(jù)庫端口號區(qū)分開),將數(shù)據(jù)庫的數(shù)據(jù)備份到指定的設(shè)備中去(例如“/tmp/sybase.mybackup.19990909”)。選擇該項后,出現(xiàn)如下顯示:
SET THE SQL SERVER'S BACKUP SERVER
1.SQL Server Backup Server name:SYB_BACKUP
審計功能在缺省狀態(tài)下并不打開。如果管理員認(rèn)為需要,則可以參照下面的屏幕創(chuàng)建一個單獨的數(shù)據(jù)庫來存儲系統(tǒng)審計信息。 ACTIVATE AUDITING
1.Install auditing:no
2.sybsecurity database size (Meg):5
3.sybsecurity logical device name:sybsecurity
4.create new device for the sybsecurity database:no 二、 安裝后的安全問題與相應(yīng)的配置 按照DoD52.00.28-STD信任計算機(jī)系統(tǒng)評估標(biāo)準(zhǔn),即通常所說的桔皮書,Sybase ASE的設(shè)計標(biāo)準(zhǔn)為C2級,它提供了4種安全機(jī)制,分別是訪問控制、認(rèn)證控制、角色劃分和數(shù)據(jù)庫審計。訪問控制是指對象所有者可以對不同的登錄用戶賦予或者取消某些訪問的權(quán)利。認(rèn)證控制是指保證只有被授權(quán)的用戶才能登錄進(jìn)入系統(tǒng)。角色的劃分使得系統(tǒng)管理員可以將系統(tǒng)的一些特殊權(quán)利分別賦予某一個用戶,使他們能夠分別完成某些關(guān)鍵任務(wù)。具體來說,Sybase數(shù)據(jù)庫系統(tǒng)設(shè)定了3種主要角色:系統(tǒng)管理員(sa_role)、系統(tǒng)安全員(sso_role)和系統(tǒng)操作員(oper_role)。數(shù)據(jù)庫審計系統(tǒng)可以對系統(tǒng)的登錄、退出、數(shù)據(jù)庫啟動、遠(yuǎn)程過程調(diào)用、角色的變化和對各種對象的訪問等操作提供記錄與審查。 數(shù)據(jù)庫應(yīng)用采用客戶機(jī)/服務(wù)器架構(gòu),服務(wù)器端在某一個端口監(jiān)聽網(wǎng)絡(luò)連接請求??蛻舳松暾堖B接,輸入合法的用戶名和相應(yīng)的口令,進(jìn)入服務(wù)器,然后運行需要的命令。這樣,在數(shù)據(jù)庫用戶的配置管理方面如果出現(xiàn)安全漏洞,勢必會給系統(tǒng)和數(shù)據(jù)帶來非常大的威脅??墒?,Sybase ASE在正常安裝完成后,數(shù)據(jù)庫超級用戶的賬號沒有設(shè)置口令。這樣,Internet上每一個知道服務(wù)器端口號的用戶或者本機(jī)上的所有可登錄用戶都可以以超級用戶身份對數(shù)據(jù)庫隨意操作。這應(yīng)該說是一個非常大的安全漏洞。下面,通過對角色的分析,給出解決這一問題的方法。 1.三種角色的主要權(quán)利和任務(wù) (1) sa_role
管理磁盤使用,改變系統(tǒng)各種運行參數(shù),診斷系統(tǒng)出現(xiàn)的各種問題,備份和恢復(fù)數(shù)據(jù)庫,對其他用戶賦予或者取消sa_role,創(chuàng)建用戶數(shù)據(jù)庫并為它們授予合適的屬主,以及建立用戶組等等。 (2) sso_role
創(chuàng)建登錄賬號并初始化口令,更改其他所有賬號的口令,對其他用戶賦予或者取消sso_role以及oper_role,設(shè)定口令時限以及管理審計系統(tǒng)等。 (3) oper_role
備份和恢復(fù)各種數(shù)據(jù)庫。 2.更改sa口令 Sybase ASE在安裝完成時在系統(tǒng)中創(chuàng)建了用戶sa,它同時具有sa_role和sso_role兩種角色。此時的用戶“sa”在服務(wù)器中具有無限的權(quán)利,相當(dāng)于Unix系統(tǒng)中一個沒有口令的root。這樣,任何蓄意的聯(lián)網(wǎng)用戶都可以完全控制該SQL服務(wù)器。這不能不說是Sybase ASE的一個重大安全漏洞。為此,強(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 將原來的空口令(NULL)改為當(dāng)前的“NewPassWd”。這里的口令最少為6個字符長度,可以由任何可打印字符、字母和數(shù)字等組成。 3.關(guān)閉sa賬號 角色的劃分可以說是Sybase數(shù)據(jù)庫相對于普通Unix系統(tǒng)在安全體制方面的改進(jìn)。但是,大家知道,擁有無限權(quán)利的超級用戶一方面是系統(tǒng)的保護(hù)者,但是更多的時候是給系統(tǒng)的安全帶來了巨大的安全威脅。簡單來說,超級用戶一個低級的誤操作就可能毀掉整個服務(wù)器。從攻擊的角度來看,攻擊者只要獲得了超級用戶的身份就表明他已經(jīng)徹底攻克了該系統(tǒng)。而對于經(jīng)過特權(quán)分割安全加固的系統(tǒng)來說,攻擊者必須將若干個特權(quán)用戶全部破解,才能得以完全控制該系統(tǒng)??梢哉f超級權(quán)利用戶的存在是區(qū)分C級和B級安全系統(tǒng)的一個重要標(biāo)志。 在設(shè)置sa賬號的口令以后,通過創(chuàng)建新用戶,并區(qū)分sa的角色,關(guān)閉sa,從而進(jìn)一步加強(qiáng)服務(wù)器的安全。Sybasre提供了幾個相應(yīng)的命令sp_addlogin和sp_role等來完成上述操作。
>sp_addlogin sa_user,"Sa,PassWd"
>sp_addlogin sso_user,"Sso,PassW"
>sp_role "grant",sa_role,sa_user
>sp_role "grant",sso_role,sso_user
>sp_locklogin sa,"lock" 上述命令創(chuàng)建了兩個用戶sa_user,sso_user,并且分別設(shè)置了口令“Sa,PassW”和“Sso,Pass”,設(shè)置了角色sa_role和sso_role,然后關(guān)閉了賬號sa。 (作者地址:江蘇鎮(zhèn)江南京經(jīng)濟(jì)學(xué)院橋頭校區(qū),212413)
|
新聞熱點
疑難解答
圖片精選