简介
Cisco IOS.防火墙功能集的基于上下文的访问控制(CBAC)功能可主动检测防火墙后面的活动。CBAC 通过使用访问列表指定需要允许什么数据流进入和需要允许什么数据流流出(以 Cisco IOS 使用访问列表的相同方式)。 但是,CBAC 访问列表包括 IP 检查语句,这些语句允许检查协议以确保协议在进入防火墙保护的系统之前不会被篡改。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档不限于特定的软件和硬件版本。
规则
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
背景信息
CBAC 还可以与网络地址转换 (NAT) 一起使用,但本文档中的配置主要处理纯检查。如果执行 NAT,则访问列表需要反映全局地址而不是实际地址。
在进行配置之前,请考虑以下问题。
您希望允许什么数据流流出?
您希望允许什么数据流流出取决于您的站点安全策略,但在此常规示例中,允许所有数据流出站。如果您的访问列表拒绝所有数据流,则任何数据流都不能流出。请使用以下扩展访问列表指定出站数据流:
access-list 101 permit ip [source-network] [source-mask] any
access-list 101 deny ip any any
您希望允许什么数据流进入?
您希望允许什么数据流进入取决于您的站点安全策略。但是,合乎逻辑的答案是任何不会损害您的网络的数据流。
在本示例中,有一个数据流的列表,其中的数据流似乎在逻辑上都可以进入。Internet 控制消息协议 (ICMP) 数据流通常是可接受的,但使用它可能会受到 DOS 攻击。以下是传入数据流的示例访问列表:
Extended IP access list 101
permit tcp 10.10.10.0 0.0.0.255 any (84 matches)
permit udp 10.10.10.0 0.0.0.255 any
permit icmp 10.10.10.0 0.0.0.255 any (3 matches)
deny ip any any
扩展 IP 访问列表 102
permit eigrp any any (486 matches)
permit icmp any 10.10.10.0 0.0.0.255 echo-reply (1 match)
permit icmp any 10.10.10.0 0.0.0.255 unreachable
permit icmp any 10.10.10.0 0.0.0.255 administratively-prohibited
permit icmp any 10.10.10.0 0.0.0.255 packet-too-big
permit icmp any 10.10.10.0 0.0.0.255 echo (1 match)
permit icmp any 10.10.10.0 0.0.0.255 time-exceeded
deny ip any any (62 matches)
access-list 101 permit tcp 10.10.10.0 0.0.0.255 any
access-list 101 permit udp 10.10.10.0 0.0.0.255 any
access-list 101 permit icmp 10.10.10.0 0.0.0.255 any
access-list 101 deny ip any any
access-list 102 permit eigrp any any
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 echo-reply
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 unreachable
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 administratively-prohibited
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 packet-too-big
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 echo
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 time-exceeded
access-list 102 deny ip any any
访问列表 101 针对出站数据流。访问列表 102 针对入站数据流。这些访问列表仅允许路由协议、增强型内部网关路由协议 (EIGRP) 和指定的 ICMP 入站数据流。
在示例中,路由器以太网端上的服务器不能访问互联网。访问列表阻止它建立会话。为了使它可以访问,需要修改访问控制列表,以允许会话发生。要更改访问列表,请删除访问列表,对其进行编辑,然后重新应用更新的访问列表。
注意:您在编辑和重新应用之前删除访问列表102的原因是访问列表末尾的“deny ip any any”。在这种情况下,如果要在删除访问列表前添加新条目,新条目将在 deny 条目后出现。因此,它从不会受到检查。
本示例仅为 10.10.10.1 添加简单邮件传输协议 (SMTP)。
扩展 IP 访问列表 102
permit eigrp any any (385 matches)
permit icmp any 10.10.10.0 0.0.0.255 echo-reply
permit icmp any 10.10.10.0 0.0.0.255 unreachable
permit icmp any 10.10.10.0 0.0.0.255 administratively-prohibited
permit icmp any 10.10.10.0 0.0.0.255 packet-too-big
permit icmp any 10.10.10.0 0.0.0.255 echo
permit icmp any 10.10.10.0 0.0.0.255 time-exceeded
permit tcp any host 10.10.10.1 eq smtp (142 matches)
!--- In this example, you inspect traffic that has been !--- initiated from the inside network.
您希望检查什么数据流?
Cisco IOS 中的 CBAC 支持:
关键字名称 |
协议 |
cuseeme |
CUSeeMe 协议 |
ftp |
文件传输协议 |
h323 |
H.323 协议(例如,Microsoft NetMeeting 或 Intel Video Phone) |
http |
HTTP 协议 |
rcmd |
R 命令 (r-exec, r-login, r-sh) |
realaudio |
Real Audio协议 |
rpc |
远程 过程 调用 协议 |
smtp |
简单邮件传输协议 |
sqlnet |
SQL Net协议 |
StreamWorks |
StreamWorks协议 |
tcp |
传输控制协议 |
tftp |
TFTP 协议 |
udp |
用户数据报协议 |
vdolive |
VDOLive 协议 |
每个协议都绑定到一个关键字名称。对要检查的接口应用关键字名称。例如,以下配置将检查 FTP、SMTP 和 Telnet:
router1#configure
Configuring from terminal, memory, or network [terminal]? Enter configuration
commands, one per line. End with CNTL/Z.
router1(config)#ip inspect name mysite ftp
router1(config)#ip inspect name mysite smtp
router1(config)#ip inspect name mysite tcp
router1#show ip inspect config
Session audit trail is disabled
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 mysite
ftp timeout 3600
smtp timeout 3600
tcp timeout 3600
本文档讨论您希望允许什么数据流进入、您希望允许什么数据流流出,以及您希望检查什么数据流。既然已准备好要配置 CBAC,请完成以下步骤:
-
应用配置。
-
输入上面配置的访问列表。
-
配置检查语句。
-
向接口应用访问列表。
此过程后,您的配置将如此图和配置中所示。
基于上下文的访问控制配置 |
!
version 11.2
no service password-encryption
service udp-small-servers
service tcp-small-servers
!
hostname router1
!
!
no ip domain-lookup
ip inspect name mysite ftp
ip inspect name mysite smtp
ip inspect name mysite tcp
!
interface Ethernet0
ip address 10.10.10.2 255.255.255.0
ip access-group 101 in
ip inspect mysite in
no keepalive
!
interface Serial0
no ip address
encapsulation frame-relay
no fair-queue
!
interface Serial0.1 point-to-point
ip address 10.10.11.2 255.255.255.252
ip access-group 102 in
frame-relay interface-dlci 200 IETF
!
router eigrp 69
network 10.0.0.0
no auto-summary
!
ip default-gateway 10.10.11.1
no ip classless
ip route 0.0.0.0 0.0.0.0 10.10.11.1
access-list 101 permit tcp 10.10.10.0 0.0.0.255 any
access-list 101 permit udp 10.10.10.0 0.0.0.255 any
access-list 101 permit icmp 10.10.10.0 0.0.0.255 any
access-list 101 deny ip any any
access-list 102 permit eigrp any any
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 echo-reply
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 unreachable
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 administratively-prohibited
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 packet-too-big
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 echo
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 time-exceeded
access-list 102 permit tcp any host 10.10.10.1 eq smtp
access-list 102 deny ip any any
!
line con 0
line vty 0 4
login
!
end |
相关信息