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