陳榮征
(廣東職業(yè)技術(shù)學(xué)院信息工程系,廣東 佛山 528041)
基于日志分析的校園網(wǎng)監(jiān)測預(yù)警平臺設(shè)計(jì)與實(shí)現(xiàn)
陳榮征
(廣東職業(yè)技術(shù)學(xué)院信息工程系,廣東 佛山 528041)
設(shè)計(jì)并實(shí)現(xiàn)了一種基于日志分析的校園網(wǎng)監(jiān)測預(yù)警平臺。利用開源軟件rsyslog,收集校園網(wǎng)絡(luò)設(shè)備或★nix系統(tǒng)的日志信息,并實(shí)時(shí)存儲到Mysql數(shù)據(jù)庫,基于Apriori算法對日志信息進(jìn)行分析處理,以動態(tài)監(jiān)測潛在的攻擊行為,一旦監(jiān)測到危險(xiǎn)行為,平臺能夠自動部署訪問控制列表(ACL),并及時(shí)向管理員發(fā)出預(yù)警通知,以便提前處理。平臺為校園網(wǎng)絡(luò)安全管理提供了一種有價(jià)值的參考。
日志分析;rsyslog;校園網(wǎng);監(jiān)測預(yù)警;LAMP
目前,國內(nèi)高校對校園網(wǎng)的安全管理還主要依靠人工[1],缺乏有效的安全監(jiān)測預(yù)警平臺支持。通常情況下,都是網(wǎng)絡(luò)安全事件發(fā)生后,由網(wǎng)絡(luò)管理員去檢查、分析和處理。處理問題時(shí),往往需要登錄大量來自不同廠家的網(wǎng)絡(luò)設(shè)備和網(wǎng)管軟件,除工作量大、操作復(fù)雜外,還存在誤判率高、實(shí)時(shí)性差等問題。因此,設(shè)計(jì)并開發(fā)出一套具有較高實(shí)時(shí)性、良好主動性的校園網(wǎng)監(jiān)測預(yù)警平臺就顯得尤為重要了。
2.1 開發(fā)技術(shù)的選擇
平臺采用目前國際流行的三大Web軟件開發(fā)框架之一的LaMP[2]。LaMP(Linux-apache-Mysql-PHP)技術(shù)框架中的Linux操作系統(tǒng)、apache網(wǎng)絡(luò)服務(wù)器、Mysql數(shù)據(jù)庫和PHP開發(fā)語言,均是開源軟件產(chǎn)品。LaMP技術(shù)框架作為目前國際上非常成熟的Web軟件開發(fā)框架,同Java/J2EE框架與微軟的.NET框架相比,LaMP在性能、質(zhì)量和開發(fā)成本方面都占有絕對優(yōu)勢。
2.2 平臺的總體目標(biāo)
(1)具有較好的兼容性
目前,各高校中應(yīng)用的網(wǎng)絡(luò)安全設(shè)備或管理軟件雖能處理網(wǎng)絡(luò)安全管理中存在的諸多問題,但由于這些系統(tǒng)或方案普遍存在開放性不夠、用戶無法進(jìn)行二次開發(fā)等問題。因此,平臺開發(fā)基于syslog標(biāo)準(zhǔn)協(xié)議,有針對性地解決設(shè)備兼容性問題。
(2)具有較高的智能性
syslog開源軟件基于syslog標(biāo)準(zhǔn)協(xié)議,負(fù)責(zé)從校園網(wǎng)中的各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行信息的收集、分析與處理,平臺能夠從大量的日志信息中識別出可能的攻擊行為,并通過反饋aCL進(jìn)行及時(shí)處理,從而實(shí)現(xiàn)從網(wǎng)絡(luò)安全預(yù)警到處理的智能化,降低管理員的工作負(fù)擔(dān),提高工作效率。
(3)具有簡潔易用性
本著簡潔易用的原則,力求界面設(shè)計(jì)簡潔明了,整體風(fēng)格協(xié)調(diào)一致,導(dǎo)航清晰明確。同時(shí),平臺盡可能地提供準(zhǔn)確、詳盡的攻擊查詢、設(shè)備管理等主要功能,用戶進(jìn)入該平臺后,可以輕松查詢到所需要的信息。
2.3 平臺開發(fā)采取的方法、技術(shù)路線
圖1 平臺三層架構(gòu)
平臺設(shè)計(jì)擬采用Web應(yīng)用軟件典型的三層架構(gòu)模式[3](如圖1所示)。
①用戶層,即客戶端層。用來與用戶交互,并把來自系統(tǒng)的信息顯示給用戶,在該層用戶可以輸入和更新數(shù)據(jù)。
②業(yè)務(wù)邏輯層。該層主要用來處理客戶請求,調(diào)用相應(yīng)的核心業(yè)務(wù)邏輯模塊,并把結(jié)果以動態(tài)網(wǎng)頁的形式返回到客戶端。
③數(shù)據(jù)庫層。負(fù)責(zé)數(shù)據(jù)管理,完成數(shù)據(jù)存儲,平臺采用Mysql數(shù)據(jù)庫,數(shù)據(jù)庫中的數(shù)據(jù)主要包括日志信息、預(yù)處理信息、風(fēng)險(xiǎn)信息、日志時(shí)間信息和用戶權(quán)限信息等。
①日志信息收集與存儲。利用開源軟件rsyslog在Linux下搭建日志收集的服務(wù)器,并將日志發(fā)送到遠(yuǎn)程的Mysql數(shù)據(jù)庫服務(wù)器。
②日志分析的算法設(shè)計(jì)。模擬攻擊行為收集各類日志數(shù)據(jù),對日志進(jìn)行預(yù)處理,找出攻擊行為日志。根據(jù)分析到的結(jié)果,基于apriori算法對數(shù)據(jù)實(shí)時(shí)分析,生成日志事件報(bào)告。
③aCL部署與系統(tǒng)管理。編寫PHP腳本程序針對Mysql的報(bào)告動態(tài)生成aCL部署到相應(yīng)的設(shè)備,實(shí)現(xiàn)主動智能aCL部署,并及時(shí)通知用戶和管理員。
平臺的總體功能,如圖2所示。
圖2 平臺功能模塊圖
4.1 日志收集模塊
對不同的校園網(wǎng)絡(luò)設(shè)備或*nix系統(tǒng)的日志信息,采用syslog協(xié)議進(jìn)行收集,并保留一段時(shí)間的日志數(shù)據(jù)供回溯查看。syslog是一個(gè)很著名的網(wǎng)絡(luò)協(xié)議[4],是一種在Unix和類Unix的計(jì)算機(jī)系統(tǒng)上使用的協(xié)議,它用于轉(zhuǎn)發(fā)以太網(wǎng)絡(luò)中的日志消息。具體步驟如下:
①配置rsyslog客戶端發(fā)送本地日志到服務(wù)端:
#vi/etc/rsyslog.conf
*.*@192.168.1.107
②行尾新增上面這行內(nèi)容,即客戶端將本地日志發(fā)送到服務(wù)器。
③重啟rsyslog服務(wù):
#/etc/init.d/rsyslog restart
④編輯/etc/bashrc,將客戶端執(zhí)行的所有命令寫入系統(tǒng)日志/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";}'
⑥設(shè)置其生效:
#source/etc/bashrc
客戶端配置完畢。在服務(wù)端的日志信息里可以看到客戶端的所有操作。
4.2 日志信息存儲功能
能夠?qū)⑿@網(wǎng)絡(luò)設(shè)備或*nix系統(tǒng)的syslog日志信息進(jìn)行預(yù)處理,并以統(tǒng)一格式存儲到日志數(shù)據(jù)庫,清除部分冗余無用日志。由于每條日志信息的存儲類型為字符串格式,為了便于查詢和分析,需要將日志信息按字段值拆分后再存儲。同時(shí)將來自不同類別設(shè)備的日志信息,分類后存入不同的分區(qū)數(shù)據(jù)表中。
4.3 日志信息分析功能
基于apriori算法進(jìn)行日志信息分析,從雜亂的日志信息中分析出可能的攻擊行為,根據(jù)設(shè)定好的危險(xiǎn)行為數(shù)據(jù)庫辨識危險(xiǎn)行為。具體實(shí)現(xiàn)步驟如下:
步驟S1:定義分析參數(shù),從日志服務(wù)器中取出日志信息;
步驟S2:對日志信息進(jìn)行分類,形成日志類型集合D= {D1,D2,…,Dn};
步驟S3:對集合D進(jìn)行apriori計(jì)算,獲得能夠調(diào)節(jié)分析的靈敏度(在時(shí)間T內(nèi)出現(xiàn)不正常行為的次數(shù)N),即調(diào)整T和N;
步驟S4:針對服務(wù)器的日志分析,每存入一條日志信息時(shí)讀取N和T,接著統(tǒng)計(jì)從存入信息開始往前T時(shí)間內(nèi)出現(xiàn)次數(shù)n;
步驟S5:當(dāng)n=N時(shí)視為攻擊行為,存入攻擊行為表;當(dāng)n〉N時(shí),修改攻擊行為表中統(tǒng)計(jì)次數(shù);
步驟S6:每次存入一條日志信息時(shí)都將進(jìn)行分析,轉(zhuǎn)步驟S4。
4.4 aCL部署功能
對攻擊行為能夠自動或者手動部署和撤銷aCL,并通知用戶和管理員。關(guān)鍵代碼如下:
〈?php
public function api(){
if($_SESSION['flagid']!=1){
$this-〉success('無權(quán)限','index.php?c=index&a=bj&uid='. $_POST['uid'],2);
return;
}
$cont="用戶:".$_SESSION['account']."通知您請盡快解決編號為".$_POST['uid']."的日志錯誤信息?。?!";
$statusStr=array(
"0"=〉"短信發(fā)送成功",
"-1"=〉"參數(shù)不全",
"-2"=〉"服務(wù)器空間不支持,請確認(rèn)支持curl或者fsocket,聯(lián)系您的空間商解決或者更換空間!",
);
$smsapi="http://api.smsbao.com/";//短信網(wǎng)關(guān)
$user="account";//短信平臺帳號
$pass=md5("password");//短信平臺密碼
$content=$cont;//要發(fā)送的短信內(nèi)容
//$phone=$_POST["phone"];//要發(fā)送短信的手機(jī)號碼
$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);
}
?〉
本文設(shè)計(jì)開發(fā)的校園網(wǎng)監(jiān)測預(yù)警平臺,可以實(shí)現(xiàn)從日志收集、日志分析再到aCL自動部署,并能夠及時(shí)向管理員及時(shí)發(fā)出預(yù)警信息。平臺可以減輕校園網(wǎng)絡(luò)管理的工作量,并可以從源頭有效預(yù)防攻擊行為的發(fā)生,增強(qiáng)了網(wǎng)絡(luò)的安全性能;同時(shí)也減少了大量安全設(shè)備的投入,降低了校園網(wǎng)絡(luò)運(yùn)維的成本。
[1]王碰,趙剛,姚興仁.基于Apache日志挖掘的威脅感知系統(tǒng)[J].信息安全與技術(shù),2015,12:45-49.
[2]袁媛.基于日志的計(jì)算機(jī)的網(wǎng)絡(luò)安全控制探討[J].信息化建設(shè),2015,11:110.
[3]段娟,辛陽,馬宇威.基于Web應(yīng)用的安全日志審計(jì)系統(tǒng)研究與設(shè)計(jì)[J].信息網(wǎng)絡(luò)安全,2014,10:70-76.
[4]朱曉亮,陳云芳,陸有為.基于rsyslog系統(tǒng)日志的收集與分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,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
陳榮征,男,山東臨沂人,碩士,講師,研究方向:軟件技術(shù)與高職教育研究。
2015年廣東職業(yè)技術(shù)學(xué)院科研項(xiàng)目,項(xiàng)目編號:K2015108。