王偉


關鍵詞:訪問控制列表;網絡實驗室;安全性;網絡管理
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2023)10-0090-03
隨著社會發展,企業對高技能人才培養的廣泛需求日趨顯現,計算機網絡實驗室對全校學生開放程度也逐漸頻繁,隨之出現的便是網絡管理問題,不同的課程對網絡的環境要求不一樣,需對網絡的流量或時段加以控制。為使得網絡實訓室高效利用,為教學提供一個良好的實驗環境,需要網絡上配置相關的訪問控制策略,以達到計算機網絡實驗室的安全高效利用。
1 ACL 的概念
ACL全稱為訪問控制列表(Access Control List),使用包過濾技術,在網絡協議包頭中根據源地址、目的地址、協議口、端口號等信息,根據預先定義好的rule對包進行過濾,從而達到對網絡流量控制的目的。ACL可以根據TCPUDP協議報頭部分字段精確控制數據流量,還可以外加時間并可依據協議類型信息精確控制網絡行為[1]。
到達訪問控制接口的所有數據包都會自動匹配ACL中的若干準則,如第一條規則拒絕的話直接丟棄數據包,若允許的話則會通過控制接口前往目的接口;如第一條規則沒有匹配到的話,則會繼續匹配下一條直到匹配上為止,如到最末條還沒匹配上,則會自動匹配ACL隱含語句直接拒絕丟棄數據包。
對于網絡設備來講,入棧接口接收到數據包后則會檢查入棧處有無ACL規則,如無則把數據包直接交給路由表進行后續處理,如有則檢查ACL規則,檢查規則按照數據包的檢查過程進行。數據包到達出棧接口時同樣也要檢查出口處是否有ACL規則,如無則直接轉發出數據,如有還是按照數據包的檢查過程進行匹配。
2 ACL 在計算機網絡實驗室中的作用
1)抓取實驗室內的所有需要的流量,精準控制實訓室內的網絡流量以及上網行為,必須對實驗室內產生的流量進行抓取。
TCP/IP分層模型分為網絡接口層、網際層、傳輸層和應用層,應用層產生的數據經過封裝到傳輸層進行傳輸,建立端到端的連接,端到端之間的連接主要為兩臺主機上的應用程序提供端到端的通信。在TCP/IP協議中,有兩種對應的傳輸協議:TCP(傳輸控制協議)和UDP(用戶數據報協議)。TCP為兩臺主機提供高可靠性的數據通信。它所做的工作包括把應用程序交給它的數據分成合適的小塊交給下面的網絡層,確認接收到的分組,設置發送后確認分組的超時時鐘等。由于運輸層提供了高可靠性的端到端的通信,因此應用層可以忽略所有這些細節。另外,UDP則為應用層提供一種非常簡單的服務。它只是把稱作數據報的分組從一臺主機發送到另一臺主機,但并不保證該數據報能到達另一端。任何必需的可靠性必須由應用層來提供。這兩種運輸層協議分別在不同的應用程序中有不同的用途。
TCP應用場景主要為對網絡通信質量有要求的時候,比如整個數據要準確無誤地傳遞給對方,這往往用于一些要求可靠的應用,如HTTP、HTTPS、FTP等傳輸文件的協議。UDP應用場景主要為對效率要求相對較高、對準確性要求相對較低的場景,比如即時通信;速度要求高,但是出現偶爾斷續不是太大問題,如網絡電話、廣播通信等。
不管是TCP還是UDP,每種服務背后都會對應到傳輸層的一個具體端口上去,端口是保持主機端到端傳輸的連接,ACL抓取流量主要是抓取端口號有效分析哪些是正常學習的流量,哪些是網絡游戲的流量,哪些是娛樂的流量。
2)影響網絡訪問質量的因素有很多,比如在單位時間內能傳輸的數據量、一個報文從一個網絡的一端傳送到另一端所需要的時間、一個數據位從發送方到達接收方所需要的時間等。實時應用通信質量都比較關注時延大小,如語音、視頻等。以語音傳輸為例,時延是指從說話者開始說話到對方聽到所說內容的時間。若時延太大,會引起通話聲音不清晰、不連貫或破碎。服務質量QoS(Quality of Service)用于評估服務方滿足客戶服務需求的能力。通過配置QoS,對企業的網絡流量進行調控,避免并管理網絡擁塞,減少報文的丟失率,同時也可以為企業用戶提供專用帶寬或者為不同的業務(語音、視頻、數據等)提供差分服務[2]。
ACL對上述通信延時、帶寬要求比較高的流量做標記,某些流量占用的帶寬非常大,如果不加以控制會導致整個實驗室網絡中斷,或者會導致流量不平滑,突發丟棄的包特別多,為了避免這種情況發生,需要對抓取的大額流量進行QOS服務質量,QOS之前必須要對所有抓取的流量進行TAG標記。
3)控制網絡行為,可以控制學生可以訪問的資源和不可以訪問的資源,能用的軟件和不能使用的軟件。上網行為管理包括:內網上網監控管理進行網頁瀏覽記錄、論壇發帖記錄、郵件記錄、文件上傳記錄、聊天監視(含微信、QQ、釘釘等)、聊天工具文件監視、聊天工具圖片監視、報警日志。針對某些應用服務是違反工作學習規定的采取ACL匹配端口服務阻塞此類流量。
4)對病毒的防護。在計算機網絡實驗室中,學生會大量使用移動磁盤或者網絡下載很多學習工具,從而導致病毒入侵風險增大。對于病毒而言,它也是一種應用服務,只不過是一種特殊的應用服務,更是一種特殊的具有破壞性的程序,既然是服務就會建立端到端的連接,就會使用TCP或UDP的端口號。ACL可以精準匹配傳輸層的端口號,從而隔斷病毒破壞的服務功能[3]。
3 網絡實驗室流量分析
病毒流量是實訓室主要的占寬流量,網絡實訓室常見病毒有帕蟲、灰鴿子、網絡游戲木馬、震蕩波等,病毒程序攻擊電腦需要建設相應連接,這種連接通過端口號進行,端口是我們訪問主機的某一進程標識號,它工作在網絡第四層,在IP地址尋址之后每個應用服務都會對應到不同的端口號,不同的端口號標識了不同的應用服務進程,因此端口號成為了病毒的營養根基。阻塞服務進程對應的端口號則可以阻塞端口對應的相關服務,常見的病毒端口號有5800、5900、445、6667、5554等。
實訓室除了病毒流量外還存在大量游戲聊天工具流量,這些流量占用了大量的帶寬資源,所占比例大約為60%,從而導致正常的實驗流量得不到質量保證,同時也不能發揮實訓室的最大效能。實訓室第三大流量就是音視頻流量。目前視頻工具大都采用了P2P形式,P2P工作原理是一臺PC在網絡下載資源時也是一臺共享的資源服務器,當這臺PC在下載A數據時也在共享著已經下載好的A數據,也就是邊下載邊共享,當網絡上另一臺PC也在下載同樣的A數據時,除了訪問本身的數據共享服務器外還會從這臺PC上下載A數據,如果網絡上有很多的終端節點在下載數據,那么這個流量大小可想而知。P2P過大的流量會增加數據包穿越網絡所用時間,從而導致數據包穿越網絡時所用時間忽高忽低,部分數據包可能丟失,引起網絡的延遲、抖動、丟包率高,從而影響網絡的QOS質量。雖然P2P的流量使得網絡訪問速度很快,但是這種流量占用帶寬,而且是搶占式的占用,在實訓室帶寬資源不是很寬裕的情況下很容易導致網絡資源崩潰[4]。
4 ACL 的相關技術
ACL技術分為三種:標準的訪問控制列表、擴展的訪問控制列表和命名的訪問控制列表。ACL編號1-99為標準訪問列表,只能控制源地址,無法控制目標地址、端口或協議,編號100以上為擴展訪問控制列表,除了能夠精準控制源地址外還能夠根據源地址、目標地址、端口號、協議等要素進行流量詳細控制。但是值得注意的是,ACL語句隱藏著一條拒絕所有流量的規則[5]。
ACL可以外掛時間要素,根據不同的時間節點配置不同的網絡訪問行為,提供基于時間的附加控制特性,定義在什么時間允許或拒絕數據包。通過基于時間的定時ACL可以很方便地限制哪些用戶的哪些數據包在規定的時間內是轉發還是丟棄行為。
5 流量控制策略
5.1 限制實驗室聊天工具以及P2P應用軟件
實驗室不允許使用QQ聊天等應用軟件,同時為了保障實驗室網絡帶寬正常和網絡流量平滑,防止網絡出現較大延遲、抖動、丟包現象發生,需要對P2P等網絡應用工具進行網絡行為管控限制。針對此問題,在網絡設備上配置訪問控制列表即可控制實驗室所有機器的網絡訪問行為。常見的聊天應用服務有騰訊聊天工具,采用了UDP 協議,端口號為8000 和8001;雅虎聊天工具采用了TCP協議,端口號為5050、電驢P2P采用了TCP協議,端口號對應為4242。
首先針對網絡實驗室的流量進行ACL語句規則定義,具體如下:
access-list 100 deny udp any any eq 8000
access-list 100 deny udp any any eq 8001
access-list 100 deny tcp any any eq 5050
access-list 100 deny tcp any any eq 4242
permit ip any any 其次將定義好的訪問控制列表規則應用到接口下
int fa0/0
ip access-group 100 in
5.2 控制實驗室開放時間
控制實驗室開放時間是指在規定的時間內做對應的事情,正常實訓時間內不能聊天、看視頻或者聽音頻等,課間時間則可以進行適當的網絡瀏覽。這些要求在定義訪問控制列表規則的同時也要外掛時間要素,針對特定的時間定義特定的網絡行為。
首先要定義時間要素time-range,設定好準確允許訪問實訓室的時間范圍,規則如下:
time-range definetime
absolute start 08:00 1 May 2020 end 08:00 1?Dec 2020
其次,通過sniffer研究出實驗室里常用的視頻流量大都為騰訊視頻流量,QQLive 采用TCP 方式通信,TCP 和UDP 默認通信端口為8000,根據上述流量定義對應ACL規則。
access-list 100 deny tcp any any eq 8000
permit ip any any
最后,當time-range設定好之后需要外掛到擴展訪問控制列表上面去,最后在interface接口上應用此策略。
access-list 101 permit ip any any time-range de?finetime
ip access-group 101 inbound/outbound
5.3 控制實驗室病毒碼擴散
病毒碼的端口號不是固定不變的,病毒為了達到持久的攻擊目的,通常會不定期修改自己的應用端口號,因此訪問控制列表需要根據病毒的端口變化情況采取適時的阻斷措施。除此之外,盡量把網絡不常用的服務端口全部關閉,這樣,病毒無論怎么變異,沒有了端口號就無法發揮作用。阻斷病毒碼的規則如下:
rule 0 deny tcp source-port eq 5800
rule 1 deny tcp source-port eq 5900
rule 2 deny tcp source-port eq 445
rule 3 deny tcp source-port eq 6667
rule 4 deny tcp source-port eq 5554
6 實驗結果
實驗之前,實訓室病毒防護主要依靠殺毒軟件,效果不明顯,部分學生集訓期間玩網游看視頻現象比較突出,P2P下載資源呈現明顯,帶寬利用率高,P2P 影響了正常網絡視頻在線學習,卡頓現象非常明顯,只能靠人為管理此現象,網絡流量呈現不平滑態勢,網絡服務質量不高。實驗之后,大部分病毒明顯失效,網絡游戲聊天工具在規定時間內已經無法打開,無大流量的音視頻流量,整個實訓室網絡流向呈現平滑態勢,網絡服務質量得到明顯提升。