1. 程式人生 > >Linux論文基於shell指令碼

Linux論文基於shell指令碼

CSDN下載:https://download.csdn.net/download/eseszb/10503223

Linux下基於shell指令碼的流量監控報警系統設計與實現

摘要隨著雲端計算的到來,相應的大資料和物聯網也隨之興起。然而網路資訊保安的形勢非常嚴峻。現在網路伺服器都是叢集式分佈,很多伺服器集中起來一起進行同一種服務,實現負載均衡,在客戶端看來就像是隻有一個伺服器。叢集可以利用多個計算機進行平行計算從而獲得很高的計算速度,但是如果伺服器被攻擊,將會導致整個伺服器叢集受到影響,甚至有可能導致宕機,導致使用者無法使用提供的服務,造成嚴重的損失。往往造成這種問題的是我們眾所周知的DDoS。當受到DDoS

攻擊時,伺服器流量會驟增為平時的幾十倍,通過流量監控及時報警運維工程師處理,以免造成伺服器大規模宕機。我們通過實時監測網絡卡流量變化,通過郵件引擎實現第一時間報警,及時處理,減少攻擊帶來的危害。

關鍵詞網路管理;資料採集;雲端計算;網路資訊保安;伺服器叢集DDoS

1 引言

對於一個有效的網路安全管理系統來說,功能的實現都或多或少的依賴於流量資訊的獲取。因此網路流量資訊的採集可以說是網路安全管理系統得以實現的核心基石。它的應用可以在一定程度上檢測到入侵攻擊,可以有效地幫助管理人員進行網路效能管理,並利用報警機制協助網管人員採取對應的安全策略與防護措施,從而減少入侵攻擊所造成的損失。

2 系統設計

2.1 設計原則

首先對系統的功能需求進行分析,然後通過用例分析的方式,獲取和分析系統的需求,從而清晰、全面地瞭解了系統的整體需求。之後對系統進行可行性分析,證明經濟、技術上都是可行的,且具有一定的現實意義。

為了方便使用者使用,系統的呈現方式基於瀏覽器來實現。通過使用PHP指令碼語言來實現網頁和Web伺服器更有效的互動,達到更高的服務效率。同時除了要保證實用性、可用性外,安全性更是重要的部分,本系統在安全性方面也有所考慮,有許可權管理、使用者管理、許可權匹配等,確保有許可權的使用者才可以使用。

2.2功能模組劃分

Linux伺服器中集成了各種應用伺服器及程式,包括MySQL伺服器、Apache伺服器、Netfilter框架、CGI程式以及系統的功能模組。

此流量監控報警系統是在Linux下使用shell指令碼實現的,通過郵件報警。現在智慧手機的普及,郵件也能像簡訊即使告警,通知伺服器運維人員。此指令碼包包含主程式、子程式、配置檔案、郵件引擎、輸出日誌等。

3 系統實現

3.1 實現技術

本系統是在Linux作業系統centos7下使用shell指令碼實現郵件引擎是由一個php程式使用Apache和MySQL伺服器,用到了VI編輯器,Netfilter原理是實現系統功能的重要基礎,同時iptablesNetfilte下的一種配置工具,tc主要是流量控制的工具。

(1) Linux:作業系統Linux處在最低層,是免費開源軟體,提供作業系統。供其他元件執行。(2)Apache:伺服器Apache處於次低層,是一個軟體開發中最受歡迎的、開放原始碼的Web 伺服器。據統計,近2/3的網站都會使用Apache作為自己的Web伺服器。3) MySQL:資料庫軟體MySQL是多執行緒、多使用者的SQL資料庫管理系統,提供資料儲存功能。PHP:指令碼語言PHP是一種相對簡單的程式語言,主要功能是用來設計動態網站,多用於伺服器端的應用程式開發。也可以把他形象地比喻成“粘合劑”,將其他元件粘合在一起。

3.2 具體實現

DoS  DenialofService的簡寫就是拒絕服務,而 DDoS DistributedDenialofService的簡寫就是分散式拒絕服務。

DDoS 是利用TCP 三次握手的漏洞進行攻擊的,所以對它們的防禦辦法都是差不多的。DDoS 也是黑客門慣用的手段,讓網絡服務商防不勝防,雖然現在也有很多物理防火牆等安全手段,一個大的網站可能有很多臺主機利用負載均衡技術提供同一個網站的www 服務,但是在大規模的DDoS 攻擊面前依然不堪一擊。分散式拒絕服務攻擊採取的攻擊手段就是分散式的,在攻擊的模式改變了傳統的點對點的攻擊模式,使攻擊方式出現了沒有規律的情況,而且在進行攻擊的時候,通常使用的也是常見的協議和服務,這樣只是從協議和服務的型別上是很難對攻擊進行區分的。在進行攻擊的時候,攻擊資料包都是經過偽裝的,在源IP 地址上也是進行偽造的,這樣就很難對攻擊進行地址的確定,在查詢方面也是很難的。這樣就導致了分散式拒絕服務攻擊在檢驗方法上是很難做到的。

此流量監控報警系統是在Linux下使用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.logtimestamp.lognetwork_traffic.txt

其中bin下是主程式,conf下是配置檔案,mail下是郵件引擎,log下是日誌及需要傳送的郵件內容。此指令碼包中的程式是使用的相對路徑,如果使用該指令碼包請按照以上程式架構對