所屬欄目:計算機應用論文 發布日期:2015-06-22 15:21 熱度:
Linux是一個操作系統,區別于我們平時所用的計算機系統,很多做開發和安全的人員會在linux上運行一些東西。linux也是一個強大的系統,本文就圍繞Linux 服務器下流量監控報警系統shell 腳本實現展開了一些論述,文章是一篇通信技術論文發表范文。
摘要:隨著云計算的到來,相應的大數據和物聯網也隨之興起。然而網絡信息安全的形勢非常嚴峻。現在網絡服務器都是集群式分布,很多服務器集中起來一起進行同一種服務,實現負載均衡,在客戶端看來就像是只有一個服務器。集群可以利用多個計算機進行并行計算從而獲得很高的計算速度,但是如果服務器被攻擊,將會導致整個服務器集群受到影響,甚至有可能導致宕機,導致用戶無法使用提供的服務,造成嚴重的損失。14年的qq郵箱大規模的癱瘓就是非常的例子。往往造成這種問題的是我們眾所周知的DDoS。當受到DDoS攻擊時,服務器流量會驟增為平時的幾十倍,通過流量監控及時報警運維工程師處理,以免造成服務器大規模宕機。我們通過實時監測網卡流量變化,通過郵件引擎實現第一時間報警,及時處理,減少攻擊帶來的危害。
關鍵詞:云計算,網絡信息安全,服務器集群,負載均衡,DDoS
DoS是Denial of Service的簡寫就是拒絕服務,而DDoS就是Distributed Denial of Service的簡寫就是分布式拒絕服務。DDoS是利用TCP三次握手的漏洞進行攻擊的,所以對它們的防御辦法都是差不多的。DDoS也是黑客門慣用的手段,讓網絡服務商防不勝防,雖然現在也有很多物理防火墻等安全手段,一個大的網站可能有很多臺主機利用負載均衡技術提供同一個網站的www服務,但是在大規模的DDoS攻擊面前依然不堪一擊。
分布式拒絕服務攻擊采取的攻擊手段就是分布式的,在攻擊的模式改變了傳統的點對點的攻擊模式,使攻擊方式出現了沒有規律的情況,而且在進行攻擊的時候,通常使用的也是常見的協議和服務,這樣只是從協議和服務的類型上是很難對攻擊進行區分的。在進行攻擊的時候,攻擊數據包都是經過偽裝的,在源IP 地址上也是進行偽造的,這樣就很難對攻擊進行地址的確定,在查找方面也是很難的。這樣就導致了分布式拒絕服務攻擊在檢驗方法上是很難做到的。
此流量監控報警系統是在centos 7 版本下使用shell腳本撰寫的,通過郵件報警。現在智能手機的普及,郵件也能像短信即使告警,通知服務器運維人員。此腳本包包含主程序、子程序、配置文件、郵件引擎、輸出日志等。
主程序:作為整個腳本的入口,是整個系統的命脈。
配置文件:是一個控制中心,用它來開關各個子程序,指定各個相關聯的日志文件。
子程序:這個才是真正的監控腳本,用來監控各個指標。
郵件引擎:是原本是由一個php程序來實現,它可以定義發郵件的服務器、發郵件人以及收郵件人。但是如果發表在本論文里,會導致篇幅過長,所以調用了系統自帶的mailx郵件引擎。
輸出日志:整個監控系統要有日志輸出。
我們的機器角色多種多樣,但是所有機器上都要部署同樣的監控系統,也就說所有機器不管什么角色,整個程序框架都是一致的,不同的地方在于根據不同的角色,定制不同的配置文件。
程序架構:
monitor/bin/main.sh
monitor/conf/mon.conf
monitor/mail/mail.sh
monitor/log/ main.log、main_err.log、mail.log、mail_err.log、number.log、timestamp.log、network_traffic.txt
其中bin下是主程序,conf下是配置文件,mail下是郵件引擎,log下是日志及需要發送的郵件內容。此腳本包中的程序是使用的相對路徑,如果使用該腳本包請按照以上程序架構對應的路徑。
1)main.sh
#! /bin/bash
#Written by Liuzhiyuan.
export send=1 # #報警控制開關##
export ip=`/sbin/ifconfig |grep -A1 'enp134s0' |grep 'inet' |awk '{print $2}'`
dir=`pwd`
last_dir=`echo $dir|awk -F'/' '{print $NF}'`
if [ $last_dir == "bin" ]; then
conf_file="../conf/mon.conf"
else
echo "you shoud cd bin dir"
exit
fi
exec 1>>../log/main.log 2>>../log/main_err.log
while [ 0 ]; do
sleep 60 ##一分鐘控制時間,一分鐘檢測一次##
if grep -q 'to_mon_traffic=1' $conf_file; then
echo $ip > ../log/network_traffic.txt
/usr/bin/sar -n DEV 1 10 >> ../log/network_traffic.txt
##當前10秒瞬時流量及10秒平均流量,以防單一秒內瞬時流量驟增,導致誤判##
traffic_value=`tail -n3 ../log/network_traffic.txt |grep enp134s0 |awk '{print $5}'` ##截取流量平均值##
traffic_value=` echo $traffic_value |awk -F'.' '{print $1}'` echo $traffic_value
tcpdump -nn -i enp134s0 -c 10 >> ../log/network_traffic.txt ##抓取攻擊ip#
fi
if [ $traffic_value > 1 ] && [ $send == 1 ]; then
/bin/bash ../mail/mail.sh $ip $traffic_value ../log/network_traffic.txt
fi
done
2)mail.sh
郵件控制腳本,原本是由php實現的,但是由于篇幅過長,改為調用系統自帶的mailx來實現,如果系統內未內置,請使用yum install mailx-12.5-12.el7_0.x86_64 安裝。使用maix之前需要先配置/etc/mail.rc 文件,在該文件最下面加入以下內容:
set from=*******@qq.com smtp=smtp.qq.com
set smtp-auth-user=##qq號## smtp-auth-password=##qq密碼##
set smtp-auth=login
如果測試不能發送郵件,請在郵箱設置里打開POP3/SMTP服務。
由于服務器是集群式分布,一個運維人員要管理上百臺服務器。如果服務器集群受到DDoS攻擊,不會只是單一的一臺服務器會報警,而是上百臺服務器同時報警。DDoS攻擊一般會持續很長時間,
如果每分鐘有上百臺機器發郵件到自己的郵箱會是怎樣一個折磨人的事情。如果這里使用短信作為報警手段,那么也會給企業帶來不必要的損失,所以這里實現了郵件的收斂。如果遭受到攻擊且距離上次受到攻擊的時間有一個小時以上,那么會立即發送郵件。如果受到攻擊且距離上次被攻擊的時間在一個小時以內,就通過計數累計10分鐘發一次郵件。初次使用本腳本包時,需要預先在number.log 和timestamp.log 置0.
#! /bin/bash
#Written by Liuzhiyuan.
exec 1>>../log/mail.log 2>>../log/mail_err.log
t_s1=`date +%s`
t_s2=`tail -1 ../log/timestamp.log`
v=$[$t_s1-$t_s2]
if [ $v -gt 3600 ];then
/usr/bin/mailx -s "$1 traffic_rate $2" 351843010@qq.com < $3
echo `date +%s` > ../log/timestamp.log
else
nu=`cat ../log/number.log`
nu=$[$nu+1]
echo $nu>../log/number.log
if [ $nu -ge 10 ];then
/usr/bin/mailx -s " $1 traffic_rate $2 trouble continue 10 min" 351843010@qq.com < $3
echo "0" > ../log/number.log
fi
fi
3)mon.conf
為了此腳本的可擴展性,在此配置文件獨立出來,是為了更好的控制各種監控程序。
## to config the options if to monitor
to_mon_php_socket=0
## network traffic
to_mon_traffic=1
最后,log里的文件需要按照要求提前創建。把mian.sh 加入開機啟動項,也可以直接手動運行,sh main.sh & 以后臺這種方式運行。
通過shell腳本進行實時進行網卡流量監控,并通過shell腳本控制郵件的發送及發送頻率,能夠及時報告服務器的負載情況,這對網絡運維至關重要。
參考文獻:
[1] 李世明.跟阿銘學Linux[M].北京;人民郵電出版社,2014.
通信技術論文發表期刊推薦《數字通信》開辦已歷時六年之久。在這六年中我們再不斷的努力,不斷的超越。以最前沿的時尚數碼資訊,最專業的評測內容在數碼雜志業穩局第一寶座。同時也擁有了大批讀者與客戶并得到百分好評!
文章標題:通信技術論文發表流量監控報警系統shell 腳本實現
轉載請注明來自:http://www.optiwork.cn/fblw/dianxin/yingyong/27168.html
攝影藝術領域AHCI期刊推薦《Phot...關注:105
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:120
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
copyright © www.optiwork.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3