Sybase ASE安全“著陸”Linux(轉)

ba發表於2007-08-12
Sybase ASE安全“著陸”Linux(轉)[@more@]在各種作業系統中,這兩年的流行色是Linux。越來越多的主流資料庫廠商將它們的產品移植到Linux作業系統平臺。現在Linux平臺上的資料庫產品有Oracle for Linux、Sybase ASE for Linux、Informix for Linux等,它們都是自由軟體。在這幾種產品中,Sybase ASE是一個非常不錯的選擇。它緊湊的程式分發包裡包含了全部的文件、資料庫備份、監視等工具,同時它對系統的要求不高。它的安裝、配置過程與其它產品相比也顯得簡單易行。

   資料庫應用採用客戶端/伺服器(C/S)架構,伺服器端在某一個埠監聽網路連線請求。客戶端申請連線,輸入合法的使用者名稱和相應的口令,進入伺服器,然後執行需要的命令。這樣,在資料庫使用者的配置管理方面如果出現安全漏洞,勢必會給系統和資料帶來非常大的威脅。ASE for Linux在正常安裝完成後,資料庫超級使用者的賬號沒有設定口令。這樣,網際網路上每一個知道伺服器埠號的使用者或者本機上的所有可登入使用者,都可以以超級使用者身份對資料庫隨意操作。所以管理員在將資料庫連上網路之前,一定要設定好包括超級使用者口令和其它賬號許可權在內的安全防線,否則,上網的資料庫將是一個“不設防城市”!

   接下來介紹一下ASE for Linux的安裝過程和配置,並分析預設配置下的安全問題以及相應的安全加強措施。

   ASE for Linux的應用

   首先需要下載ASE for Linux軟體包,網際網路上可以比較容易找到RPM格式的二進位制發行包,包括sybase-ase-11.0.3.3-1.i386.rpm(主程式包)、sybase- doc-11.0.3.3-1.i386.rpm(檔案包)。RPM是Redhat公司的軟體包管理程式,使用它可以非常方便地安裝、解除安裝程式包,並保持它們之間的依賴關係。

   然後,以超級使用者的身份鍵入命令:

   #rpm -i sybase-ase-11.0.3.3-1.i386.rpm

   之後按照提示操作。我們可以sybase登入繼續配置,也可以使用 #su - s ybase 改變身份來繼續對sybase進行安裝。螢幕上將會看到:

   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來配置伺服器,在該選項中將會一同配置伺服器監聽埠。接下來可以配置一個新的SQL伺服器。配置備份伺服器可以在SQL伺服器配置完成後再來。由於是第一次安裝,所以選擇配置新的伺服器。

   下面的螢幕提示要求選擇伺服器的名字,預設為Sybase。這與Sybase的互動式訪問工具isql的預設伺服器名字是一致的。

   ADD NEW SQL SERVER

   SQL Server name:SYBASE

   接下來的配置關係到了資料庫的具體細節,包括埠號、裝置、語言、字符集等。

   按照提示繼續作下去,依次分別是配置SYBASE系統程式資料庫、錯誤日誌、預設備份伺服器、字符集、資料庫排序、啟用審計等。其中的預設備份伺服器和啟用審計配置對於資料庫安全較為重要。備份伺服器在管理員希望對資料庫進行備份時需要。

   安全加強措施

   按照信任計算機系統評估標準DoD52.00.28-STD,也就是通常所說的桔皮書,Sybase ASE的設計標準為C2級,它提供了四種安全機制,分別是訪問控制、認證控制、角色劃分、資料庫審計。具體說,Sybase資料庫系統設定了三種主要角色:系統管理員(sa_role),系統安全員(sso_role),系統操作員(oper_role)。資料庫審計系統可以對系統的登入、退出、資料庫啟動、遠端過程呼叫、角色的變化、對各種物件的訪問等操作提供記錄和審查。

   下面總結以下三種角色的各自主要權利和任務:

   * sa_role:管理磁碟使用,改變系統各種執行引數,診斷系統出現的各種問題,備份和恢復資料庫,對其他使用者賦予或者取消sa-role,建立使用者資料庫併為它們授予合適的屬主,建立使用者組,等等。

   * sso-role:建立登入賬號並初始化口令,更改其他所有賬號的口令,對其他使用者賦予或者取消sso-role以及oper-role,設定口令時限以及管理審計系統等。

   * oper-role:備份和恢復各種資料庫。

   Sybase ASE在安裝完成時在系統中建立了使用者sa,它同時具有sa-role和ss o-role兩種角色。從上面的許可權說明中,大家可以看到此時的使用者“sa”在伺服器中具有無限的權利,相當於一般Unix系統的root,一個沒有口令的root! 這樣,任何蓄意的聯網使用者都可以完全控制該SQL伺服器。為此,強烈建議管理員在完成下面的安全配置之前切勿將伺服器接入網路!

   首先,利用Sybase提供的互動式訪問工具isql連線伺服器。鍵入以下命令:

   $/opt/sybase/bin/isql -Usa -P -Smysybase

   表示以使用者sa、空口令連線伺服器mysybase。更改sa的口令。

   〉sp_password NULL,"NewPassWd"

   〉go

   將原來的空口令(NULL)改為當前的“NewPassWd"。這裡的口令最少為6個字元長度,可以由任何可列印字元、字母、數字等組成。

   角色的劃分可以說是Sybase資料庫相對於普通Unix系統在安全體制方面的進步。大家知道,擁有無限權利的超級使用者一方面是系統的保護者,但是更多的時候是給系統的安全帶來了巨大的安全威脅。簡單說,超級使用者一個低階的誤操作就可能毀掉整個伺服器。從攻擊的角度講,攻擊者只要獲得了超級使用者的身份就表明他已經徹底攻克了該系統。而對於經過特權分割安全加固的系統來說,攻擊者必須將若干個特權使用者全部破解,才能夠完全控制該系統。可以說超級權利使用者的存在是區分C級和B級安全系統的一個重要標誌。

   建議伺服器管理員在設定sa賬號的口令以後,透過建立新使用者和分別sa的角色並關閉sa進一步加強伺服器的安全。Sybase提供了幾個相應的命令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,“lock”

   上述命令建立了兩個使用者sa_user、sso_user,並分別設定了口令“Sa,Pass W”、“Sso,Pass”和角色sa_role、sso_role,然後關閉了賬號sa。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-949846/,如需轉載,請註明出處,否則將追究法律責任。

相關文章