宋立洪
(安徽廣播電視大學,安徽 合肥 230022)
當前比較流行的遠程招生系統(tǒng)主要采用的一種是B/S(Browse/Server)結構模式,即使用PHP或 ASP作為前臺,SQL Server作為后臺數(shù)據(jù)庫,設計開發(fā)的基于WEB的遠程招生系統(tǒng);另一種是C/S(Client/Server)結構模式,即在局域網(wǎng)內(nèi)部,采用Power builder等作為前臺,SQL Server或Oracle作為后臺數(shù)據(jù)庫,通過增加安全客戶端進行身份驗證,保證遠程數(shù)據(jù)的安全性;或者采用兩種模式相結合的形式。
B/S模式下設計的遠程招生系統(tǒng)采用適用于廣域網(wǎng)的表示層、功能層、數(shù)據(jù)層的三層開放結構模式和TCP/IP開放性協(xié)議,相對于C/S模式具有以下三個方面的優(yōu)勢。首先,B/S模式簡化了客戶端,只要有電腦且能上網(wǎng)即可運行,節(jié)省了大量的計算機硬件資源;其次,B/S模式簡化了系統(tǒng)的開發(fā)和維護,只要在服務器端做好開發(fā)、調(diào)試、運行和升級,客戶端可以快速響應;第三,B/S模式下用戶的操作更加簡單,系統(tǒng)可以遠程應用,支持多終端,可以跨平臺使用。
相對于C/S模式下采用的適用于局域網(wǎng)的二層結構模式和安全性比較好的網(wǎng)絡協(xié)議,B/S模式下遠程招生系統(tǒng)存在以下不足。
首先,系統(tǒng)安全性存在較大隱患。B/S模式下遠程招生系統(tǒng)的安全性由于其開放性,經(jīng)常遭受不同地域用戶群的挑戰(zhàn),僅依靠數(shù)據(jù)服務器上密碼管理,難以保證B/S模式下遠程招生系統(tǒng)的安全。例如,源代碼安全性隱患。由于PHP程序采用非編譯性語言,大大降低了程序源代碼的安全性,如果黑客侵入站點,就可以獲得PHP源代碼,造成非常嚴重的后果。又如,程序設計中存在的安全性問題。PHP代碼使用表單實現(xiàn)交互,而相應的內(nèi)容會反映在瀏覽器的地址欄中,如果不采用適當?shù)陌踩胧灰浵逻@些內(nèi)容,就可以繞過驗證直接進入某一頁面。例如在瀏覽器中敲入“...page.php z=73”,即可不經(jīng)過表單頁面直接進入滿足“z=73”條件的頁面。特別是在驗證或注冊頁面中,此類問題顯得尤為重要。[1]93-95
其次,響應速度不如C/S模式。B/S模式下的遠程招生系統(tǒng)只要有表單提交動作,頁面就會做出動態(tài)刷新。當面對相同固定的客戶時,其工作時間和完成的任務都具有非常高的相似性,大量而且集中的表單提交,往往造成響應速度延遲,甚至超過規(guī)定的響應時間,導致數(shù)據(jù)丟失或者任務失敗。
最后,應用性功能弱化。在C/S模式容易實現(xiàn)的導入導出數(shù)據(jù)、報表打印、圖形分析等,在B/S模式下難以通過單純的表格控制實現(xiàn),需要調(diào)用一些組件(組件也是基于C/S開發(fā)的)才能實現(xiàn)。[2]134-135
因此在用戶群體范圍固定、系統(tǒng)安全性要求高的情況下,C/S模式的遠程招生系統(tǒng)具有不可替代的優(yōu)勢,現(xiàn)在全國普通高校和成人高校遠程招生系統(tǒng)均采用C/S模式。雖然C/S模式下遠程招生系統(tǒng)較B/S模式下的安全保障度高,但是在數(shù)據(jù)庫系統(tǒng)、操作系統(tǒng)、客戶端等方面仍然有一些隱患,需要我們采取有效措施來確保系統(tǒng)安全。
2.1.1 數(shù)據(jù)庫系統(tǒng)的安全隱患
以SQL Server 2000為例,由于程序員水平及經(jīng)驗的不足,在編寫代碼時沒有對用戶輸入數(shù)據(jù)的合法性進行判斷,使應用程序存在安全隱患。[3]22-24設置的SQL數(shù)據(jù)庫Sa密碼過于簡單或者使用有特殊含義的密碼(如電話號碼、生日等),導致SQL Server存在明顯的安全漏洞。另外,對賬號調(diào)用擴展存儲過程的權限要慎重,有些系統(tǒng)的存儲過程能很容易地被人利用提升權限或進行破壞。
2.1.2 操作系統(tǒng)的安全隱患
操作系統(tǒng)的安全性和時間緊密相關。無論是作為服務器端的 Windows 2000server,還是作為客戶端 Windows 2000或者XP操作系統(tǒng),隨著用戶的深入使用,系統(tǒng)中存在的安全漏洞會不斷暴露,系統(tǒng)供應商會不斷發(fā)布新的補丁軟件進行修補,在沒有及時升級修補漏洞的情況下,這些漏洞會被惡意程序攻擊,機器就會被攻擊者控制。
Telnet技術為服務器管理提供了比較方便的手段,但其安全風險也不容忽視。當非法攻擊者利用某些特定的方法知道Telnet的用戶名與密碼之后,就可以在任何一臺電腦上暢通無阻的訪問服務器。
2.1.3 客戶端的安全隱患
作為遠程招生系統(tǒng)客戶端的使用者,其安全意識以及經(jīng)驗水平的參差不齊都會給系統(tǒng)帶來不穩(wěn)定的因素。例如當客戶端機器的操作系統(tǒng)有大量漏洞不及時升級時,客戶端的內(nèi)網(wǎng)和外網(wǎng)同時連接,甚至還通過QQ等接受別人的遠程控制,都給攻擊者留有機會;對自己的登錄賬戶和密碼缺乏有效管理,隨意性高,造成客戶端成為攻擊目標或攻擊發(fā)起者。
2.2.1 SQL數(shù)據(jù)庫的安全設置
密碼管理,為SQL數(shù)據(jù)庫設置Sa賬號密碼的長度不能少于10位,且應采用數(shù)字、字母和符號等組合在一起,并定期更換,這樣的密碼將使攻擊者難以得逞,同時不要將Sa賬號的密碼寫于應用程序或者腳本中,采用這個辦法,就可以避免黑客利用Microsoft SQL Server中的存儲過程以及其他的擴展存儲過程獲得 Microsoft SQL Server SA弱口令和靜態(tài)口令,進而獲得系統(tǒng)管理員權限。數(shù)據(jù)庫管理員也要定期查看是否有不符合密碼要求的賬號,修改默認的1433端口,并將SQL Server隱藏,則將禁止對試圖枚舉網(wǎng)絡上現(xiàn)有的SQL Server實例的客戶端所發(fā)出的廣播做出響應,別人就不能通過用1434來探測TCP/IP端口了(除非用Port Scan)。
用戶角色管理,建立不同的用戶組和用戶口令驗證,能夠有效防止非法用戶進入數(shù)據(jù)庫系統(tǒng),限制一些用戶對數(shù)據(jù)庫的讀寫權利,大多數(shù)用戶只能對數(shù)據(jù)庫進行讀操作。
2.2.2 服務器的安全設置
如果使用Windows 2000Server作為服務器的操作系統(tǒng),應將操作系統(tǒng)放在NTFS分區(qū)上,并對NTFS進行權限設置以及對文件目錄訪問控制;在IPsec過濾拒絕1434端口的UDP通信,可以盡可能地隱藏您的SQL Server,只開啟必要的端口(如80端口),這樣可以有效防止端口入侵;修改注冊表,關閉操作系統(tǒng)中不必要的服務并定期檢查,如關閉默認共享服務,或?qū)⒐蚕砦募臋嘞迯摹癊veryone"更改為"授權用戶”;不要使用遠程控制軟件或者接受別人的遠程控制;安裝正版防火墻,對操作系統(tǒng)等及時升級補丁程序,修補系統(tǒng)漏洞。
在計算機管理中,設置用戶組和用戶權限,規(guī)定權限級別、操作對象和使用范圍,例如刪除不必要身份用戶,僅保留4個必須賬號,去掉guest帳號,阻止非授權用戶訪問等。管理員不應該經(jīng)常使用管理者帳號登錄系統(tǒng),這樣有可能被一些能夠察看winlogon進程中密碼的軟件所監(jiān)測到,應該為自己建立普通帳號來進行日常工作。更改超級用戶名,盡量將其偽裝成普通用戶,同時建立Administra-tor的陷阱賬號,將其權限設置為最低,并且加上一個10位以上含數(shù)字、字母和符號的復雜密碼,采取對黑客欺騙措施來保護系統(tǒng),借此花費入侵者的大量時間,觀察發(fā)現(xiàn)其入侵企圖。
在網(wǎng)絡設置中,只使用TCP/IP協(xié)議,禁用DHCP,禁用TCP/IP上的NetBIOS,限制從網(wǎng)絡通過NetBIOS服務訪問服務器的用戶,特別是Administrator組成員的訪問權限。
使用Telnet技術時需要注意,一是最好能夠限制Telnet到服務器的用戶主機;二是Telnet用戶名與密碼必須和跟服務器的管理員登陸用戶名與密碼不一致;三是在不使用Telnet到服務器管理時,則把Telnet服務關閉掉。
在IIS安全性方面要采取縮短連接超時時間,防止服務器超負載;建立主機名,隱藏網(wǎng)頁,防止網(wǎng)站信息不必要的泄漏,杜絕黑客利用IP地址攻擊服務器。通過完善IIS的安全配置,確保服務器的安全性。
2.2.3 用戶身份認證
為防止未經(jīng)授權的用戶訪問數(shù)據(jù)庫,通過身份認證鑒別用戶的合法性,保證數(shù)據(jù)庫數(shù)據(jù)只能為授權的用戶所用。限制特定客戶端用戶訪問范圍的權限。對于某校的招生資源僅供本校和上級管理員使用,其他學校不能使用,并根據(jù)其權限和身份的不同,來決定其對數(shù)據(jù)記錄的查看、增加、修改、刪除、恢復等權力。同時對于不同權限的用戶增加綁定IP地址,可以防范非固定IP地址的黑客訪問。
2.2.4 日志的記錄與管理
打開審核策略,配置適當?shù)陌踩珜徍瞬呗允翘岣遅indows 2000系統(tǒng)安全性的有效方法。例如,審核數(shù)據(jù)庫登錄事件的“失敗和成功”,在實例屬性中選擇“安全性”,將其中的審核級別選定為全部,這樣在數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng)日志里面,就詳細記錄了所有賬號的登錄事件,通過定期查看SQL Server日志檢查是否有可疑的登錄事件發(fā)生。
無論是C/S模式還是B/S模式下的遠程招生系統(tǒng)都不能做到絕對的安全,但是只要在數(shù)據(jù)庫系統(tǒng)、操作系統(tǒng)、客戶端等方面安全措施得當,還是能夠保障遠程錄取工作的順利進行。
[1]宋立洪.b/S模式下遠程招生信息管理系統(tǒng)的安全機制[J].安徽電氣工程職業(yè)技術學院學報,2006(3).
[2]邱敏.b/S結構的優(yōu)劣分析[J].科技創(chuàng)新導報,2010(14).
[3]吳麗娟.淺析SQL Server數(shù)據(jù)庫的安全和管理策略[J].信息安全與技術,2010(06).
[4]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論:第4版[M].北京:高等教育出版社,2006.