孫遒
(黑龍江科技大學信息網絡中心,哈爾濱 150022)
基于嵌入式Linux的控制系統設計與實現
孫遒
(黑龍江科技大學信息網絡中心,哈爾濱 150022)
服務器的網絡流量監測已成為網絡安全領域的一個重要研究問題,結合當前網絡流量監測技術的發展趨勢和實際需求,提出嵌入式Linux架構的網絡流量監測方案和識別拒絕服務攻擊的網絡異常檢測功能SYN-Flood算法,設計基于嵌入式Linux防火墻Netfilter框架的網絡控制系統。結果表明:該系統能夠實現統計每個地址的字節流量,可以按照設定策略進行限制訪問,同時網絡流量監測系統具備識別異常流量信息的功能,測試并驗證其可行性和可靠性。
控制系統;Netfilter;流量查詢;流量統計
隨著全球信息化的飛速發展,Internet己經在全球普及,網絡安全問題突顯。捕獲網絡工作時的數據,利用其數據特征實時監控網絡運行狀態,分析網絡中數據的異常,通過分析網絡的性能,以及網絡各層的的安全性,提高對整個網絡的管理。保護網絡計算機安全的措施之一是防火墻技術,以限制網絡通信,阻止信息資源的非法訪問,以及避免保密信息從受保護網絡非法輸出[1]。眾多操作系統中,Linux以期良好的穩定性、源代碼的開放性等優點,筆者基于Linux 2.4內核中集成的iptables最新解決方案,其根據按照用戶的需求搭建訪問控制系統,靈活地掌握上網用戶的行為,其對在Linux平臺下進行網絡控制具有有重要的意義。
傳統防火墻相比智能防火墻存在諸多問題,用戶往往難以理解。傳統的防火墻保護網絡是一個簡單機制,其只能按代碼機械地執行網絡安全策略。而智能防火墻并非簡單地執行過濾非安全信息的策略,其通過對用戶網上行為的識別,可以根據時間、地點與行為進行執行網絡訪問控制,其增強網絡防火墻安全性同時,更加智能的保護網絡。目前,最新一代的智能防火墻通過對數據的識別,應用智能算法實現不同需求的網絡訪問控制,避免了傳統防火墻因匹配檢查所需要海量數據的計算,智能防火墻能夠高效地檢測網絡行為的特征值,進而方便地執行訪問控制[2]。防火墻保護的網絡機制有兩種:一是通過攔阻網絡傳輸流通行;二是允許網絡數據傳輸流通過。目前,有的防火墻側重于阻傳輸流的通行,而其他的則側重允許網絡數據傳輸流通過。智能防火墻具有如下功能:(1)保護易受攻擊的網絡服務;(2)控制內網和外網網絡系統之間的訪問;(3)集中監控網絡的安全性,提高工作效率,減少管理成本;(4)內網數據的保密性和私有性得到提高;(5)監控網絡運行狀態,以上功能可以為安全規劃和網絡維護提供技術保障。
1.1 Netfilter防火墻工作原理
自從1991年Linux操作系統誕生以來,二十多年間它之所以深受用戶的喜愛,不僅因為Linux是一套免費使用的操作系統,還因為Linux繼承了Unix設計思想,是一個性能穩定的多用戶網絡操作系統。Linux從2.4開始,Linux內核通過引入Netfilter包過濾框架,其在網絡系統上實現了數據包過濾、狀態檢測、網絡地址轉換,以及數據包標記等,由于其設計的開放性,一般具有有內核開發經驗的網絡程序員,通過利用其提供開發的接口,在內核的數據鏈路層與網絡層進行設計,實現用戶所需要的功能模塊[2-4]。
1.2 用戶空間工具iptables
iptables作為Netfilter的用戶配置工具,最大的優勢是不需要重新編譯即可實現網絡系統的擴展,但在使用該命令以前,必須通過加載Netfilter內核模塊方可實現。iptables命令可以完成封包過濾、封包重定向和網絡地址轉換(NAT)及擴展的表模塊進行處理,每個表又包括自己的鏈,每個鏈又包含數條過濾規則,而每個規則由大量的分類(iptables match)和一個連接動作(iptables target)構成[5]。
2.1 流量控制模塊
隨著計算機網絡的迅猛發展,路由器簡單丟棄數據包來處理擁塞的粗放方式也不在適用。網絡流量監測系統的總體功能分為流量統計和異常檢測功能,系統架構如圖1所示。

圖1 系統架構
網絡流量監測系統使用的開發板,其硬件結構組成如圖2所示。網絡流量監測系統以Linux操作系統為主,其他如核心包捕獲軟件Libpcap,文件系統,以及嵌入式數據SQLite的移植等組成。其中,Linux操作系統移植由文件系統和U-Boot的移植等構成,為了完成日志審計可以利用SQLite的移植功能。

圖2 硬件結構
Linux內核網絡協議棧實現對服務質量的支持模塊是從2.2.x開始的,這個功能模塊簡稱是TC模塊。圖3是Linux在沒有TC模塊時發送數據包的流程,可以清晰可見每個數據包的發送都必須經過鏈路層,通過判斷網絡是否需要向AF_PACKET協議支持傳遞數據包內容的指令,進而判斷是否直接調用網卡驅動將數據包發出去[6-9]。為了支持QoS,開發人員在發送數據包的代碼中加入了TC模塊。從而可以對數據包進行限速。為了與原代碼作一區分,讓用戶可以選擇是否使用TC,內核開發者在兩個紅色圓圈之間添加了TC模塊,如圖3所示。

圖3 無TC模塊時的數據發送
2.2 流量控制原理
Linux內核通過內置一個TC(Traffic Control)模塊,實現流量整形和流量限速。TC模塊工作原理如圖4所示,具體由接收包從輸入接口(Input Interface)、流量限制(Ingress Policing)輸入多路分配器(Input De-Multi-plexing)、轉發塊(Forwarding Block),以及傳送到輸出接口(Output Interface)等組成[10-12],進而提供網絡流量控制服務的一系列動作。
網絡流量統計功能主要分為流量信息統計,流量上傳和下載統計,其中網絡異常檢測功能SYN-Flood攻擊檢測模型過程為:
假設T1,T2,…,Tk表示時間間隔相同的時間段,同時設定時間段的時間間隔為Δt,并用x(n)作為檢測特征:

式中:ΔCTCP(n)——第n個Δt時間內TCP連接的增加數。

h——檢驗閾值。
式(2)中,若f(y(n))=1,表示檢測到異常;f(y(n))=0表示流量在設定的閾值內。
系統組成主要由環境配置、功能模塊兩部分組成。該系統選取機房作為開發環境,其網絡結構如圖5所示。所有網絡數據的讀取都要經過Linux系統。首先以Linux服務器為主機構建局域網,并且在主機上配置Apache服務器和SQL Server數據庫。
3.1 系統模塊
該系統按功能劃分主要由流量統計模塊、流量查詢模塊、用戶連接模塊、網絡訪問控制模塊組成。流量統計模塊主要是統計總流入和總流出流量,還有像SMTP、FTP、POP、WWW服務的一些應用流量。主要依據Netfilter自定義鏈來實現對數據包的流量統計。
流量查詢模塊可以實現每日查詢和每月查詢,實現過程都是先獲取客戶端的IP地址,得到用戶名;然后在日歷上輸入要查詢的時間;如果是教師,還要輸入要查詢的用戶名,系統按照范圍條件給出日流量表單或月流量表單,再將結果返回給客戶端的瀏覽器上。用戶網絡訪問控制模塊可以實現教師在Web頁面設置規則信息,提交將其存入到數據庫的用戶表中。當學生登錄系統時,從用戶表中讀取相關權限信息,系統根據這些信息添加相應的網絡規則到Netfilter框架中去。用戶網絡連接模塊是由學生輸入用戶名和密碼,然后來完成身份認證、網絡規則配置、斷開網絡。在學生提交用戶名和密碼時,系統獲得該用戶的IP地址,并將地址添加到用戶表中,從而實現了針對用戶名進行網絡訪問的控制,即使學生修改了IP地址,針對用戶的網絡訪問控制也不會改變。

圖5 網絡結構
3.2 系統的測試

圖4 Linux流量控制的基本原理
選擇60臺計算機進行測試,任意選取五臺計算機為測試機,具體配置情況如表1所示。計算機Server001 和C8011、C8012、C8013、C8014組成測試網絡,Server001為服務器,C8011、C8012、C8013為客戶機,C8014用于通過IE瀏覽器對系統進行Web頁面的設置。Out8015為接入Internet上的一臺客戶機,用于查看客戶機的IP信息。

表1 實驗設備的配置
根據配置,客戶機登錄系統后經服務器可以訪問外網,不登錄系統無法訪問外網。通過C8014客戶機進行用戶網絡訪問權限和網絡速率的配置,如圖6所示,使stud2014299可以無限制上網,stud2014300不能上網、stud2014301不能登錄QQ、stud2014302不能訪問網頁、stud2014303不能訪問FTP和stud2014304不能用P2P軟件進行下載上傳。通過C8014客戶機進行學生網絡速率設置,使學生“stud2014299”的訪問網絡的速率為10 kB。根據配置,統計各協議端口對應流量,系統可以很好地實現對學生進行日流量查詢統和月流量查詢統計,如圖7所示。
通過嵌入式Linux平臺控制系統的設計,以機房為測試平臺,客戶端能夠按照用戶的要求進行相應的網絡服務,同時實現流量查詢、流量統計、用戶連網斷網功能,效果良好。同時,訪問控制方法對相關的研究具有一定的參考價值。

圖6 用戶網絡配置界面

圖7 用戶流量統計
參考文獻:
[1]周華平.Linux下防火墻系統的研究[J].微計算機信息,2010,26(3):130-132.
[2]李俊.基于Netfilter防火墻的研究與實現[J].西藏大學學報,2010,25(2):66-69.
[3]趙杉.一種安全聯動防火墻系統的設計和研究[D].成都:四川大學,2006.
[4]李琪.基于UTM的虛擬系統及其CPU保護機制的設計與實現[D].北京:北京郵電大學,2010.
[5]王之瓊.基于Linux的流量統計及網絡訪問控制系統的設計與實現[D].沈陽:東北大學,2008.
[6]王宇,張寧.網絡監聽器原理分析與實現[J].計算機應用研究,2003.20(7):142-145.
[7]宋書民.Linux網關流量控制管理應用[D].長春:吉林大學,2005.
[8]袁春陽,柴喬林,柳忠光.網絡入侵檢測系統中網絡實時監聽程序的設計與實現[J].計算機工程,2002.10:150-151.
[9]劉嘉勇,方勇侯,瀟沐,等.E-mail監聽系統的設計與實現[J].四川大學學報,2003.21(6):134-137.
[10]王珊,陳松,周明天.網絡流量分析系統的設計與實現[J].計算機工程與應用,2009,45(10):86-88.
[11]葉煒.基于動態備份虛擬機的高可靠網絡系統[D].上海:上海交通大學,2013.
[12]胡煦杰.基于網絡服務質量的Linux頻寬控制設計與實現[D].蘇州:蘇州大學,2013.
Design and Implementation of Control System Based on Linux
SUN Qiu
(Information Network Center,Heilongjiang University of Science&Technology,Harbin 150022)
Network traffic monitoring has become an important research issue in the field of network security,combined with the current network traffic monitoring technology development trends and practical needs,this paper proposes a network traffic monitoring scheme based on embedded Linux architecture and SYN-Flood algorithm for denial of service attack and network anomaly detection.A network control system based on embedded Linux firewall Netfilter framework is designed.The results show that the system can realize the statistics of byte traffic per address and restrict access by setting policy.At the same time,network traffic monitoring system has the function of identifying abnormal traffic information,testing and verifying its feasibility and reliability.
Control System;Netfilter;Traffic Query;Traffic Statistics
1007-1423(2017)10-0068-05
10.3969/j.issn.1007-1423.2017.10.019
孫遒(1971-),女,吉林人,本科,高級工程師,研究方向為計算機科學與技術
2017-12-15
2017-03-29
黑龍江省教育科學規劃重點課題“互聯網+”背景下教育教學方式改革研究(No.GJB1215066)