網路規劃與管理技術第 九章 防火牆規劃與管理 上一頁    下一頁

9-5 封包過濾表 存取控制清單

內容:

9-5-1 ACL 運作模式

(A) 防禦主機與屏蔽路由器

防火牆最普遍的建構是架設封包過濾器,但它過濾的條件應該有許多條件。最簡單的建置是將所需的過濾條件歸納為『存取控制清單』(Access Control List, ACL)Cisco 路由器大多具有此功能,如果管理得妥當,也是一個很理想的防火牆功能。但路由器 ACL 的過濾條件並沒有專屬防火牆那麼強,大多僅能過濾 IP 位址與 TCP/UDP 埠口為主,並無法辨識訊息型號,譬如 TCP SYN ACK 旗標,或 ICMP 訊息等等。雖然利用 ACL 製作的防火牆的功能較低,但是學習防火牆的入門功課,本章就先以 ACL 管理方式,來介紹防火牆的架設方法。

其實,ACL 控制封包進出並非只有路由器,一般伺服主機也大多具有,如果依照 ACL 所安裝的裝置,可區分為:

l   防禦主機:伺服主機具有 ACL 功能,可過濾封包是否可以存取主機內所安裝的伺服器系統。(本章有範例製作)

l   屏蔽路由器路由器具有 ACL 功能,可過濾封包是否允許通過路由器,進入或出去內部網路。(本章有範例製作)

(B) ACL 運作模式

當封包進入路由器時,會依照 ACL 表內過濾條件逐條列出,比對順序如下:

(1) 由上而下依序比對每筆條件,一直到條件符合為止;

(2) 比對中,如符合條件是『允許』(permit) 表示允許該封包通過,並停止往下比對;

(3) 比對中,如符合條件是『禁止』(deny),表示禁止該封包通過,並停止往下比對;

(4) 如果都沒有符合,但最後一筆是 Permit Any,則該封包允許通過;

(5) 如果都沒有符合,但最後一筆是Deny Any,則該封包不允許通過。

9-5-2 ACL 條件與種類

(A) ACL 從嚴或從寬條件敘述

 每一個封包進入或出去都會逐條比對存取控制清單,但以上皆非時,最後一筆條件有兩種處理方式:

(1) 從嚴條件:最後一筆如是 Deny any,表示以上條件都不符合,則拒絕通過。

(2) 從寬條件:最後一筆如是 Permit any,表示以上條件都不符合,則允許通過。

(B) Cisco 路由器 ACL 種類

Cisco 路由器的存取控制清單有三種:

(1) 『標準存取控制清單』( Standard ACL):僅檢視 IP 封包中的來源位址(source address) ,來決定封包是否允許通過,編號由 1~99, 1300~1999

(2) 『延伸式存取清單』(Extended ACL):可比對 IP 封包中的 IP 標頭與上一層(TCPUDP、、)標頭內的多個欄位,屬於比較進階細膩的過濾條件。編號由 100 ~ 1992000 ~ 2699

(3) 『名稱式存取清單』(Named ACL):是屬於前面兩種存取清單,但僅以名稱命名,也許這樣比較能了解該清單目的與功能。

(C) 存取條件的方向性

每筆存取條件都有其方向性:

(1) 『進入』(Inbound):如存取清單被宣告成 Inbound,表示是針對進入裝置(路由器)封包的條件過濾。

(2) 『出去』(Outbound):如存取清單被應用於 Outbound,表示是針對離開裝置(路由器)封包的過濾條件。

9-5-3 ACL 語法

 (A) Standard ACL 語法

每筆 ACL 都有編號,由 1 ~ #,其中 1 ~ 99 保留給 Standard ACL 使用,每一個編號表示可以多筆 ACL 紀錄,宣告語法如下:

# access-list 1~99 deny | permit host IP_address wildmask

譬如,在路由器的 fa0/1 介面哩,產生一個『進入』(in) 封包的過濾條件是:

l   禁止 192.168.1.1 主機通過、

l   允許 192.168.10.1 主機通過、

l   允許 192.168.2.0/24 網路內主機通過、

l   以上皆非時,進入所有封包通過

吾人將條件歸納於 ACL 10 表內,範例如下:

範例

功能

# access-list 10 deny host 192.168.11.1

禁止 192.168.11.1 主機通過

# access-list 10 permit host 192.168.10.1

允許 192.168.10.1 通過

# access-list 10 permit host 192.168.2.0 0.0.0.255

允許 192.168.2.0/24 主機通過

# access-list 10 deny host any

禁止任何主機通過(從嚴條件)

#int fa0/1

#ip access-group 10 in

fa0/1 中啟動 IN 方向的 ACL 10 過濾條件

 (B) Extended ACL 語法

Extended ACL 過濾條件包含有 IP 封包標頭外,還可增加 TCPUDP ICMP 標頭訊息,語法如下:

# access-list 100~199 deny|permit ip|TCP|UDP|ICMP  host

語法順序如下:

n  List-number (100 ~ 199)

n  阻擋或通過 (Deny Permit)

n  封包標頭( IPTCPUDPICMP、、、)

n  標頭內欄位內容,或服務名稱。

範例如下:

範例

功能

# access-list 101 permit ip any any

允許任何主機通過

# access-list 101 deny ip 192.168.3.4 192.168.4.5

阻擋 192.168.3.4 主機存取 192.168.4.5

# access-list 101 deny 192.168.2.0 0.0.0.255

阻擋 192.168.2.0/24 主機

# access-list 101 permit tcp host 192.168.3.4 host 192.168.4.5 eq 80

允許192.168.2.4 存取 192.168.4.5 主機的 tcp 埠口 80

#int fa0/1

#ip access-group 101 out

fa0/1 中啟動 OUT 方向的 ACL 10 過濾條件

 (C) Named ACL語法

Names ACL 過濾條件允許包含 IPTCPUDP ICMP 標頭訊息,取一只 ACL 條件名稱,再加入各種條件敘述,語法如下:

# access-list extended ACL_Name

範例如下:

範例

功能

# ip access-list extended Server-ACL

 

# permit tcp host 192.168.12.50 any eq WWW

允許 192.168.12.50 存取 www

# permit tcp host 192.168.12.51 any eq ftp

允許 192.168.12.51 存取 ftp

# deny ip any any

阻擋所有

#int fa0/1

#ip access-group Server-ACL out

嵌入埠口

 

翻轉工作室:粘添壽

 

網路規劃與管理技術:

 

 

翻轉電子書系列: