孫曉林 張新剛
摘要:高校網(wǎng)站一直是黑客攻擊的重點部位,面對嚴峻的安全形勢,管理部門制定了相應(yīng)的安全防護方案,采取一定的措施,提高抵御外部攻擊的能力。針對我校網(wǎng)站目前存在的問題,提出以下三種方案:使用UrlScan設(shè)置一定的規(guī)則在IIS之前對URL及請求字符串進行過濾、自主研發(fā)服務(wù)器管理器對網(wǎng)站文件夾的關(guān)鍵操作進行監(jiān)控、利用IIS日志對入侵事件追蹤,加強對網(wǎng)站的安全防護,減少因攻擊而產(chǎn)生的損失。
關(guān)鍵詞:網(wǎng)站;安全;攻擊;防護;IIS日志;監(jiān)控;過濾
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2014)14-3254-03
Abstract: The universitys websites have been the key attack target of hacker. Facing the serious situation, the management work out the corresponding security protection scheme and take some measures to enhance the resistibility of attack. For the existing problem in our websites, this paper proposed three solutions: filtering the URL and query strings by the rules in UrlScan before the IIS、developing the server manager to monitor the folder storing the website、tracing the invasion by the IIS log, which strengthen the website security and reduce the loss due to attack.
Key words: website; security; attack; protection; IIS log; monitor; filter
隨著互聯(lián)網(wǎng)的普及以及教育信息化的發(fā)展,各高校的門戶網(wǎng)站及其二級網(wǎng)站作為學校和各部門重要的宣傳窗口,在日常管理工作中占據(jù)著舉足輕重的作用。但是,在網(wǎng)絡(luò)環(huán)境日益復雜、入侵攻擊日益頻繁的大背景下,高校網(wǎng)站卻普遍存在網(wǎng)站建設(shè)和管理不統(tǒng)一、日常維護不到位、管理人員安全意識缺乏等問題,安全防護水平急需提升。
2014年3月21日發(fā)布的《2013中國網(wǎng)站發(fā)展安全報告》指出:2013年被篡改的中國網(wǎng)站數(shù)量多達24034個,同比增長46.7%[1]。據(jù)360安全中心發(fā)布的《2013中國高校網(wǎng)站安全檢測報告》得知:每個高校平均每天被黑客掃描、攻擊113次[2],如果網(wǎng)站存在漏洞,被掛馬或植入釣魚欺詐、廣告鏈接,不僅對社會公眾形成直接危害,而且可能使單位受到信譽和錢財?shù)膿p失。可見,高校網(wǎng)站的安全形勢依然相當嚴峻。因此,網(wǎng)站管理的相關(guān)部門根據(jù)自身特點采取了一些措施,如開發(fā)網(wǎng)絡(luò)安全威脅實時監(jiān)控系統(tǒng)[3]、建立基于ISAPI過濾器的防御系統(tǒng)[4]等,在一定程度上確保了網(wǎng)站的安全運行。
根據(jù)我校實際情況,針對網(wǎng)站安全防護提出以下三種方案:使用UrlScan工具過濾客戶端提交的URL請求、研發(fā)服務(wù)器管理器時刻關(guān)注網(wǎng)站動態(tài)、根據(jù)IIS日志對入侵事件進行追蹤,總體上以“預(yù)防為主”,降低網(wǎng)站被攻擊的幾率,同時制定應(yīng)急方案,做好數(shù)據(jù)備份工作,實現(xiàn)被入侵后的數(shù)據(jù)實時恢復。
1 網(wǎng)站安全防護方案
目前,我校僅依靠在網(wǎng)站服務(wù)器上開啟windows防火墻和安裝防病毒軟件實現(xiàn)對網(wǎng)站的基本保護,針對該情況,該文提出以下三種網(wǎng)站安全防護措施:UrlScan對URL和請求字符串的過濾、服務(wù)器管理器對關(guān)于網(wǎng)站的所有增、刪、改操作進行監(jiān)控、IIS記錄所有的請求訪問包括非法請求,下面進行詳細介紹。
1.1 過濾工具UrlScan
幾乎所有的攻擊都是通過構(gòu)造URL訪問網(wǎng)站,比如:構(gòu)造超長的URL、利用特殊字符串、在服務(wù)器上執(zhí)行程序等。微軟公司的UrlScan是針對IIS Web服務(wù)器發(fā)布的安全過濾軟件,先于IIS對用戶的HTTP請求進行實時監(jiān)控,對所有URL及請求字符串的關(guān)鍵詞進行過濾,阻止惡意請求的執(zhí)行,確保只接受有效、安全的請求,防止攻擊者利用漏洞進行入侵。
UrlScan在IIS進程 (Inetinfo.exe)內(nèi)運行,包括篩選器UrlScan.dll和配置文件UrlScan.ini,通過在UrlScan.ini中設(shè)置請求規(guī)則實現(xiàn)對URL的過濾,具體設(shè)置辦法如下:
1) Option節(jié)的設(shè)置決定后面各項是否有效,如:UseAllowVerbs為1時,啟用AllowVerbs規(guī)則,否則DenyVerbs的設(shè)置有效。
2) AllowVerbs和DenyVerbs用來設(shè)置允許和拒絕在服務(wù)器端執(zhí)行的HTTP請求動作。為了確保網(wǎng)站安全,AllowVerbs中設(shè)置只允許get、head、post請求,其余的全部拒絕。為使得該項生效,需要在 Option節(jié)中設(shè)置UseAllowVerbs=1。
3) AllowExtensions和DenyExtensions設(shè)置客戶端允許和不允許訪問的文件擴展名。根據(jù)我校實際情況,在DenyExtensions中增加文件后綴名為exe、bat、cmd、com、asp、cer的過濾,該項只在UseAllowExtensions=0時有效。
4) DenyUrlSequences中設(shè)置URL的過濾規(guī)則,即不能包含的字符,例如:“.”、“..”、“\”、“:”、“%”、“&”、“—”、“‘”,一旦包含則拒絕該HTTP請求。endprint
5) DenyQueryStringSequences設(shè)置了URL請求字符串的過濾規(guī)則,即不能包含的字符或字符串,如“<”和“>”。
6) 如果網(wǎng)站的文件名稱使用了非ASCII代碼如中文,應(yīng)在Option節(jié)中將AllowHighBitCharacters設(shè)為1,否則訪問該類文件時出錯。
另外,UrlScan可以針對某種安全威脅自定義相應(yīng)的規(guī)則,實現(xiàn)“實時過濾”。例如,為了防止JS變異注入攻擊,進行以下設(shè)置:
1) MaxQueryString=1000,因為病毒的請求字符串經(jīng)過16進制編碼后長度一般在1100左右。
2) DenyQueryStringSequences中增加對“0x”的過濾,防止攻擊者以16進制編碼方式提交請求。
所有被UrlScan攔截的HTTP請求都被記錄在日志中。UrlScan日志包含以下字段:Date、Time、c-ip、s-siteid、cs-method、cs-uri、x-action、x-reason、x-context、cs-data、x-control,分別表示:HTTP請求的日期、UTC時間、客戶端IP、處理該HTTP請求的站點ID號、HTTP的請求方法、請求及查詢字符串的URI、UrlScan執(zhí)行的動作、采取該動作的原因、觸發(fā)該動作請求的一部分、觸發(fā)該動作的請求數(shù)據(jù)、引起觸發(fā)的控制數(shù)據(jù)的配置。下面對部分日志進行分析:
2014-04-12 03:42:50 119.90.45.141 2 GET /index.files/counter.htm Rejected URL+contains+dot+in+path URL - -(DenyUrlSequences中設(shè)置訪問頁面的URL路徑中含有不允許出現(xiàn)的字符“.”)
2014-04-12 04:18:27 106.38.244.229 2 OPTIONS /admin/upload/ Rejected verb+not+allowed HTTP+method - -(AllowVerbs中規(guī)定不允許進行options請求)
2014-04-12 23:18:40 122.225.222.98 2 GET /xueyuanfengcai.asp Rejected extension+not+allowed file+extension .asp –(DenyExtensions設(shè)置不允許訪問后綴名為asp的文件)
由此可見,UrlScan對URL及請求字符串進行過濾,在一定程度上增強了網(wǎng)站的安全性,同時防御SQL注入攻擊,但并不能完全抵抗所有的SQL攻擊,關(guān)鍵要注重加強網(wǎng)站應(yīng)用程序的安全措施,增強傳輸給SQL Server數(shù)據(jù)庫的數(shù)據(jù)安全性。
1.2 研發(fā)服務(wù)器管理器
由于IIS日志記錄非常詳細,包含很多字段,對網(wǎng)站的所有操作進行記錄,給網(wǎng)站服務(wù)器的管理人員帶來不便,因此自行研發(fā)了服務(wù)器管理器,對一些關(guān)鍵操作進行記錄,界面如圖1所示:
在“選擇監(jiān)控目錄”中指定存放網(wǎng)站的文件夾進行監(jiān)控,并在“監(jiān)控事件”欄,根據(jù)需要選擇監(jiān)控的項目:創(chuàng)建、修改、刪除,該管理器根據(jù)用戶的需求對所指定目錄和操作進行監(jiān)控。
日常管理工作中,網(wǎng)站安全管理人員能夠根據(jù)記錄直接明了地發(fā)現(xiàn)異常文件,如后綴名為exe或asp的文件,及時進行刪除,然后再根據(jù)IIS日志進行追蹤。
1.3利用IIS日志追蹤
互聯(lián)網(wǎng)信息服務(wù)IIS是微軟的一個web服務(wù)組件,支持多種協(xié)議,用來實現(xiàn)網(wǎng)頁瀏覽、文件傳輸?shù)裙δ躘5]。IIS日志是IIS運行的文件,保存著所有訪問網(wǎng)站的詳細記錄,默認情況下包含14個字段。如果需要選擇更多的字段,可在“日志記錄屬性”對話框的“高級”選項卡中添加,部分字段含義如表1所示:
無論黑客采用哪種攻擊方式,總會留下入侵痕跡,因此可以通過分析IIS日志獲得黑客的入侵手段及相關(guān)操作。下面分別介紹根據(jù)IIS日志追蹤網(wǎng)站掛馬和SQL注入攻擊的方法。
1) 網(wǎng)站掛馬
首先,必須清楚sc-status值即HTTP的狀態(tài)代碼的含義:200-成功訪問、400-語句中存在語法問題、403-禁止訪問該資源、404-請求的資源不存在。在入侵網(wǎng)站之前,攻擊者必須獲取系統(tǒng)或網(wǎng)站的權(quán)限。因此,選定某些存在漏洞的頁面作為突破口,并通過該頁面構(gòu)造請求字符串多次向服務(wù)器提交請求,如果該資源或字段不存在,訪問失敗,IIS日志中則會留下連續(xù)的403或404訪問記錄。
經(jīng)過多次試探,攻擊者成功獲取一定的權(quán)限后,用post方法向服務(wù)器提交文件或者表單,上傳木馬。攻擊者通過遠程操作該木馬,獲取webshell,進一步實現(xiàn)批量掛馬。如果服務(wù)器存在嚴重的漏洞,攻擊者甚至可以破壞整個系統(tǒng),產(chǎn)生更嚴重的后果。所以,網(wǎng)站被掛馬之后,除了立即刪除木馬文件之外,還要根據(jù)黑客的IP地址,在整個IIS日志中搜索,防止感染其他文件或系統(tǒng)。
2) SQL注入
SQL注入攻擊最顯著的特征是,IIS日志的cs-uri-stem字段含有大量的“%20”和“select”字符串,以此為出發(fā)點,在日志中進行搜索。若發(fā)現(xiàn)被攻擊的嫌疑,則記錄該頁面,查找存在的SQL注入漏洞,并盡快修改程序,修復漏洞,防止網(wǎng)站被攻擊。
IIS日志不僅是網(wǎng)站安全管理人員了解服務(wù)器安全的有效途徑,也是公安人員獲取線索和證據(jù)的重要來源[6],因此要妥善保管,必要時進行備份。如果IIS日志被黑客在事后刪除,則在“事件查看器”中查看警告信息,獲得入侵者的相關(guān)信息。
1.4 其他防護措施
為了降低網(wǎng)站被攻擊的風險,在程序中進行以下限制:設(shè)置上傳文件的類型,尤其禁止exe、asp文件的上傳;對于使用SQL Server數(shù)據(jù)庫的網(wǎng)站,采取“最小權(quán)限原則”,不賦予“SA”權(quán)限,而是創(chuàng)建新的賬號,并賦予最低權(quán)限[7]。除此之外,關(guān)閉不必要的端口和服務(wù)[8];定期檢查并備份windows日志和IIS日志,保證日志的完整性。為了進一步加強安全防御,架設(shè)入侵防御設(shè)備和防篡改系統(tǒng)也是非常必要的。
2 結(jié)論
本文提出的三種方案從不同方面對網(wǎng)站進行保護, UrlScan在客戶的HTTP請求到達IIS之前執(zhí)行,類似于防火墻,進行第一層保護;服務(wù)器管理器是IIS日志的簡化,方便管理;如果要對入侵事件進行追蹤,查看IIS日志是必不可少的。三種方案相互配合,一定程度上提高了網(wǎng)站的安全性。但是,隨著各種病毒的不斷進化和入侵手段的日益高明化,高校網(wǎng)站的安全防護任重道遠,網(wǎng)站安全管理人員要加強對網(wǎng)絡(luò)安全防御知識的學習,針對不同的攻擊方式制定更加有效地網(wǎng)站安全防護措施,做到“防患于未然”。
參考文獻:
[1] 安全聯(lián)盟發(fā)布2013中國網(wǎng)站發(fā)展安全報[EB/OL]. http://post.tom.com/AA001E7D873.html.
[2] 360互聯(lián)網(wǎng)安全中心. 2013年中國高校網(wǎng)站安全檢測報告[R]. http://corp.#/report/2013gaoxiaowangzhananquan.pdf.
[3] 姜開達,李霄,沈海云,白巍. 高校網(wǎng)站安全防護體系設(shè)計與實現(xiàn)[J]. 信息網(wǎng)絡(luò)安全, 2012 (12): 83-85.
[4] 尹宏飛. SQL 注入攻擊及防御技術(shù)的研究[J]. 智能計算機與應(yīng)用, 2013 (1): 70-71.
[5] 楊方,,潘大豐. IIS 日志在網(wǎng)站安全中的研究與應(yīng)用[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息, 2010 (10): 96-98.
[6] 張鎮(zhèn)寧.關(guān)于非法入侵網(wǎng)站的取證分析[J].信息網(wǎng)絡(luò)安全, 2013 (8): 71-74.
[7] 蒙彪,劉俊景. SQL 注入攻擊的分類防御模型的研究[J].信息技術(shù)與標準化, 2008 (11): 17-19.
[8] 井俊嶺.高職院校網(wǎng)站安全防范與加固[J].電腦知識與技術(shù), 2010, 6(14):3590-3591.endprint
5) DenyQueryStringSequences設(shè)置了URL請求字符串的過濾規(guī)則,即不能包含的字符或字符串,如“<”和“>”。
6) 如果網(wǎng)站的文件名稱使用了非ASCII代碼如中文,應(yīng)在Option節(jié)中將AllowHighBitCharacters設(shè)為1,否則訪問該類文件時出錯。
另外,UrlScan可以針對某種安全威脅自定義相應(yīng)的規(guī)則,實現(xiàn)“實時過濾”。例如,為了防止JS變異注入攻擊,進行以下設(shè)置:
1) MaxQueryString=1000,因為病毒的請求字符串經(jīng)過16進制編碼后長度一般在1100左右。
2) DenyQueryStringSequences中增加對“0x”的過濾,防止攻擊者以16進制編碼方式提交請求。
所有被UrlScan攔截的HTTP請求都被記錄在日志中。UrlScan日志包含以下字段:Date、Time、c-ip、s-siteid、cs-method、cs-uri、x-action、x-reason、x-context、cs-data、x-control,分別表示:HTTP請求的日期、UTC時間、客戶端IP、處理該HTTP請求的站點ID號、HTTP的請求方法、請求及查詢字符串的URI、UrlScan執(zhí)行的動作、采取該動作的原因、觸發(fā)該動作請求的一部分、觸發(fā)該動作的請求數(shù)據(jù)、引起觸發(fā)的控制數(shù)據(jù)的配置。下面對部分日志進行分析:
2014-04-12 03:42:50 119.90.45.141 2 GET /index.files/counter.htm Rejected URL+contains+dot+in+path URL - -(DenyUrlSequences中設(shè)置訪問頁面的URL路徑中含有不允許出現(xiàn)的字符“.”)
2014-04-12 04:18:27 106.38.244.229 2 OPTIONS /admin/upload/ Rejected verb+not+allowed HTTP+method - -(AllowVerbs中規(guī)定不允許進行options請求)
2014-04-12 23:18:40 122.225.222.98 2 GET /xueyuanfengcai.asp Rejected extension+not+allowed file+extension .asp –(DenyExtensions設(shè)置不允許訪問后綴名為asp的文件)
由此可見,UrlScan對URL及請求字符串進行過濾,在一定程度上增強了網(wǎng)站的安全性,同時防御SQL注入攻擊,但并不能完全抵抗所有的SQL攻擊,關(guān)鍵要注重加強網(wǎng)站應(yīng)用程序的安全措施,增強傳輸給SQL Server數(shù)據(jù)庫的數(shù)據(jù)安全性。
1.2 研發(fā)服務(wù)器管理器
由于IIS日志記錄非常詳細,包含很多字段,對網(wǎng)站的所有操作進行記錄,給網(wǎng)站服務(wù)器的管理人員帶來不便,因此自行研發(fā)了服務(wù)器管理器,對一些關(guān)鍵操作進行記錄,界面如圖1所示:
在“選擇監(jiān)控目錄”中指定存放網(wǎng)站的文件夾進行監(jiān)控,并在“監(jiān)控事件”欄,根據(jù)需要選擇監(jiān)控的項目:創(chuàng)建、修改、刪除,該管理器根據(jù)用戶的需求對所指定目錄和操作進行監(jiān)控。
日常管理工作中,網(wǎng)站安全管理人員能夠根據(jù)記錄直接明了地發(fā)現(xiàn)異常文件,如后綴名為exe或asp的文件,及時進行刪除,然后再根據(jù)IIS日志進行追蹤。
1.3利用IIS日志追蹤
互聯(lián)網(wǎng)信息服務(wù)IIS是微軟的一個web服務(wù)組件,支持多種協(xié)議,用來實現(xiàn)網(wǎng)頁瀏覽、文件傳輸?shù)裙δ躘5]。IIS日志是IIS運行的文件,保存著所有訪問網(wǎng)站的詳細記錄,默認情況下包含14個字段。如果需要選擇更多的字段,可在“日志記錄屬性”對話框的“高級”選項卡中添加,部分字段含義如表1所示:
無論黑客采用哪種攻擊方式,總會留下入侵痕跡,因此可以通過分析IIS日志獲得黑客的入侵手段及相關(guān)操作。下面分別介紹根據(jù)IIS日志追蹤網(wǎng)站掛馬和SQL注入攻擊的方法。
1) 網(wǎng)站掛馬
首先,必須清楚sc-status值即HTTP的狀態(tài)代碼的含義:200-成功訪問、400-語句中存在語法問題、403-禁止訪問該資源、404-請求的資源不存在。在入侵網(wǎng)站之前,攻擊者必須獲取系統(tǒng)或網(wǎng)站的權(quán)限。因此,選定某些存在漏洞的頁面作為突破口,并通過該頁面構(gòu)造請求字符串多次向服務(wù)器提交請求,如果該資源或字段不存在,訪問失敗,IIS日志中則會留下連續(xù)的403或404訪問記錄。
經(jīng)過多次試探,攻擊者成功獲取一定的權(quán)限后,用post方法向服務(wù)器提交文件或者表單,上傳木馬。攻擊者通過遠程操作該木馬,獲取webshell,進一步實現(xiàn)批量掛馬。如果服務(wù)器存在嚴重的漏洞,攻擊者甚至可以破壞整個系統(tǒng),產(chǎn)生更嚴重的后果。所以,網(wǎng)站被掛馬之后,除了立即刪除木馬文件之外,還要根據(jù)黑客的IP地址,在整個IIS日志中搜索,防止感染其他文件或系統(tǒng)。
2) SQL注入
SQL注入攻擊最顯著的特征是,IIS日志的cs-uri-stem字段含有大量的“%20”和“select”字符串,以此為出發(fā)點,在日志中進行搜索。若發(fā)現(xiàn)被攻擊的嫌疑,則記錄該頁面,查找存在的SQL注入漏洞,并盡快修改程序,修復漏洞,防止網(wǎng)站被攻擊。
IIS日志不僅是網(wǎng)站安全管理人員了解服務(wù)器安全的有效途徑,也是公安人員獲取線索和證據(jù)的重要來源[6],因此要妥善保管,必要時進行備份。如果IIS日志被黑客在事后刪除,則在“事件查看器”中查看警告信息,獲得入侵者的相關(guān)信息。
1.4 其他防護措施
為了降低網(wǎng)站被攻擊的風險,在程序中進行以下限制:設(shè)置上傳文件的類型,尤其禁止exe、asp文件的上傳;對于使用SQL Server數(shù)據(jù)庫的網(wǎng)站,采取“最小權(quán)限原則”,不賦予“SA”權(quán)限,而是創(chuàng)建新的賬號,并賦予最低權(quán)限[7]。除此之外,關(guān)閉不必要的端口和服務(wù)[8];定期檢查并備份windows日志和IIS日志,保證日志的完整性。為了進一步加強安全防御,架設(shè)入侵防御設(shè)備和防篡改系統(tǒng)也是非常必要的。
2 結(jié)論
本文提出的三種方案從不同方面對網(wǎng)站進行保護, UrlScan在客戶的HTTP請求到達IIS之前執(zhí)行,類似于防火墻,進行第一層保護;服務(wù)器管理器是IIS日志的簡化,方便管理;如果要對入侵事件進行追蹤,查看IIS日志是必不可少的。三種方案相互配合,一定程度上提高了網(wǎng)站的安全性。但是,隨著各種病毒的不斷進化和入侵手段的日益高明化,高校網(wǎng)站的安全防護任重道遠,網(wǎng)站安全管理人員要加強對網(wǎng)絡(luò)安全防御知識的學習,針對不同的攻擊方式制定更加有效地網(wǎng)站安全防護措施,做到“防患于未然”。
參考文獻:
[1] 安全聯(lián)盟發(fā)布2013中國網(wǎng)站發(fā)展安全報[EB/OL]. http://post.tom.com/AA001E7D873.html.
[2] 360互聯(lián)網(wǎng)安全中心. 2013年中國高校網(wǎng)站安全檢測報告[R]. http://corp.#/report/2013gaoxiaowangzhananquan.pdf.
[3] 姜開達,李霄,沈海云,白巍. 高校網(wǎng)站安全防護體系設(shè)計與實現(xiàn)[J]. 信息網(wǎng)絡(luò)安全, 2012 (12): 83-85.
[4] 尹宏飛. SQL 注入攻擊及防御技術(shù)的研究[J]. 智能計算機與應(yīng)用, 2013 (1): 70-71.
[5] 楊方,,潘大豐. IIS 日志在網(wǎng)站安全中的研究與應(yīng)用[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息, 2010 (10): 96-98.
[6] 張鎮(zhèn)寧.關(guān)于非法入侵網(wǎng)站的取證分析[J].信息網(wǎng)絡(luò)安全, 2013 (8): 71-74.
[7] 蒙彪,劉俊景. SQL 注入攻擊的分類防御模型的研究[J].信息技術(shù)與標準化, 2008 (11): 17-19.
[8] 井俊嶺.高職院校網(wǎng)站安全防范與加固[J].電腦知識與技術(shù), 2010, 6(14):3590-3591.endprint
5) DenyQueryStringSequences設(shè)置了URL請求字符串的過濾規(guī)則,即不能包含的字符或字符串,如“<”和“>”。
6) 如果網(wǎng)站的文件名稱使用了非ASCII代碼如中文,應(yīng)在Option節(jié)中將AllowHighBitCharacters設(shè)為1,否則訪問該類文件時出錯。
另外,UrlScan可以針對某種安全威脅自定義相應(yīng)的規(guī)則,實現(xiàn)“實時過濾”。例如,為了防止JS變異注入攻擊,進行以下設(shè)置:
1) MaxQueryString=1000,因為病毒的請求字符串經(jīng)過16進制編碼后長度一般在1100左右。
2) DenyQueryStringSequences中增加對“0x”的過濾,防止攻擊者以16進制編碼方式提交請求。
所有被UrlScan攔截的HTTP請求都被記錄在日志中。UrlScan日志包含以下字段:Date、Time、c-ip、s-siteid、cs-method、cs-uri、x-action、x-reason、x-context、cs-data、x-control,分別表示:HTTP請求的日期、UTC時間、客戶端IP、處理該HTTP請求的站點ID號、HTTP的請求方法、請求及查詢字符串的URI、UrlScan執(zhí)行的動作、采取該動作的原因、觸發(fā)該動作請求的一部分、觸發(fā)該動作的請求數(shù)據(jù)、引起觸發(fā)的控制數(shù)據(jù)的配置。下面對部分日志進行分析:
2014-04-12 03:42:50 119.90.45.141 2 GET /index.files/counter.htm Rejected URL+contains+dot+in+path URL - -(DenyUrlSequences中設(shè)置訪問頁面的URL路徑中含有不允許出現(xiàn)的字符“.”)
2014-04-12 04:18:27 106.38.244.229 2 OPTIONS /admin/upload/ Rejected verb+not+allowed HTTP+method - -(AllowVerbs中規(guī)定不允許進行options請求)
2014-04-12 23:18:40 122.225.222.98 2 GET /xueyuanfengcai.asp Rejected extension+not+allowed file+extension .asp –(DenyExtensions設(shè)置不允許訪問后綴名為asp的文件)
由此可見,UrlScan對URL及請求字符串進行過濾,在一定程度上增強了網(wǎng)站的安全性,同時防御SQL注入攻擊,但并不能完全抵抗所有的SQL攻擊,關(guān)鍵要注重加強網(wǎng)站應(yīng)用程序的安全措施,增強傳輸給SQL Server數(shù)據(jù)庫的數(shù)據(jù)安全性。
1.2 研發(fā)服務(wù)器管理器
由于IIS日志記錄非常詳細,包含很多字段,對網(wǎng)站的所有操作進行記錄,給網(wǎng)站服務(wù)器的管理人員帶來不便,因此自行研發(fā)了服務(wù)器管理器,對一些關(guān)鍵操作進行記錄,界面如圖1所示:
在“選擇監(jiān)控目錄”中指定存放網(wǎng)站的文件夾進行監(jiān)控,并在“監(jiān)控事件”欄,根據(jù)需要選擇監(jiān)控的項目:創(chuàng)建、修改、刪除,該管理器根據(jù)用戶的需求對所指定目錄和操作進行監(jiān)控。
日常管理工作中,網(wǎng)站安全管理人員能夠根據(jù)記錄直接明了地發(fā)現(xiàn)異常文件,如后綴名為exe或asp的文件,及時進行刪除,然后再根據(jù)IIS日志進行追蹤。
1.3利用IIS日志追蹤
互聯(lián)網(wǎng)信息服務(wù)IIS是微軟的一個web服務(wù)組件,支持多種協(xié)議,用來實現(xiàn)網(wǎng)頁瀏覽、文件傳輸?shù)裙δ躘5]。IIS日志是IIS運行的文件,保存著所有訪問網(wǎng)站的詳細記錄,默認情況下包含14個字段。如果需要選擇更多的字段,可在“日志記錄屬性”對話框的“高級”選項卡中添加,部分字段含義如表1所示:
無論黑客采用哪種攻擊方式,總會留下入侵痕跡,因此可以通過分析IIS日志獲得黑客的入侵手段及相關(guān)操作。下面分別介紹根據(jù)IIS日志追蹤網(wǎng)站掛馬和SQL注入攻擊的方法。
1) 網(wǎng)站掛馬
首先,必須清楚sc-status值即HTTP的狀態(tài)代碼的含義:200-成功訪問、400-語句中存在語法問題、403-禁止訪問該資源、404-請求的資源不存在。在入侵網(wǎng)站之前,攻擊者必須獲取系統(tǒng)或網(wǎng)站的權(quán)限。因此,選定某些存在漏洞的頁面作為突破口,并通過該頁面構(gòu)造請求字符串多次向服務(wù)器提交請求,如果該資源或字段不存在,訪問失敗,IIS日志中則會留下連續(xù)的403或404訪問記錄。
經(jīng)過多次試探,攻擊者成功獲取一定的權(quán)限后,用post方法向服務(wù)器提交文件或者表單,上傳木馬。攻擊者通過遠程操作該木馬,獲取webshell,進一步實現(xiàn)批量掛馬。如果服務(wù)器存在嚴重的漏洞,攻擊者甚至可以破壞整個系統(tǒng),產(chǎn)生更嚴重的后果。所以,網(wǎng)站被掛馬之后,除了立即刪除木馬文件之外,還要根據(jù)黑客的IP地址,在整個IIS日志中搜索,防止感染其他文件或系統(tǒng)。
2) SQL注入
SQL注入攻擊最顯著的特征是,IIS日志的cs-uri-stem字段含有大量的“%20”和“select”字符串,以此為出發(fā)點,在日志中進行搜索。若發(fā)現(xiàn)被攻擊的嫌疑,則記錄該頁面,查找存在的SQL注入漏洞,并盡快修改程序,修復漏洞,防止網(wǎng)站被攻擊。
IIS日志不僅是網(wǎng)站安全管理人員了解服務(wù)器安全的有效途徑,也是公安人員獲取線索和證據(jù)的重要來源[6],因此要妥善保管,必要時進行備份。如果IIS日志被黑客在事后刪除,則在“事件查看器”中查看警告信息,獲得入侵者的相關(guān)信息。
1.4 其他防護措施
為了降低網(wǎng)站被攻擊的風險,在程序中進行以下限制:設(shè)置上傳文件的類型,尤其禁止exe、asp文件的上傳;對于使用SQL Server數(shù)據(jù)庫的網(wǎng)站,采取“最小權(quán)限原則”,不賦予“SA”權(quán)限,而是創(chuàng)建新的賬號,并賦予最低權(quán)限[7]。除此之外,關(guān)閉不必要的端口和服務(wù)[8];定期檢查并備份windows日志和IIS日志,保證日志的完整性。為了進一步加強安全防御,架設(shè)入侵防御設(shè)備和防篡改系統(tǒng)也是非常必要的。
2 結(jié)論
本文提出的三種方案從不同方面對網(wǎng)站進行保護, UrlScan在客戶的HTTP請求到達IIS之前執(zhí)行,類似于防火墻,進行第一層保護;服務(wù)器管理器是IIS日志的簡化,方便管理;如果要對入侵事件進行追蹤,查看IIS日志是必不可少的。三種方案相互配合,一定程度上提高了網(wǎng)站的安全性。但是,隨著各種病毒的不斷進化和入侵手段的日益高明化,高校網(wǎng)站的安全防護任重道遠,網(wǎng)站安全管理人員要加強對網(wǎng)絡(luò)安全防御知識的學習,針對不同的攻擊方式制定更加有效地網(wǎng)站安全防護措施,做到“防患于未然”。
參考文獻:
[1] 安全聯(lián)盟發(fā)布2013中國網(wǎng)站發(fā)展安全報[EB/OL]. http://post.tom.com/AA001E7D873.html.
[2] 360互聯(lián)網(wǎng)安全中心. 2013年中國高校網(wǎng)站安全檢測報告[R]. http://corp.#/report/2013gaoxiaowangzhananquan.pdf.
[3] 姜開達,李霄,沈海云,白巍. 高校網(wǎng)站安全防護體系設(shè)計與實現(xiàn)[J]. 信息網(wǎng)絡(luò)安全, 2012 (12): 83-85.
[4] 尹宏飛. SQL 注入攻擊及防御技術(shù)的研究[J]. 智能計算機與應(yīng)用, 2013 (1): 70-71.
[5] 楊方,,潘大豐. IIS 日志在網(wǎng)站安全中的研究與應(yīng)用[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息, 2010 (10): 96-98.
[6] 張鎮(zhèn)寧.關(guān)于非法入侵網(wǎng)站的取證分析[J].信息網(wǎng)絡(luò)安全, 2013 (8): 71-74.
[7] 蒙彪,劉俊景. SQL 注入攻擊的分類防御模型的研究[J].信息技術(shù)與標準化, 2008 (11): 17-19.
[8] 井俊嶺.高職院校網(wǎng)站安全防范與加固[J].電腦知識與技術(shù), 2010, 6(14):3590-3591.endprint