雷東升 郭振英



〔摘要〕校外訪問圖書館電子資源在方便讀者的同時也出現一些異常訪問行為,利用EZproxy代理服務器日志信息分析異常訪問行為特征,設計并開發EZproxy日志分析系統,完成對電子資源訪問日志的預處理、上傳、統計和分析,從訪問特征發掘讀者的異常訪問行為,對異常行為情況分類處理,基本避免了異常訪問行為導致圖書館電子資源被數據庫商臨時封掉IP的現象出現,維護圖書館讀者的合法權利,提高資源訪問效率。
〔關鍵詞〕EZproxy;日志分析;電子資源;異常訪問行為;惡意下載
DOI:10.3969/j.issn.1008-0821.2016.07.018
〔中圖分類號〕G2520〔文獻標識碼〕B〔文章編號〕1008-0821(2016)07-0101-06
電子文獻資源作為特殊文獻資源類型在高校圖書館的資源保障建設中發揮著越來越重要的作用,日益成為高校圖書館文獻資源保障體系中不可或缺的重要組成部分,是教學科研人員的必備工具[1]。為了方便各類讀者在校外使用學校的電子資源,很多高校圖書館開通了校外遠程訪問電子資源方式。校外訪問電子資源,是指非校園網讀者突破數據庫資源校內IP地址的訪問限制,隨時隨地訪問學校購買的數據庫資源。
EZproxy是實現校外遠程訪問圖書館電子資源的一款代理軟件,在國外高校圖書館被廣泛使用,其中絕大部分讀者為各類科研機構和高等院校[2]。EZproxy采用“URL重寫”技術實現,讀者在使用EZproxy訪問它代理的電子資源時,不需要在客戶端瀏覽器上安裝插件,也不需要修改設置,只需驗證已經被授權的帳號和密碼就能訪問被代理的電子資源[3]。EZproxy代理電子資源時縮短了url,隱藏了實際路徑,提高了訪問的安全性。EZproxy還提供接口程序,方便編程人員編寫外部程序實現與本地應用系統的集成對接。EZproxy日志記錄了訪問者信息和資源訪問量,極大的方便了管理人員對所購買的電子資源的使用情況進行監控和分析。本文設計的EZproxy日志分析系統就是通過EZproxy日志信息發掘讀者在訪問電子資源時的異常訪問行為。
1異常訪問行為
校外訪問電子資源在方便讀者的同時也出現一些訪問電子資源的異常行為,個別讀者訪問電子資源時,采用不正當的訪問方式、或出于特殊目的惡意下載電子資源給圖書館電子資源合法使用帶來不良影響[4]。異常行為主要有:(1)個人出于不良目的長期連續下載數據資源。(2)故意或無意泄露個人賬戶和密碼供其他非法機構或個人長期惡意下載數據庫中數據資源。(3)使用數據庫廠商不允許的下載行為,如在數據庫的下載過程中使用專門的工具或者啟用多線程方式下載數據。(4)數據資源下載數量遠遠超過數據庫商服務允許的下載行為,數據庫服務商為了保護自己的利益,一般都明確規定不允許讀者一次性下載某種期刊同期半數以上的全文數據資源[5]。
異常訪問行為在一定時間范圍內占用了大量數據庫服務商提供的帶寬資源,從而影響其他合法讀者的正常服務請求,還可能導致數據資源被盜用[4]。由于訪問行為沒有遵守電子數據庫相關版權協議,被數據庫商服務器甄別為惡意下載而自動被封掉IP字段,導致圖書館全部讀者的訪問被臨時中斷。惡意下載侵害數據庫商的版權,影響了圖書館的聲譽,使得圖書館的讀者正常訪問電子資源的權利受到侵犯。這種情況在高校圖書館中經常發生。
北京工業大學圖書館2013年1月因為“紅動數據”導致學校訪問知網的IP被臨時封掉,師生無法正常訪問CNKI數據庫。2014年北京工業大學圖書館因讀者的不良訪問行為受到美國ACS數據庫的警告提醒。其他高校圖書館關于電子資源惡意下載的情況也是頻繁出現。浙江大學圖書館網站報道該校圖書館數據庫資源由于惡意下載事件,導致圖書館IP被封,導致部分師生無法正常使用美國物理學會APS、An.nual Reviews等數據庫,在2011年9月5日發布了《關于提醒讀者合理規范使用數據庫的通知》[6]。清華大學圖書館網站版權公告顯示,從2003-2014年因非法惡意超量下載圖書館數據資源被圖書館通報批評的事件就有60多起[7]。隨著讀者對電子資源使用需求的增加,全國高校圖書館加大了電子資源的訂購量,電子資源異常訪問現象頻繁發生。如何防范和應對電子資源的異常訪問行為成為各大高校圖書館共同面臨的問題[4]。
2EZproxy日志的處理
21EZproxy日志的特征
為了方便電子資源的管理和使用安全,北京工業大學圖書館從2006年開始把EZproxy代理服務器作為校內外電子資源訪問的統一入口[8]。EZproxy代理服務器自動記錄訪問日志,每天生成1個TXT型的日志文件,文件記錄了讀者通過EZproxy代理服務器訪問電子資源的詳細信息,通過對日志數據的統計分析挖掘出讀者使用電子資源的情況和各種異常使用電子資源的行為。因此開發基于EZproxy日志的分析系統來幫助工作人員統計發掘讀者訪問行為成為可能。
EZproxy日志的主要特點是:數據量大,每天1個日志文件,北京工業大學圖書館電子資源訪問日志文件大小為100M左右的文本文件,訪問量多時曾經達到500M;校外訪問能記錄讀者IP或者讀者ID,便于統計分析,校內訪問的讀者名為auto,對讀者行為統計分析只能以IP地址為準。根據EZproxy日志特征確定日志處理流程如圖1所示,設計并開發EZproxy日志分析系統,系統把預處理后的EZproxy日志文件裝入數據庫中,按照日期、讀者類別、訪問次數、IP地址等對數據完成統計分析,發掘異常訪問行為,對相關結果進行可視化處理。通過EZproxy日志分析系統,發現異常訪問行為及時解決,有利于維護圖書館讀者的合法權利,提高電子資源訪問效率,保護數據庫商的版權。圖1EZproxy日志處理流程
22EZproxy日志基本格式
EZproxy代理服務器生成的電子資源訪問日志是Web日志標準格式,基本格式為:
LogFormat %h %{ezproxy-session}i %u %t″%r″%s %b
其中各項內容的含義說明如表1所示。
第一條日志說明IP地址為172.23.50.197,讀者賬號為auto的讀者,該讀者在校內訪問資源,在20014年10月13日8點54分52秒,請求連接頁面http:∥www.sciencedirect.com:80/science/frag/0141029688900466/5ab…,訪問的傳輸協議是HTTP 11。讀者會話標識是jgf0qvTlfiznkMg,本次訪問請求成功并完成1 830字節的數據傳輸,返回表示成功鏈接的狀態碼200。
123.123.250.5 BBisN8vM48mBqCh 05xxx[13/Oct/2014∶15∶03∶42+0800]″GET http:∥ac.els-cdn.com:80/S01429 61214009120/1-s2.0-S014…669a2 HTTP/11″206 4827
第二條日志說明賬戶05xxx的讀者在校外訪問電子資源,請求成功傳輸了4 287個字節的數據,返回表示服務器已經成功處理了部分GET請求的狀態碼206。
EZproxy代理服務器的日志文件由若干條上述訪問記錄組成,記錄信息中數據項之間以空格作為分隔符,方便數據導入關系數據庫中進行挖掘分析。文件的大小與電子資源的訪問量有關。
23EZproxy日志預處理
EZproxy代理服務器生成的原始日志文件數據量大,記錄了讀者訪問電子資源的全部信息。當讀者通過EZproxy代理服務器訪問數據庫電子資源時,與讀者訪問信息無關的內容,如網頁上相關圖片、音頻、Flash文件等會自動下載并記錄在日志中。EZproxy訪問日志文件需要經過預處理,篩除無關信息。預處理方法主要有:數據清洗、讀者識別和會話識別等。數據清洗主要是把URL請求信息后綴中包含jpg、swf、gif、jpeg、css等的記錄清除,然后通過返回狀態碼對日志文件中的記錄分類別處理,返回狀態代碼為200~299的表示電子資源網站成功響應客戶端請求,記錄數據予以保留;返回狀態代碼為300~599表示各種不同類別的錯誤,屬于無用記錄,需要刪除。
用戶識別是將用戶與EZproxy代理服務器請求的電子資源頁面相關聯,記錄讀者訪問的信息。EZproxy代理服務器通過IP地址和用戶ID兩個數據項標識用戶的信息屬性。為了方便讀者在校內訪問電子資源,北京工業大學圖書館允許校園網內讀者直接用Auto身份自動登錄EZproxy代理服務器訪問電子資源,在日志分析時為了識別不同讀者的訪問信息,通過‘Auto+IP地址(校內IP地址)的形式作為識別不同讀者的信息,校外訪問的讀者需要登錄到EZproxy代理服務器上訪問電子資源,日志信息直接記錄讀者ID作為用戶識別標識。
會話是各類讀者在訪問電子資源網站期間(從登錄到資源網站到離開網站)所進行的全部訪問行為。EZproxy代理服務器在讀者請求成功建立鏈接時生成Session ID來標識一個會話,記錄讀者在此次會話活動中所做的訪問。在對日志文件進行分析時,日志文件被導入數據庫后,通過過濾session ID,找出讀者某次會話的全部訪問信息并進行分析處理,判定會話中是否存在異常訪問行為。
24EZproxy日志分析系統
為了實現EZproxy日志的自動處理與分析,設計并開發了EZproxy日志分析系統,系統的基本功能如圖2所示。日志分析系統首先完成日志數據預處理并上傳到數據庫服務器,然后對數據分析處理發掘異常訪問行為的賬號或者IP地址,實現基于日志分析的異常訪問行為檢測,并對部分數據進行可視化展示。EZproxy日志分析系統主要包括身份驗證、日志導入、日志刪除、批量日志導入、異常IP發掘、異常賬號發掘和流量可視化7個基本功能模塊。
241系統的功能需求
身份驗證模塊主要完成登錄用戶驗證功能。為保證系統的安全,對登錄系統的用戶身份進行合法驗證,通過驗證的用戶可以使用系統。
圖2EZproxy日志分析系功能模塊
日志導入主要完成日志上傳到數據庫中,按照系統要求對日志中的記錄進行預處理,完成數據清洗、讀者識別和會話識別,保證傳入數據庫中的數據符合系統處理的要求。為方便日志文件導入,設計兩個功能模塊,單日志文件導入模塊,每次導入1個日志文件。批量日志導入模塊每次導入1批日志文件,方便批量日志數據的處理。日志刪除模塊主要是刪除已經上傳到服務器中無用的日志文件。
異常IP發掘模塊按照用戶IP地址統計用戶的下載量,在限定時間內下載量過大的IP地址為異常IP地址,然后對IP的訪問量進行深入分析,找出原因。異常賬戶發掘功能模塊是按照用戶賬號發掘用戶異常訪問行為。校外訪問電子資源的用戶賬號在單位時間內下載量過大、登陸次數過多、使用IP地址過多都屬于異常行為,通過統計分析,發掘異常賬戶。流量可視化模塊主要是分時段統計讀者1天的訪問量并繪制出來折線圖,以期揭示讀者的訪問行為。
242數據庫的設計
根據EZproxy日志分析系統功能需求,設計系統的數據庫,主要有4個數據庫表:系統用戶表、日志數據表、異常用戶表,異常IP表。系統用戶表主要存放用戶信息,有用戶ID、用戶名、密碼、創建時間4個主要字段。
日志數據存放日志數據信息,每天的日志信息存放在1個日志數據表,主要字段有登錄IP、會話ID、用戶ID、操作類型、操作時間、訪問串、協議、返回狀態、訪問流量等,基本結構如表2所示。
243系統主要功能模塊的設計
日志導入模塊的設計:日志導入模塊主要是完成日志數據的上傳,EZproxy日志代理服務器每天生成1個日志文件,每1個日志文件上傳到數據庫系統生成1個日志文件表,以日志數據生成的日期為表名,方便實現對數據的分析與挖掘。日志導入模塊的主要流程如圖3所示。首先連接到數據庫,選擇需要導入的日志文件,系統根據日志文件的日期檢查數據中是否已經上傳了日志信息,如果已經上傳過,重新選擇要上傳的日志文件。如果沒有,在數據庫中創建日志數據表,然后上傳日志數據,并對每1條日志記錄按照要求進行驗證。最后完成日志文件的導入并生成日志文件導入報告,統計上傳的日志條數和沒有上傳的日志信息。
異常賬號發掘模塊的設計:異常賬號發掘模塊是按照異常訪問特征發掘不正常使用數據庫讀者賬號,并查找該賬戶的訪問信息。首先選擇要發掘異常訪問賬戶的日期,然后設置異常訪問特征參數,異常訪問參數是以每日訪問信息為基準,每日訪問總流量操過一定的數值即為異常,主要異常參數有訪問總流量異常、會話個數異常、使用的IP地址個數異常,異常情況有單個參數異常,或者全部參數都異常。根據生成的異常賬戶清單可以查詢單個異常賬戶的訪問信息,并可以導出XLS文件。
流量可視化模塊的設計:流量可視化模塊按照讀者類型把讀者在1天內不同時間段信息訪問量生成時間趨勢圖展示。首先選擇匯總的日期,設置需要展示的讀者類別,系統把讀者分成教工、博士生、碩士研究生、本科生、其他人員等5種類別讀者,按照類別統計讀者的訪問量,調用微軟的可視化插件繪制折線圖。通過分析折線圖,可以了解不同類型讀者校外訪問電子資源的情況,有助于進一步分析讀者的訪問行為。
244系統的實現
EZproxy日志分析系統使用C#語言設計實現,開發平臺為Microsoft Visual Studio 2010,數據庫使用SQL Server 2012。系統的運行界面如圖6所示。
3基于Ezproxy日志分析的異常訪問行為分析
使用EZproxy日志分析系統,完成北京工業大學圖書館
2000年1月到2014年12月的電子資源校外訪問日志的預處理并裝入指定的數據庫,通過對日志數據分析與發掘,發現校外訪問電子資源的異常訪問行為主要有以下幾種情況:
①校外訪問電子資源讀者賬戶流量異常,正常情況下校外訪問電子資源的賬戶日均訪問流量在500M左右,系統統計發現有個別賬戶日訪問電子資源流量已經達到1G,最多時單日流量達到4G多,如圖7所示,賬戶為G2010010XX(研究生賬戶)的讀者,2013年04月11日流量達到68G,2013年04月10日流量達到65G,2013年04月08日流量達到40G,訪問流量存在明顯的異常,說明該賬戶在此期間可能存在惡意下載圖書館電子資源的行為。
②校外訪問電子資源時讀者賬戶使用的IP地址數量多,登錄次數(會話數)多,有個別賬戶單日使用的IP地址數超過100個,最多達到800個,登錄次數超過100次,如圖8、圖9所示,賬戶G2010070XX(研究生賬戶)的讀者,2013年01月08日單日使用的IP地址數是498個,登錄次數達到7 953次,賬戶G2010010XX(研究生賬戶)的讀者,2013年04月11日單日使用的IP地址是1 423個,登錄次數達到了2 473次,某教工賬戶2014年05月06日單日使用的IP地址是700個,登錄次數達到了66次,這些賬戶可能被非法盜用。
③校外訪問電子資源時賬戶登錄1次(單會話)卻出現多個IP地址訪問,并且該登錄會話數日沒有中斷。如圖10所示,某教工賬戶在2014年08月19日登錄電子資源校外訪問系統,會話一直沒有中斷,直到2014年08月27日,我們在對系統進行維護時發現異常,強行中斷這個會話,期間,每天都有數十個甚至上百個IP地址通過這個會話訪問電子資源。
④EZproxy日志文件大小異常情況,正常情況下日志文件的大小為200M左右,在統計分析時發現有部分日志文件達到了G級別,如圖11所示,最高一天2014年4月19日日志文件達到28G Byte,經分析,日志記錄總數370多萬條,校外有賬號訪問記錄信息僅有14萬條,無會話標識無賬號的訪問350多萬條記錄信息,系統可能遭到非法攻擊。
4異常訪問行為的處理措施
通過分析北京工業大學近幾年校外訪問電子資源日志,發現讀者在校外訪問電子資源時,大部分讀者都能夠按照學校的要求合法的訪問電子資源,但少部分讀者在使用電子資源時存在各種異常行為。北京工業大圖書館首先對出現異常訪問行為的讀者賬戶進行集中處理,臨時限制異常賬戶的校外訪問權限,聯系讀者,查找發生異常訪問行為的原因,及時解決。同時完善相關管理規定,減少校外訪問電子資源異常行為的發生。主要采取的措施如下:
①從代理服務器EZproxy軟件設置入手,調整EZproxy的訪問策略,嚴格限制讀者訪問權限。EZproxy軟件提供了強大的讀者訪問服務器的管理功能,通過限制登錄等設置,可以在一定程度上遏制異常訪問行為的發生。如規定每個賬戶每小時的最大下載量不操過500M,每個會話在20分鐘內沒有訪問需要重新登陸,讀者會話連續訪問超過3個小時強制掉線1次。
②加強對讀者宣傳教育,增加讀者對圖書館電子資源的安全訪問意識。有些讀者認為電子資源可以隨便免費使用,在開通校外訪問電子資源后,不及時修改初始密碼,或者隨意把賬戶借給他人使用造成賬戶被盜用或亂用現象。
③制定嚴格的北京工業大學圖書館電子資源校外訪問管理辦法,對于故意提供賬戶供非法讀者惡意訪問的行為嚴格處理,通知所在學院或者部門,在圖書館網站公示處理結果,達到警示教育的目的。
④EZproxy代理服務器日志分析常態化,每周做1次日志統計分析,及時發現讀者可能出現的異常訪問行為并處理解決,避免出現個別讀者長期惡意訪問電子資源造成的不良后果。
5小結
通過使用EZproxy日志分析系統,發現電子資源校外訪問異常賬戶,對異常訪問情況分類別進行處理,基本解決了異常訪問行為導致我校電子資源被數據庫商臨時封掉IP的現象,提高了正常使用電子資源讀者的訪問效率,保障了圖書館所購買電子資源的安全合法的使用。如果EZproxy日志分析系統能夠實現實時處理日志,并對異常訪問現象及時報警,有利于發現異常訪問現象并做出及時處理,提升電子資源的訪問效率和讀者的滿意度,保障圖書館電子資源合理高效的使用。
參考文獻
[1]勾丹,鄭洋洋.我國高校圖書館電子資源利用現狀與對策[J].圖書館學研究,2008,(11):85-87.
[2]黨洪莉.利用EZproxy實現圖書館電子資源的遠程訪問[J].圖書館研究與工作,2008,(1):33-35.
[3]陳光鋒.EZproxy在校外訪問服務中的應用分析[J].圖書館學研究,2008,(10):31-34.
[4]時彤,郭青,馮佳,等.高校圖書館電子資源惡意下載現狀及對策[J].醫學信息學雜志,2011,(12):63-66.
[5]鄒榮,張成昱,姜愛蓉,等.電子資源訪問管理與控制系統的設計及應用[J].圖書情報工作,2010,(1):121-124.
[6]浙江大學圖書館關于再次提醒讀者規范使用數據庫的通知[BE/OL].http:∥libweb.zju.edu.cn/libweb/redir.php?catalogid=49221&objectid=34042,2014-09-18.
[7]違規使用電子資源的處理情況[BE/OL].http:∥lib.tsinghua.edu.cn/database/copyrightcase.html,2015-05-20.
[8]郭振英,趙文兵,魏育輝.電子資源日志統計系統分析與設計[J].現代圖書情報技術,2008,(9):102-106.
(本文責任編輯:孫國雷)