眾所周知,防火牆可以透過設定來控制所通過的網路封包,以便於決定何種網路協定或何種埠的封包能夠通過,甚至可設定哪些來源端或目的地端套用這樣的設定。防火牆就是由許多這樣的規則所組成,以增加網路的安全性,而Cisco網路設備也可以提供這樣的功能,本文將示範如何設定Cisco路由器來當作網路防火牆。
為了讓Cisco路由器擁有如防火牆般的功能,最重要的技術就是透過Access Control List來完成。Access Control List簡稱ACL,可稱為存取控制清單。
簡單來說,存取控制清單包含一些規則,每一條規則可用來定義要允許或拒絕特定形式的網路封包,而這裡的特定形式,則包含網路協定的定義、來源端或目的地端的指定,或是埠的指定之類。接下來,說明Cisco路由器的存取控制清單的概念。
存取控制清單簡介
顧名思義,存取控制清單就是一個清單,內容包含一些「規則」,也可以視為條件,用來指導Cisco路由器設備如何辨識某些網路封包,以及對這些網路封包做哪些動作。
例如,網路管理人員想要阻絕某些網路封包,只允許其他特定的網路封包,當網路管理人員在Cisco路由器設備上設定好存取控制清單後,在網路封包通過Cisco路由器設備時,就會依據存取控制清單的內容來決定是否讓這個網路封包經過。
可是,存取控制清單只能過濾「通過」路由器設備的網路封包,而從路由器設備自行產生的網路封包,存取控制清單並不會過濾處理。
在Cisco IOS上,若不設定存取控制清單,也可以使用Cisco網路設備,但如果適當使用的話會更好。基本上,存取控制清單分為以下兩種類型:
1. 標準型存取控制清單
2. 延伸型存取控制清單
標準型存取控制清單與延伸型存取控制清單最大的不同之處,在於標準型會檢查網路封包的來源IP位址,延伸型存取控制清單則檢查網路封包的來源IP位址和目的地IP位址。
除此之外,標準型存取控制清單只能針對所有的網路協定來做處理,不針對特定的網路協定指定允許或拒絕的動作處理。延伸型存取控制清單則可針對特定的網路協定進行處置。由此看來,延伸型的存取控制清單的能力比較強大,可設定的地方比較多。
延伸型存取控制清單內的規則,除了可以指定網路協定外,還可以在協定後面加上埠的編號,以便指明要套用在何種通訊埠的網路封包。一般而言,網路管理人員都會指明比較常見的埠編號(Well Known Ports),底下列出一些常見的埠編號以及所對應的網路服務。
常見的埠編號及其對應的網路服務
根據以上的說明,可以歸納出延伸型存取控制清單多了以下幾種功能:
1. 檢查目的端位址
2. 可以指定網路協定
3. 可以指定埠
Inbound和Outbound概念說明
除了了解延伸型存取控制清單和標準型存取控制清單外,另外一個很重要的概念必須釐清,那就是Inbound和Outbound的概念。先來看下面這個圖:
|
▲Outbound示意圖。 |
假設中間是Cisco路由器設備,左右各接上一個介面連接到不同的網段,只要是從目前這台路由器設備流出去的網路封包都稱為「Outbound」,如同上圖中的箭頭所示。相反地,如果是流向路由器設備方向的網路封包,則為「Inbound」,如下圖所示。
|
▲Inbound示意圖。 |
但是,到底Cisco路由器在什麼時候會去套用這些存取控制清單呢?假設一個Cisco路由器設備沒有設定存取控制清單,當拿到一個網路封包時會做怎樣的處理,其流程如下圖所示。
|
▲未使用存取控制清單的處理流程。 |