陳榮征
(廣東職業技術學院信息工程系,廣東 佛山 528041)
基于日志分析的校園網監測預警平臺設計與實現
陳榮征
(廣東職業技術學院信息工程系,廣東 佛山 528041)
設計并實現了一種基于日志分析的校園網監測預警平臺。利用開源軟件rsyslog,收集校園網絡設備或★nix系統的日志信息,并實時存儲到Mysql數據庫,基于Apriori算法對日志信息進行分析處理,以動態監測潛在的攻擊行為,一旦監測到危險行為,平臺能夠自動部署訪問控制列表(ACL),并及時向管理員發出預警通知,以便提前處理。平臺為校園網絡安全管理提供了一種有價值的參考。
日志分析;rsyslog;校園網;監測預警;LAMP
目前,國內高校對校園網的安全管理還主要依靠人工[1],缺乏有效的安全監測預警平臺支持。通常情況下,都是網絡安全事件發生后,由網絡管理員去檢查、分析和處理。處理問題時,往往需要登錄大量來自不同廠家的網絡設備和網管軟件,除工作量大、操作復雜外,還存在誤判率高、實時性差等問題。因此,設計并開發出一套具有較高實時性、良好主動性的校園網監測預警平臺就顯得尤為重要了。
2.1 開發技術的選擇
平臺采用目前國際流行的三大Web軟件開發框架之一的LaMP[2]。LaMP(Linux-apache-Mysql-PHP)技術框架中的Linux操作系統、apache網絡服務器、Mysql數據庫和PHP開發語言,均是開源軟件產品。LaMP技術框架作為目前國際上非常成熟的Web軟件開發框架,同Java/J2EE框架與微軟的.NET框架相比,LaMP在性能、質量和開發成本方面都占有絕對優勢。
2.2 平臺的總體目標
(1)具有較好的兼容性
目前,各高校中應用的網絡安全設備或管理軟件雖能處理網絡安全管理中存在的諸多問題,但由于這些系統或方案普遍存在開放性不夠、用戶無法進行二次開發等問題。因此,平臺開發基于syslog標準協議,有針對性地解決設備兼容性問題。
(2)具有較高的智能性
syslog開源軟件基于syslog標準協議,負責從校園網中的各個網絡節點進行信息的收集、分析與處理,平臺能夠從大量的日志信息中識別出可能的攻擊行為,并通過反饋aCL進行及時處理,從而實現從網絡安全預警到處理的智能化,降低管理員的工作負擔,提高工作效率。
(3)具有簡潔易用性
本著簡潔易用的原則,力求界面設計簡潔明了,整體風格協調一致,導航清晰明確。同時,平臺盡可能地提供準確、詳盡的攻擊查詢、設備管理等主要功能,用戶進入該平臺后,可以輕松查詢到所需要的信息。
2.3 平臺開發采取的方法、技術路線

圖1 平臺三層架構
平臺設計擬采用Web應用軟件典型的三層架構模式[3](如圖1所示)。
①用戶層,即客戶端層。用來與用戶交互,并把來自系統的信息顯示給用戶,在該層用戶可以輸入和更新數據。
②業務邏輯層。該層主要用來處理客戶請求,調用相應的核心業務邏輯模塊,并把結果以動態網頁的形式返回到客戶端。
③數據庫層。負責數據管理,完成數據存儲,平臺采用Mysql數據庫,數據庫中的數據主要包括日志信息、預處理信息、風險信息、日志時間信息和用戶權限信息等。
①日志信息收集與存儲。利用開源軟件rsyslog在Linux下搭建日志收集的服務器,并將日志發送到遠程的Mysql數據庫服務器。
②日志分析的算法設計。模擬攻擊行為收集各類日志數據,對日志進行預處理,找出攻擊行為日志。根據分析到的結果,基于apriori算法對數據實時分析,生成日志事件報告。
③aCL部署與系統管理。編寫PHP腳本程序針對Mysql的報告動態生成aCL部署到相應的設備,實現主動智能aCL部署,并及時通知用戶和管理員。
平臺的總體功能,如圖2所示。

圖2 平臺功能模塊圖
4.1 日志收集模塊
對不同的校園網絡設備或*nix系統的日志信息,采用syslog協議進行收集,并保留一段時間的日志數據供回溯查看。syslog是一個很著名的網絡協議[4],是一種在Unix和類Unix的計算機系統上使用的協議,它用于轉發以太網絡中的日志消息。具體步驟如下:
①配置rsyslog客戶端發送本地日志到服務端:
#vi/etc/rsyslog.conf
*.*@192.168.1.107
②行尾新增上面這行內容,即客戶端將本地日志發送到服務器。
③重啟rsyslog服務:
#/etc/init.d/rsyslog restart
④編輯/etc/bashrc,將客戶端執行的所有命令寫入系統日志/var/log/messages中。
#vi/etc/bashrc
⑤在文件尾部增加一行:
export PROMPT_COMMaND='{msg=$(history 1|{ read x y;echo$y;});logger"[euid=$(whoami)]":$(who am i): [`pwd`]"$msg";}'
⑥設置其生效:
#source/etc/bashrc
客戶端配置完畢。在服務端的日志信息里可以看到客戶端的所有操作。
4.2 日志信息存儲功能
能夠將校園網絡設備或*nix系統的syslog日志信息進行預處理,并以統一格式存儲到日志數據庫,清除部分冗余無用日志。由于每條日志信息的存儲類型為字符串格式,為了便于查詢和分析,需要將日志信息按字段值拆分后再存儲。同時將來自不同類別設備的日志信息,分類后存入不同的分區數據表中。
4.3 日志信息分析功能
基于apriori算法進行日志信息分析,從雜亂的日志信息中分析出可能的攻擊行為,根據設定好的危險行為數據庫辨識危險行為。具體實現步驟如下:
步驟S1:定義分析參數,從日志服務器中取出日志信息;
步驟S2:對日志信息進行分類,形成日志類型集合D= {D1,D2,…,Dn};
步驟S3:對集合D進行apriori計算,獲得能夠調節分析的靈敏度(在時間T內出現不正常行為的次數N),即調整T和N;
步驟S4:針對服務器的日志分析,每存入一條日志信息時讀取N和T,接著統計從存入信息開始往前T時間內出現次數n;
步驟S5:當n=N時視為攻擊行為,存入攻擊行為表;當n〉N時,修改攻擊行為表中統計次數;
步驟S6:每次存入一條日志信息時都將進行分析,轉步驟S4。
4.4 aCL部署功能
對攻擊行為能夠自動或者手動部署和撤銷aCL,并通知用戶和管理員。關鍵代碼如下:
〈?php
public function api(){
if($_SESSION['flagid']!=1){
$this-〉success('無權限','index.php?c=index&a=bj&uid='. $_POST['uid'],2);
return;
}
$cont="用戶:".$_SESSION['account']."通知您請盡快解決編號為".$_POST['uid']."的日志錯誤信息!!!";
$statusStr=array(
"0"=〉"短信發送成功",
"-1"=〉"參數不全",
"-2"=〉"服務器空間不支持,請確認支持curl或者fsocket,聯系您的空間商解決或者更換空間!",
);
$smsapi="http://api.smsbao.com/";//短信網關
$user="account";//短信平臺帳號
$pass=md5("password");//短信平臺密碼
$content=$cont;//要發送的短信內容
//$phone=$_POST["phone"];//要發送短信的手機號碼
$sendurl=$smsapi."sms?u=".$user."&p=".$pass."&m=". $phone."&c=".urlencode($content);
$result=file_get_contents($sendurl);
$this-〉success($statusStr[$result],'index.php?c=index&a= bj&uid='.$_POST['uid'],2);
}
?〉
本文設計開發的校園網監測預警平臺,可以實現從日志收集、日志分析再到aCL自動部署,并能夠及時向管理員及時發出預警信息。平臺可以減輕校園網絡管理的工作量,并可以從源頭有效預防攻擊行為的發生,增強了網絡的安全性能;同時也減少了大量安全設備的投入,降低了校園網絡運維的成本。
[1]王碰,趙剛,姚興仁.基于Apache日志挖掘的威脅感知系統[J].信息安全與技術,2015,12:45-49.
[2]袁媛.基于日志的計算機的網絡安全控制探討[J].信息化建設,2015,11:110.
[3]段娟,辛陽,馬宇威.基于Web應用的安全日志審計系統研究與設計[J].信息網絡安全,2014,10:70-76.
[4]朱曉亮,陳云芳,陸有為.基于rsyslog系統日志的收集與分析[J].網絡安全技術與應用,2012,12:5-7+21.
Design and Implementation of Monitoring and Early Warning Platform for Campus Network Based on Loganalysis
Chen Rongzheng
(Information Engineering Department of Guangdong Polytechnic,Foshan 528041,Guangdong)
a monitoring and early warning platform for campus network based on log analysis is designed and implemented. The open source software of rsyslog is used to collect log information of campus network device or*nix system,and store in mysql database in real time.Log information is analyzed and processed based on apriori algorithm to monitor potential attacks dynamically.Once dangerous behavior is found,the platform can automatically deploy access control list(aCL),and promptly issue a warning notice to administrators to deal with in advance.Platform provides a valuable reference for security management of the campus network.
log analysis;rsyslog;monitoring and early warning;LaMP
TP393.08
a
1008-6609(2016)03-0049-03
陳榮征,男,山東臨沂人,碩士,講師,研究方向:軟件技術與高職教育研究。
2015年廣東職業技術學院科研項目,項目編號:K2015108。