WebBrowser保護(hù)電訊營(yíng)業(yè)廳公用計(jì)算機(jī)技術(shù)
在移動(dòng)、聯(lián)通等電訊營(yíng)業(yè)廳中,為了方便用戶(hù)瀏覽手機(jī)鈴聲網(wǎng)站,往往都提供了連上Internet的計(jì)算機(jī)。但是,由于這些公用計(jì)算機(jī)面向的用戶(hù)比較復(fù)雜,存在各種安全隱患。有的用戶(hù)抱著友情檢測(cè)的態(tài)度去檢查系統(tǒng)和網(wǎng)絡(luò)的安全性能,有的用戶(hù)則是學(xué)習(xí)過(guò)黑客知識(shí)而前來(lái)實(shí)踐的,還有的用戶(hù)是為了商業(yè)利益而進(jìn)行蓄意破壞的活動(dòng)。因此,如何保護(hù)這些公用計(jì)算機(jī),成為管理人員的巨大挑戰(zhàn)。
1 公用計(jì)算機(jī)安全隱患的原因和需求
1.1 公用計(jì)算機(jī)的安全隱患的原因
經(jīng)多次幫助進(jìn)行友情檢測(cè),接受過(guò)維護(hù)人員的咨詢(xún),筆者發(fā)現(xiàn)大部分營(yíng)業(yè)廳的公用計(jì)算機(jī)存在極大安全隱患。例如,有的營(yíng)業(yè)廳只是簡(jiǎn)單地安裝開(kāi)機(jī)還原軟件或還原卡,在不限制瀏覽網(wǎng)址的條件下,很容易遭到內(nèi)存搜索軟件或者專(zhuān)用破解軟件的破解。再如,有的營(yíng)業(yè)廳的計(jì)算機(jī)密碼設(shè)置過(guò)于簡(jiǎn)單,例如欽州市移動(dòng)公司營(yíng)業(yè)廳曾將密碼設(shè)置為“qzmobile”,很快就被暴力破解。還有的計(jì)算機(jī)使用了網(wǎng)吧、機(jī)房專(zhuān)用系統(tǒng)限制用戶(hù)的操作,但是沒(méi)有很好地限制網(wǎng)絡(luò)工具的使用,因此也無(wú)法避免遭到破壞的危險(xiǎn)。
為什么經(jīng)過(guò)專(zhuān)業(yè)維護(hù)人員設(shè)置的計(jì)算機(jī)仍然頻頻遭受破壞。首先,營(yíng)業(yè)廳的公用計(jì)算機(jī)采用的是Windows操作系統(tǒng),而Windows自身存在很多的安全漏洞,讓不法用戶(hù)有機(jī)可乘。其次,維護(hù)人員專(zhuān)業(yè)知識(shí)有限,沒(méi)有意識(shí)到保護(hù)措施要多方面多層次進(jìn)行,采用傳統(tǒng)的單一保護(hù)方法,看似安全實(shí)際上致命漏洞并不少。再次,不少青少年朋友對(duì)黑客、破解技術(shù)興趣濃厚。這些所謂的“快餐黑客”干勁十足,破壞力不容小視。
1.2 公用計(jì)算機(jī)的安全需求
根據(jù)以上情況,經(jīng)過(guò)分析可以確定電訊營(yíng)業(yè)廳公用計(jì)算機(jī)的基本安全需求,具體有如下幾點(diǎn):
(1)使用Linux的用戶(hù)畢竟還是少數(shù),因此,為了方便廣大用戶(hù)的使用,應(yīng)采用Windows操作系統(tǒng)系統(tǒng),并打上相應(yīng)的補(bǔ)丁。
(2)主機(jī)和彩顯等設(shè)備在物理硬件上進(jìn)行保護(hù),以免硬件遭到破壞。
(3)采用還原卡進(jìn)行還原,也可以采用版本比較新的還原軟件實(shí)現(xiàn)開(kāi)機(jī)還原,以免遭到惡意修改。
(4)采用網(wǎng)吧管理軟件進(jìn)行系統(tǒng)功能的屏蔽,使破解者進(jìn)入系統(tǒng)后只能瀏覽網(wǎng)頁(yè),而無(wú)法進(jìn)行其他操作。
(5)對(duì)Internet Explorer(IE)瀏覽器進(jìn)行網(wǎng)址瀏覽的限制,防止用戶(hù)瀏覽非法站點(diǎn)并下載專(zhuān)用的破解工具。
(6)利用系統(tǒng)自身的賬號(hào)、組策略、注冊(cè)表等,對(duì)系統(tǒng)提供的服務(wù)、功能進(jìn)行限制。
2 基于WebBrowser實(shí)現(xiàn)安全上網(wǎng)的思路
對(duì)維護(hù)人員而言,對(duì)給系統(tǒng)打補(bǔ)丁、使用開(kāi)機(jī)還原軟件和網(wǎng)吧管理軟件等常規(guī)保護(hù)方法并不困難。但是,要完全控制、限制IE或者其他瀏覽器,并非一件容易的事情。一方面,很難完全找到并堵住瀏覽器自身的各種安全漏洞;另一方面,要徹底限制所能瀏覽的網(wǎng)址也是一個(gè)技術(shù)難題。
目前,市場(chǎng)上的各種瀏覽器,其設(shè)計(jì)目的都是為了向用戶(hù)提供更多的功能,而不會(huì)千方百計(jì)去限制用戶(hù)的操作。因此,要限制IE等瀏覽器自身的功能、堵住相應(yīng)的漏洞,難度非常大。
經(jīng)調(diào)查分析,在此提出利用WebBrowser設(shè)計(jì)專(zhuān)用瀏覽器、實(shí)現(xiàn)安全上網(wǎng)的思路。WebBrowser是IE內(nèi)置的瀏覽器控件,不需用戶(hù)下載,而且使用靈活,可控性強(qiáng),對(duì)開(kāi)發(fā)者來(lái)說(shuō)比較方便。Webbrowser在傳統(tǒng)的VB,VC++,Delphi和最新的C#語(yǔ)言中都得到了支持,在C/S,B/S環(huán)境下都能穩(wěn)定可靠的運(yùn)行。依據(jù)如下:首先,由于公用計(jì)算機(jī)需要的功能最小化,因此利用Webbrowser可以快速設(shè)計(jì)出能滿(mǎn)足用戶(hù)瀏覽需求的瀏覽器。其次,在常規(guī)瀏覽器中,很難實(shí)現(xiàn)較安全網(wǎng)址限制,而在專(zhuān)用瀏覽器中,進(jìn)行打開(kāi)網(wǎng)址的限制非常簡(jiǎn)單而有效。再次,專(zhuān)用瀏覽器不但可以避免了常用瀏覽器的固有功能帶來(lái)的漏洞,而且還可以對(duì)鼠標(biāo)、鍵盤(pán)等操作進(jìn)行限制,能有效地防止用戶(hù)的其他非法操作。
3 基于WebBrowser實(shí)現(xiàn)專(zhuān)用瀏覽器
3.1 開(kāi)發(fā)高級(jí)語(yǔ)言的選擇
使用幾種常用的語(yǔ)言都可以實(shí)現(xiàn)對(duì)WebBrowser進(jìn)行編程。其中的編程方法、控件屬性等都大同小異。但是,如果使用C#進(jìn)行編程,則運(yùn)行的時(shí)候還需要在計(jì)算機(jī)上安裝.NET框架;而VB和Delphi相比,由于是微軟自己開(kāi)發(fā)的產(chǎn)品,與Windows的兼容性較好;VB與VC++相比,調(diào)用WebBrowser的方法更加簡(jiǎn)便。因此,決定采用VB進(jìn)行編程。
3.2 WebBrowser的重要屬性、方法和事件
在VB中,WebBrowser除了常規(guī)的寬度、高度、位置、刷新頁(yè)面以外,比較重要的屬性、方法和事件有Navigate等幾個(gè),如表1所示。
3.3 設(shè)計(jì)的主要步驟
根據(jù)需求,可以開(kāi)始設(shè)計(jì)專(zhuān)用瀏覽器。首先,新建一個(gè)工程,添加命名為Web的窗體,并添加IE的圖標(biāo)。然后,在工程中添加引用“加入引用Microsoft HTMLObject Library”。接著,為窗體添加一個(gè)文本框和一個(gè)WebBrowser控件,分別命名為textl和WebBrowserl。為了使得瀏覽器默認(rèn)打開(kāi)某個(gè)網(wǎng)站,如“hao123網(wǎng)址之家”,可以在程序啟動(dòng)的時(shí)候,設(shè)置如下程序:
[!--empirenews.page--]
為了使得WebBrowser在下載完畢后進(jìn)行提示,可以設(shè)置窗體的標(biāo)題提示,程序如下:
Private Sub WebBrowserl_DownloadComplete()
web.Caption=CStr(WebBrowserl.LocationURL)
End Sub
那么,專(zhuān)用瀏覽器的初步設(shè)計(jì)就完成了,其效果如圖1所示。
4 專(zhuān)用瀏覽器限制用戶(hù)操作的實(shí)現(xiàn)
雖然初步的瀏覽器已經(jīng)完成了,但是為了防止非法用戶(hù)的破壞性操作,以及方便普通用戶(hù)更好的使用,還需要對(duì)WebBrowser瀏覽器進(jìn)行一些相應(yīng)的修改。
首先,對(duì)用戶(hù)的鼠標(biāo)右鍵,可以通過(guò)引用“Microsoft HTML Object Library”實(shí)現(xiàn)。此后,用戶(hù)在WebBrowser控件上無(wú)法進(jìn)行右鍵操作,危險(xiǎn)性大大降低。具體程序如下:
Dim WithEvents M_Dom As MSHTML.HTMLDocument
Private Function M_Dom_oncontextmenu() As Boolean
M_Dom_oncontextmenu=False
End Function
Private Sub Webbrowserl_DownloadComplete()
Set M_Dom=Webbrowserl.Document
End Sub
其次,根據(jù)常規(guī)的瀏覽器,可以在地址欄中輸入地址并回車(chē)實(shí)現(xiàn)網(wǎng)頁(yè)跳轉(zhuǎn)。程序如下:
Private Sub Textl_KeyUp(KeyCode As Integer,Shift AsInteger)
If KeyCode=13 Then Webbrowser.Navigate Textl.Text
End Sub
再次,用白名單法限制、過(guò)濾非法網(wǎng)址。當(dāng)用戶(hù)輸入的網(wǎng)址不是電訊公司的站點(diǎn)或者合作站點(diǎn)的時(shí)候,通過(guò)分析text1文本框的網(wǎng)址是否屬于安全網(wǎng)址即可。例如數(shù)組safeA(10)中存儲(chǔ)的是幾個(gè)安全站點(diǎn)的網(wǎng)址,則程序如下:
另外,還應(yīng)該設(shè)置專(zhuān)用瀏覽器為默認(rèn)瀏覽器,設(shè)置用戶(hù)進(jìn)入的網(wǎng)吧管理系統(tǒng)的主界面中,只有專(zhuān)用瀏覽器的圖標(biāo),在此不再贅述。由于專(zhuān)用瀏覽器使用了和IE一樣的圖標(biāo),非常方便用戶(hù)使用。
5 結(jié) 語(yǔ)
針對(duì)電訊營(yíng)業(yè)廳公用計(jì)算機(jī)的安全隱患,提出利用WebBrowser設(shè)計(jì)專(zhuān)用瀏覽器的思路并提供實(shí)現(xiàn)方法。采用VB對(duì)WebBrowser進(jìn)行編程,設(shè)計(jì)專(zhuān)用瀏覽器,能夠限制用戶(hù)的非法操作。在實(shí)際測(cè)試中,基于Web-Browser的專(zhuān)用瀏覽器無(wú)需在計(jì)算機(jī)上安裝任何額外的文件,就能穩(wěn)定、可靠的運(yùn)行,易用性好,安全性高,能很好地滿(mǎn)足電訊營(yíng)業(yè)廳公用計(jì)算機(jī)的需求。