眾所周知,防火牆可以透過設定來控制所通過的網路封包,以便於決定何種網路協定或何種埠的封包能夠通過,甚至可設定哪些來源端或目的地端套用這樣的設定。防火牆就是由許多這樣的規則所組成,以增加網路的安全性,而Cisco網路設備也可以提供這樣的功能,本文將示範如何設定Cisco路由器來當作網路防火牆。
設定存取控制清單的技巧
存取控制清單如果設計得好,可以很有效地過濾網路封包,也能夠減少網路中不必要的網路流量。為了讓大家更深刻地體會,以下列出一些設計存取控制清單時的技巧,供各位參考。
先使用文字編輯器寫下存取控制清單內容
在設定或是設計存取控制清單時,要隨時注意的是,必須記得存取控制清單的順序性,這是最重要的。所以,Cisco建議在設定存取控制清單的規則時,最好用一個文字編輯器,先把要設定的規則內容寫在文字編輯器中。
等到全部的規則都設定完之後,重複審查一下所設定的規則內容無誤,再用剪下和貼上的方式設定到Cisco的路由器設備中,如此就可以減少錯誤的發生率。例如,可以先開啟Word或記事本程式,然後在文字編輯軟體中編輯好規則,再Telnet連到遠端Cisco路由器設備一一設定進去。
善用名稱式存取控制清單
如果想重新安排存取控制規則,必須把整個存取控制清單刪除,然後再一一建立新的存取控制規則。但是,如果使用名稱式存取控制規則,則允許刪除單筆的存取控制規則。所以,在考慮到往後維護的成本上,可以把這點也加入考慮。
將標準型存取控制清單放在靠近目的地的地方
由於標準型存取控制清單只能針對來源端的IP位址做設定,而不能針對目的地的IP位址做過濾,因此建議標準型存取控制清單的置放位置最好距離目的地越近越好。
因為把標準型存取控制規則放在來源端附近,則所有來源端所發出的網路封包都會經過這個標準型控制規則的確認動作,這樣一來,就做了太多次不必要的存取規則確認動作,效能會比較差。
事實上,標準型存取控制清單是站在目的地的角度來設計,所以若能放在離目的地比較近的地方,則真正要確認這個存取控制清單時,都是一定要發送給這個目的地的網路封包。
將延伸型存取控制清單放在靠近來源端的地方
延伸型存取控制清單不僅可以針對來源端位址做過濾,還可以針對目的端的位址進行過濾。剛剛提到可以把標準型存取控制清單放在距離目的端位址比較接近的地方,而又因為延伸型存取控制清單能夠針對目的端的位址來過濾,所以可考慮將延伸型存取控制清單放在離來源端較接近的位置。
越容易符合的規則放在存取控制清單的前頭
符合規則的方式,其實也和防火牆類似,一般存取控制清單都會有很多規則,而每一個網路流量也可能符合存取控制清單中一條以上的規則。
但是,在決定使用哪一條規則時,是由第一條規則開始嘗試,一旦找到第一條符合的規則,就直接套用其符合的規則,這就是「First Match」的精神。但是,如果存取控制清單有這樣的規則衝突,則只會增加網路管理人員在管理上的負擔。
由於存取控制清單是屬於「First Match」,所以若要增加存取控制清單的效能,最好把越容易符合的規則,也就是越經常被使用的規則放在存取控制清單的上方,這樣就可以大幅減少要符合規則所需要的時間。
否則,當規則數量大量增加的時候,若沒有考慮存取控制清單規則的順序性,就會讓Cisco路由器設備的效能越來越差,到時候要再整理就太遲了,其管理成本已經相當可怕。
越普遍的規則盡量放在存取控制清單的下方
這點也是考慮到存取控制清單規則的順序性而介紹給各位讀者。筆者舉一個錯誤設定的例子,假設某位網路管理人員把存取控制清單設定成第一條規則是「允許TCP協定所有埠的網路封包」,而第二條規則是「允許TCP協定23埠的網路封包」,在這樣的情況之下,第二條規則根本不可能被採用,因為第一條規則已經包含第二條規則。
就這兩條規則來比較的話,第一條規則是比較普遍的(General),而第二條規則是屬於比較具體的(Specific),為了減少這種情況的發生,建議讓比較具體的規則放在普遍規則的上方。
但是,具體的規則有時候可能會變成比較不容易符合的規則,而不容易符合的規則又最好是放在下方,所以,如何規劃存取控制清單每一條規則的順序性很重要,可以依照不同的使用環境來加以規劃。
結語
這一篇文章以精簡的方式讓讀者在最短的時間內了解Cisco路由器設定存取控制清單,以便達到防火牆的效果,其中包含整個存取控制清單的概念、套用時機、存取控制清單的種類,以及這些種類的詳細設定方式,最後並根據以往的經驗提供一些設定上的小技巧。