目錄

簡介

必要條件

需求

採用元件

慣例

背景資訊

設定

網路圖表

組態

驗證

疑難排解

相關資訊

簡介

本檔案將提供在Cisco IOS中使用Cisco IOS®防火牆檢查傳入簡易郵件傳送通訊協定(SMTP)或延伸簡易郵件傳送通訊協定(ESMTP)連線的組態範例。此類檢查類似於Cisco PIX 500系列安全裝置中的MailGuard功能。

必要條件

需求

本文件沒有特定需求。

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- Cisco IOS軟體版本12.3(4)T或更高版本

- 思科3640路由器

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

慣例

請參閱思科技術提示慣例以瞭解更多有關文件慣例的資訊。

背景資訊

SMTP檢查會導致檢查SMTP命令是否存在非法命令。帶有非法命令的資料包被修改為「xxxx」模式並轉發到伺服器。此過程導致伺服器傳送否定答覆，這會強制客戶端發出有效的命令。非法的SMTP命令是除以下命令以外的任何命令：

- 資料

- HELO

- 說明

- 郵件

- NOOP

- 退出

- RCPT

- RSET

- SAML

- 傳送

- SOML

- VRFY

ESMTP檢查的工作方式與SMTP檢查相同。帶有非法命令的資料包被修改為「xxxx」模式並轉發到伺服器，從而觸發負回覆。非法的ESMTP命令是除以下命令以外的任何命令：

- 身份驗證

- 資料

- EHLO

- ETRN

- HELO

- 說明

- 說明

- 郵件

- NOOP

- 退出

- RCPT

- RSET

- SAML

- 傳送

- SOML

- VRFY

ESMTP檢查還通過更深入的命令檢查來檢查這些擴展：

- 郵件大小宣告(SIZE)

- 遠端佇列處理宣告(ETRN)

- 二進位MIME(BINARYMIME)

- 指令流水線

- 驗證

- 傳送狀態通知(DSN)

- 增強狀態代碼(ENHANCEDSTATUSCODE)

- 8位MIME傳輸(8BITMIME)

附註：  無法同時配置SMTP和ESMTP檢測。嘗試配置這兩種模式會導致出現錯誤消息。

注意：在Cisco IOS軟體版本12.3(4)T和更新版本中，Cisco IOS防火牆不再建立動態存取清單專案來允許流量。Cisco IOS防火牆現在維護一個會話狀態表，以控制檢查連線的安全。

設定

本節提供用於設定本文件中所述功能的資訊。

註：使用Command Lookup Tool(僅供已註冊客戶使用)可獲取本節中使用的命令的詳細資訊。

網路圖表

本檔案會使用以下網路設定：

組態

本檔案會使用以下設定：

3640路由器

3640-123#show running-config

Building configuration...

Current configuration : 1432 bytes

!

version 12.3

service config

service timestamps debug datetime msec

service timestamps log datetime msec

service password-encryption

!

hostname 3640-123

!

boot-start-marker

boot-end-marker

!

enable password 7 02050D4808095E731F

!

no aaa new-model

!

resource policy

!

voice-card 3

!

ip subnet-zero

!

!

ip cef

no ip dhcp use vrf connected

!

!

!--- This is the Cisco IOS Firewall configuration.

!--- IN-OUT is the inspection rule for traffic that flows !--- from the inside interface of the router to the outside interface.

ip inspect name IN-OUT tcp

ip inspect name IN-OUT udp

ip inspect name IN-OUT ftp

ip inspect name IN-OUT http

ip inspect name IN-OUT icmp

!--- OUT-IN is the inspection rule for traffic that flows !--- from the outside interface of the router to the inside interface. !--- This rule is where SMTP/ESMTP inspection is specified.

ip inspect name OUT-IN smtp

!

no ip ips deny-action ips-interface

!

no ftp-server write-enable

!

!

!

!

controller T1 3/0

framing sf

linecode ami

!

!

!

!

!

!--- The outside interface.

interface Ethernet2/0

ip address 172.22.1.16 255.255.255.0

!--- Apply the access list to permit SMTP/ESMTP connections !--- to the mail server. This also allows Cisco IOS Firewall !--- to inspect SMTP or ESMTP commands.

ip access-group 101 in

ip nat outside

!--- Apply the inspection rule OUT-IN inbound on this interface. This is !--- the rule that defines SMTP/ESMTP inspection.

ip inspect OUT-IN in

ip virtual-reassembly

half-duplex

!

interface Serial2/0

no ip address

shutdown

!

!--- The inside interface.

interface Ethernet2/1

ip address 10.10.10.1 255.255.255.0

ip nat inside

!--- Apply the inspection rule IN-OUT inbound on this interface.

ip inspect IN-OUT in

ip virtual-reassembly

half-duplex

!

ip http server

no ip http secure-server

ip classless

ip route 0.0.0.0 0.0.0.0 172.22.1.1

!

!

!--- The static translation for the mail server.

ip nat inside source static 10.10.10.2 172.22.1.110

ip nat inside source static 10.10.10.5 172.22.1.111

!

!--- The access list to permit SMTP and ESMTP to the mail server. !--- Cisco IOS Firewall inspects permitted traffic.

access-list 101 permit tcp any host 172.22.1.110 eq smtp

!

!

!

control-plane

!

!

!

voice-port 1/0/0

!

voice-port 1/0/1

!

voice-port 1/1/0

!

voice-port 1/1/1

!

!

!

!

!

!

!

!

line con 0

line aux 0

line vty 0 4

password 7 121A0C0411045D5679

login

!

!

end

驗證

使用本節內容，確認您的組態是否正常運作。

輸出直譯器工具(僅供已註冊客戶使用)(OIT)支援某些show命令。使用OIT檢視show命令輸出的分析。

- show ip inspect all — 驗證Cisco IOS防火牆檢查規則的配置及其應用到介面。

3640-123#show ip inspect all

Session audit trail is disabled

Session alert is enabled

one-minute (sampling period) thresholds are [400:500] connections

max-incomplete sessions thresholds are [400:500]

max-incomplete tcp connections per host is 50. Block-time 0 minute.

tcp synwait-time is 30 sec -- tcp finwait-time is 5 sec

tcp idle-time is 3600 sec -- udp idle-time is 30 sec

dns-timeout is 5 sec

Inspection Rule Configuration

Inspection name IN-OUT

tcp alert is on audit-trail is off timeout 3600

udp alert is on audit-trail is off timeout 30

ftp alert is on audit-trail is off timeout 3600

http alert is on audit-trail is off timeout 3600

icmp alert is on audit-trail is off timeout 10

Inspection name OUT-IN

smtp max-data 20000000 alert is on audit-trail is off timeout 3600

Interface Configuration

Interface Ethernet2/1

Inbound inspection rule is IN-OUT

tcp alert is on audit-trail is off timeout 3600

udp alert is on audit-trail is off timeout 30

ftp alert is on audit-trail is off timeout 3600

http alert is on audit-trail is off timeout 3600

icmp alert is on audit-trail is off timeout 10

Outgoing inspection rule is not set

Inbound access list is not set

Outgoing access list is not set

Interface Ethernet2/0

Inbound inspection rule is OUT-IN

smtp max-data 20000000 alert is on audit-trail is off timeout 3600

Outgoing inspection rule is not set

Inbound access list is 101

Outgoing access list is not set

- debug ip inspect smtp — 顯示有關Cisco IOS防火牆SMTP檢查事件的消息。

附註：使用 debug 指令之前，請先參閱有關 Debug 指令的重要資訊。

ausnml-3600-02#debug ip inspect smtp

INSPECT SMTP Inspection debugging is on

ausnml-3600-02#

*Oct 18 21:51:35.886: CBAC SMTP: reply_type OTHERS

*Oct 18 21:51:35.886: CBAC SMTP: OTHER REPLY - Reply len: 64, match_len:64, reply_re_state:18

*Oct 18 21:51:35.886: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:51:35.886: CBAC SMTP: OTHER REPLY match id:10

*Oct 18 21:51:35.886: CBAC SMTP: End Of Reply Line - index:0 ,len:64

!--- The client issues a command.

*Oct 18 21:51:40.810: CBAC SMTP: VERB - Cmd len:1, match_len:1, cmd_re_state:9

*Oct 18 21:51:40.994: CBAC SMTP: VERB - Cmd len:2, match_len:1, cmd_re_state:24

*Oct 18 21:51:41.190: CBAC SMTP: VERB - Cmd len:3, match_len:1, cmd_re_state:40

*Oct 18 21:51:41.390: CBAC SMTP: VERB - Cmd len:4, match_len:1, cmd_re_state:56

*Oct 18 21:51:41.390: CBAC SMTP: VERB - match id:5

*Oct 18 21:51:42.046: CBAC SMTP: CMD PARAM - Cmd len:5, match_len:1, cmd_re_state:7

*Oct 18 21:51:43.462: CBAC SMTP: CMD PARAM - Cmd len:6, match_len:1, cmd_re_state:2

*Oct 18 21:51:43.594: CBAC SMTP: CMD PARAM - Cmd len:7, match_len:1, cmd_re_state:2

*Oct 18 21:51:43.794: CBAC SMTP: CMD PARAM - Cmd len:9, match_len:2, cmd_re_state:2

*Oct 18 21:51:43.994: CBAC SMTP: CMD PARAM - Cmd len:10, match_len:1, cmd_re_state:2

*Oct 18 21:51:44.194: CBAC SMTP: CMD PARAM - Cmd len:12, match_len:2, cmd_re_state:3

*Oct 18 21:51:44.194: CBAC SMTP: CMD PARAM - match id:6

*Oct 18 21:51:44.194: CBAC SMTP: End Of Command Line - index:1, len:12

!--- The server replies.

*Oct 18 21:51:44.198: CBAC SMTP: reply_type OTHERS

*Oct 18 21:51:44.198: CBAC SMTP: OTHER REPLY - Reply len: 11, match_len:11, reply_re_state:18

*Oct 18 21:51:44.198: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:51:44.198: CBAC SMTP: OTHER REPLY match id:10

*Oct 18 21:51:44.198: CBAC SMTP: End Of Reply Line - index:1 ,len:11

!--- The client issues a command.

*Oct 18 21:51:49.482: CBAC SMTP: VERB - Cmd len:1, match_len:1, cmd_re_state:3

*Oct 18 21:51:50.222: CBAC SMTP: VERB - Cmd len:2, match_len:1, cmd_re_state:15

*Oct 18 21:51:50.618: CBAC SMTP: VERB - Cmd len:3, match_len:1, cmd_re_state:31

*Oct 18 21:51:50.954: CBAC SMTP: VERB - Cmd len:4, match_len:1, cmd_re_state:46

*Oct 18 21:51:50.954: CBAC SMTP: VERB - match id:15

*Oct 18 21:51:51.642: CBAC SMTP: CMD PARAM - Cmd len:5, match_len:1, cmd_re_state:7

*Oct 18 21:51:51.914: CBAC SMTP: CMD PARAM - Cmd len:6, match_len:1, cmd_re_state:2

*Oct 18 21:51:52.106: CBAC SMTP: CMD PARAM - Cmd len:7, match_len:1, cmd_re_state:2

*Oct 18 21:51:54.754: CBAC SMTP: CMD PARAM - Cmd len:8, match_len:1, cmd_re_state:4

*Oct 18 21:51:55.098: CBAC SMTP: CMD PARAM - Cmd len:9, match_len:1, cmd_re_state:2

*Oct 18 21:51:55.322: CBAC SMTP: CMD PARAM - Cmd len:11, match_len:2, cmd_re_state:3

*Oct 18 21:51:55.322: CBAC SMTP: CMD PARAM - match id:6

*Oct 18 21:51:55.322: CBAC SMTP: End Of Command Line - index:2, len:11

!--- The server replies.

*Oct 18 21:51:55.326: CBAC SMTP: reply_type OTHERS

*Oct 18 21:51:55.326: CBAC SMTP: OTHER REPLY - Reply len: 19, match_len:19, reply_re_state:3

*Oct 18 21:51:55.326: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:51:55.326: CBAC SMTP: End Of Reply Line - index:2 ,len:19

*Oct 18 21:51:57.070: CBAC SMTP: VERB - Cmd len:1, match_len:1, cmd_re_state:3

*Oct 18 21:51:57.402: CBAC SMTP: VERB - Cmd len:2, match_len:1, cmd_re_state:15

*Oct 18 21:51:58.162: CBAC SMTP: VERB - Cmd len:3, match_len:1, cmd_re_state:31

*Oct 18 21:51:58.462: CBAC SMTP: VERB - Cmd len:4, match_len:1, cmd_re_state:46

*Oct 18 21:51:58.466: CBAC SMTP: VERB - match id:15

*Oct 18 21:51:58.746: CBAC SMTP: CMD PARAM - Cmd len:5, match_len:1, cmd_re_state:7

*Oct 18 21:51:59.006: CBAC SMTP: CMD PARAM - Cmd len:6, match_len:1, cmd_re_state:2

*Oct 18 21:51:59.234: CBAC SMTP: CMD PARAM - Cmd len:7, match_len:1, cmd_re_state:2

*Oct 18 21:51:59.418: CBAC SMTP: CMD PARAM - Cmd len:9, match_len:2, cmd_re_state:2

*Oct 18 21:51:59.618: CBAC SMTP: CMD PARAM - Cmd len:10, match_len:1, cmd_re_state:2

*Oct 18 21:51:59.818: CBAC SMTP: CMD PARAM - Cmd len:12, match_len:2, cmd_re_state:3

*Oct 18 21:51:59.818: CBAC SMTP: CMD PARAM - match id:6

*Oct 18 21:51:59.818: CBAC SMTP: End Of Command Line - index:3, len:12

*Oct 18 21:51:59.818: CBAC SMTP: reply_type OTHERS

*Oct 18 21:51:59.818: CBAC SMTP: OTHER REPLY - Reply len: 19, match_len:19, reply_re_state:3

*Oct 18 21:51:59.822: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:51:59.822: CBAC SMTP: End Of Reply Line - index:3 ,len:19

*Oct 18 21:52:04.974: CBAC SMTP: VERB - Cmd len:1, match_len:1, cmd_re_state:9

*Oct 18 21:52:05.170: CBAC SMTP: VERB - Cmd len:2, match_len:1, cmd_re_state:24

*Oct 18 21:52:05.326: CBAC SMTP: VERB - Cmd len:3, match_len:1, cmd_re_state:40

*Oct 18 21:52:05.526: CBAC SMTP: VERB - Cmd len:4, match_len:1, cmd_re_state:55

*Oct 18 21:52:05.526: CBAC SMTP: VERB - match id:6

*Oct 18 21:52:05.742: CBAC SMTP: CMD PARAM - Cmd len:6, match_len:2, cmd_re_state:3

*Oct 18 21:52:05.742: CBAC SMTP: CMD PARAM - match id:6

*Oct 18 21:52:05.742: CBAC SMTP: End Of Command Line - index:4, len:6

*Oct 18 21:52:05.746: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.746: CBAC SMTP: OTHER REPLY - Reply len: 54, match_len:54, reply_re_state:3

*Oct 18 21:52:05.746: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.746: CBAC SMTP: End Of Reply Line - index:4 ,len:54

*Oct 18 21:52:05.746: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.746: CBAC SMTP: OTHER REPLY - Reply len: 15, match_len:15, reply_re_state:3

*Oct 18 21:52:05.746: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.746: CBAC SMTP: End Of Reply Line - index:5 ,len:15

*Oct 18 21:52:05.746: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.746: CBAC SMTP: OTHER REPLY - Reply len: 15, match_len:15, reply_re_state:3

*Oct 18 21:52:05.746: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.746: CBAC SMTP: End Of Reply Line - index:6 ,len:15

*Oct 18 21:52:05.746: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.750: CBAC SMTP: OTHER REPLY - Reply len: 6, match_len:6, reply_re_state:3

*Oct 18 21:52:05.750: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.750: CBAC SMTP: End Of Reply Line - index:7 ,len:6

*Oct 18 21:52:05.750: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.750: CBAC SMTP: OTHER REPLY - Reply len: 19, match_len:19, reply_re_state:3

*Oct 18 21:52:05.750: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.750: CBAC SMTP: End Of Reply Line - index:8 ,len:19

*Oct 18 21:52:05.750: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.750: CBAC SMTP: OTHER REPLY - Reply len: 17, match_len:17, reply_re_state:3

*Oct 18 21:52:05.750: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.750: CBAC SMTP: End Of Reply Line - index:9 ,len:17

*Oct 18 21:52:05.750: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.750: CBAC SMTP: OTHER REPLY - Reply len: 6, match_len:6, reply_re_state:3

*Oct 18 21:52:05.750: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.754: CBAC SMTP: End Of Reply Line - index:10 ,len:6

*Oct 18 21:52:05.754: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.754: CBAC SMTP: OTHER REPLY - Reply len: 6, match_len:6, reply_re_state:3

*Oct 18 21:52:05.754: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.754: CBAC SMTP: End Of Reply Line - index:11 ,len:6

*Oct 18 21:52:05.754: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.754: CBAC SMTP: OTHER REPLY - Reply len: 6, match_len:6, reply_re_state:3

*Oct 18 21:52:05.754: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.754: CBAC SMTP: End Of Reply Line - index:12 ,len:6

*Oct 18 21:52:05.754: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:05.754: CBAC SMTP: OTHER REPLY - Reply len: 3, match_len:3, reply_re_state:3

*Oct 18 21:52:05.754: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:05.754: CBAC SMTP: End Of Reply Line - index:13 ,len:3

*Oct 18 21:52:15.646: CBAC SMTP: VERB - Cmd len:1, match_len:1, cmd_re_state:6

*Oct 18 21:52:15.838: CBAC SMTP: VERB - Cmd len:3, match_len:2, cmd_re_state:37

*Oct 18 21:52:16.206: CBAC SMTP: VERB - Cmd len:4, match_len:1, cmd_re_state:52

*Oct 18 21:52:16.206: CBAC SMTP: VERB - match id:9

*Oct 18 21:52:18.954: CBAC SMTP: CMD PARAM - Cmd len:6, match_len:2, cmd_re_state:3

*Oct 18 21:52:18.958: CBAC SMTP: CMD PARAM - match id:6

*Oct 18 21:52:18.958: CBAC SMTP: End Of Command Line - index:5, len:6

*Oct 18 21:52:18.958: CBAC SMTP: reply_type OTHERS

*Oct 18 21:52:18.958: CBAC SMTP: OTHER REPLY - Reply len: 21, match_len:21, reply_re_state:18

*Oct 18 21:52:18.958: CBAC SMTP: OTHER REPLY match id:13

*Oct 18 21:52:18.958: CBAC SMTP: OTHER REPLY match id:10

*Oct 18 21:52:18.958: CBAC SMTP: End Of Reply Line - index:14 ,len:21

疑難排解

目前尚無適用於此組態的具體疑難排解資訊。

相關資訊

- Cisco IOS防火牆功能集常見問題

- IOS防火牆支援頁面

- 技術支援與文件 - Cisco Systems