Cisco ASA基础

n硬件与软件防火墙

1.软件防火墙

Cisco新版本的IOS软件提供了 IOS防火墙特性集,它具有应用层智能状态检测防火墙引擎。Cisco IOS防火墙特性集提供了一个综合的、内部的安全解决方案,它被广泛使用在基于IOS软件的设备上。

2.硬件防火墙

硬件防火墙比软件防火墙更有优势,原因有以下两个方面:

硬件防火墙功能强大,且明确是为抵御威胁而设计的。

硬件防火墙比软件防火墙的漏洞少。

Cisco硬件防火墙技术应用于以下三个领域:

PIX500系列安全设备

ASA 5500系列自适应安全设备

Catalyst6500系列交换机和Cisco 7600系列路由器的防火墙服务模块(FWSM,Firewall Services Module)。

nASA安全设备

CiscoASA 550系列自适应安全设备是最新的Cisco防火墙技术产品,它提供了整合防火墙、***保护系统(IPS,IntrusionPrevention System)、高级自适应威胁防御服务,其中包括应用安全和简化网络安全解决方案的×××服务。

目前Cisco ASA 5500系列有六种型号:

ASA 5505   适用于小型企业、分公司和企业远程办公环境,设备成本低,易于部署,集成八个10/100端口快速以太网交换机(包括两个以太网电源PoE端口)

ASA5510   适用于中型企业、分公司企业环境,设备成本低,易于部署,具有高级安全和网络服务

ASA5520   适用于中型企业,具有模块化、高性能网络中的高可用性主动/主动服务,并能连接千兆以太网设备

ASA5540   为大中型企业和服务提供商提供高密度、主动/主动高可用性服务和千兆以太网连接,设备具有高可靠性和高性能

ASA5550   用于大型企业和服务提供商网络的高性能设备,千兆级提供高达1.2Gb/s的防火墙吞吐量,具有主动/主动高可用性服务、光纤和千兆位以太网连接性

ASA5560   用于大型企业、数据中心和运营商网络,提供万兆位以太网连接。型号分为ASA 5580-20和ASA 5580-40

n状态化防火墙

ASA首先是一个状态化防火墙,状态化防火墙维护一个关于用户信息的连接表,称为Conn表,表中的关键信息如下:

源IP地址

目的IP地址

IP协议(例如TCP或UDP)

IP协议信息(例如TCP/UDP端口号,TCP序列号,TCP控制位)

默认情况下,ASA对TCP和UDP协议提供状态化连接,但ICMP协议是非状态化的。

状态化防火墙进行状态化处理的过程:

PC访问Web服务器时,状态化防火墙处理的过程如下所述:

(1)PC发起一个HTTP请求给Web服务器

(2)HTTP请求到达防火墙,防火墙将连接信息(例如源和目的IP地址,使用的TCP协议、源和目的地址的TCP端口)添加到Conn表。

(3)防火墙将HTTP请求转发给Web服务器

流量返回时,状态化防火墙处理的过程如下所述:

(1)Web服务器响应HTTP请求,返回相应的数据流量

(2)防火墙拦截该流量,检查其连接信息

如果在Conn表中查找到匹配的连接信息,则流量被允许

如果在Conn表中找不到匹配的连接信息,则流量被丢弃

n安全算法的原理

ASA使用安全算法执行以下三项基本操作:

访问控制列表。基于特定的网络、主机和服务(TCP/UDP端口号)控制网络访问。

连接表。维护每个连接的状态信息。安全算法使用此信息在已建立的连接中有效转发流量

检测引擎。执行状态检测和应用层检测。检测规则集是预先定义的,来验证应用是否遵从每个RFC和其他标准。

数据报文穿越ASA的过程:

(1)一个新来的TCP SYN报文到达ASA,试图建立一个新的连接。

(2)ASA检查访问控制列表,确定是否允许连接。

(3)ASA执行路由查询,如果路由正确,ASA使用必要的会话信息在连接表(XLATE和CONN)中创建一个新条目。

(4)ASA在检测引擎中检查预定义的一套规则,如果是已知应用,则进一步执行应用层检测。

(5)ASA根据检测引擎确定是否转发或丢弃报文。如果允许转发,则将报文转发到目的主机。

(6)目的主机响应该报文。

(7)ASA接收返回报文并进行检测,在连接数据库中查询连接,确定会话信息与现有连接是否匹配。

(8)ASA转发属于已建立的现有会话的报文。

   ASA的应用层检测是通过检测报文的IP头和有效载荷的内容,对应用层协议流量执行深层检测,检查应用层协议是否遵守RFC标准,从而检测出应用层数据中的恶意行为。

n配置主机名和密码

1.配置主机名

ASA初始启动后默认的主机名是ciscoasa,可通过以下命令将主机名配置为asa。

ciscoasa# conf t

ciscoasa(config)# hostname asa

asa(config)#

2.配置密码

可以配置特权密码和远程登录密码

1)配置特权密码

以下命令键将配置特权密码为asa802

asa(config)# enable password asa802

   2)配置远程登录密码

远程登录密码是在使用Telnet或SSH时需要输入的密码。以下命令将配置远程登录密码为cisco,注意与路由器的配置是不同的。

asa(config)# passwd cisco

n接口的概念与配置

1.接口的名称

ASA的一个接口通常有两种名称,即物理名称和逻辑名称。

1)物理名称

物理名称与路由器接口的名称类似,例如Ethernet0/0、Ethernet0/1,可以简写为E0/0、E0/1,通常用来配置接口的速率、双工和IP地址等。

ASA5510及以上型号还有专门的管理接口用于管理目的,例如management0/0。

2)逻辑名称

逻辑名称用于大多数的配置命令,例如配置ACL、配置路由等使用的命令中都用到逻辑名称。逻辑名称用来描述安全区域,例如通常用inside表示ASA连接的内部区域(安全性高),用outside表示ASA连接的外部区域(安全性低)。

防火墙与路由器有着本质的不同,防火墙是用于安全目的,所以它的各个接口代表了不同的安全区域,而安全区域之间隔着一堵“墙”。

2.接口的安全级别

ASA的每个接口都有一个安全级别,范围是0-100,数值越大其安全级别越高。当配置接口的名称为inside时,其安全级别自动设置为100。而配置其他的接口名称例如outside时,其安全级别自动设置为0。

不同安全级别的接口之间互相访问时,遵从如下的默认规则:

允许出站(outbound)连接,即允许从高安全级别接口到低安全级别接口的流量通过。例如,从inside访问outside是允许的。

禁止入站(inbound)连接,即禁止从低安全级别接口到高安全级别接口的流量通过。例如,从outside访问inside是禁止的。

禁止相同安全级别的接口之间通信。

3.接口的配置

1)配置命令语法

配置接口的名称,命令如下:

asa(config-if)#nameif name

配置接口的安全级别,命令如下:

asa(config-if)#security-level number

其中number的范围为0-100。

如果ASA的型号是5505,则不支持在物理接口上直接进行以上配置,必须通过VLAN虚拟接口来配置,具体配置如下。例如:

asa(config)# int vlan 1

asa(config-if)# nameif inside

asa(config-if)# security-level 100

asa(config-if)# ip address 192.168.1.1 255.255.255.0

asa(config-if)# no shut

asa(config-if)# int e0/0

asa(config-if)# no shut

asa(config-if)# switchport access vlan 1

n配置ACL

在ASA上配置ACL有两个作用:一是允许入站连接,二是控制出站连接的流量。

标准ACL

asa(config)# access-list acl_name[standrad] {permit | deny} ip_address mask

扩展ACL

asa(config)# access-list acl_name[extended] {permit | deny} protocol src_ip_address src_mask dst_ip_addressdst_mask [operator port]

将ACL应用到接口

asa(config)# access-group acl_name {in |out} interface interface_name

需要注意的是,路由器上的ACL使用反码,而ASA上的ACL使用正常的掩码。另外,标准ACL过滤流量时不能应用到接口,它应用在其他场合,例如远程访问×××中分离隧道的配置。

1.允许入站连接

ASA的默认规则是禁止入站连接,如果要允许入站连接,就需要配置ACL。例如:

asa(config)# access-list out_to_in permitip host 72.16.1.1 host 10.1.1.1

asa(config)# access-group out_to_in in intoutside

2.控制出站连接的流量

asa(config)# access-list in_to_out deny ip10.1.1.0 255.255.255.0 any

asa(config)# access-list in_to_out permitip any any

asa(config)# access-group in_to_out in intinside

n配置静态路由

ASA支持静态和默认路由、动态路由(例如OSPF等)

配置静态路由的命令语法如下:

asa(config)# route interface-name networkmask next-hop-address

n其他配置

1.ICMP协议

默认情况下,禁止ICMP报文穿越ASA是基于安全性的考虑。

asa(config)# access-list 111 permit icmpany any

asa(config)# access-group 111 in intoutside

2.其他配置命令

(1)保存running configuration配置到startupconfiguration,可以使用如下命令:

asa# writememory

asa#copy running-config startup-config

(2)清除running configuration的所有配置,可以使用如下命令

asa(config)# clear configure all

(3)清除running configuration中指定命令的配置,可以使用如下命令

asa(config)# clear configure configurationcommand [level2configurationcommand]

例如,要清除所有access-list命令的配置,可以使用如下命令。

asa(config)# clear configure access-list

只清除access-list in_to_out的配置,可以使用如下命令。

asa(config)# clear configure access-listin_to_out

(4)删除startup-config配置文件,可以使用如下命令。

asa# writeerase

nDMZ区域概述

1.DMZ的概念和作用

DMZ(DeMilitarized Zone)称为“隔离区”,也称为“非军事化区”,是位于企业内部网络和外部网络之间的一个网络区域。在这个网络区域内可以放置一些必须公开的服务器。

DMZ内通常放置一些不含机密信息的公用服务器,这样来自外网的访问者可以访问DMZ中的服务,但不能访问内网中的公司机密等信息。即使DMZ中的服务器受到***,也不会对内网中的机密信息造成影响,所以通过DMZ区域可以有效的保护内部网络。

2.默认的访问规则

DMZ区的安全级别介于inside和outside之间,例如设置inside区域的安全级别为100,设置outside区域的安全级别为0,则DMZ区域的安全级别可以设置为20、50或60等。

上面介绍了inside和outside区域之间的默认访问规则,那么在存在DMZ区域的情况下,默认的访问规则如下:

inside可以访问outside

inside可以访问DMZ

DMZ可以访问outside

DMZ不能访问inside

outside不能访问inside

outside不能访问DMZ

在实际应用中,通常需要配置访问规则和地址转换允许outside访问DMZ。

实验案例

实验环境

按下图连接网络,其中路由器R1、R3和R4用来模拟PC。

spacer.gif

需求描述

要求配置ASA的接口、路由和ACL,并验证接口之间的通信。

推荐步骤

(1)配置路由器和ASA的接口,实现网络互通

ASA的配置:

spacer.gif

R1的配置:

spacer.gif

R2的配置:

spacer.gif

spacer.gif

R3的配置:

spacer.gif

R4的配置:

spacer.gif

(2)配置路由

ASA的配置:

spacer.gif

   R1的配置:

spacer.gif

   R2的配置:

spacer.gif

   R3的配置:

spacer.gif

   R4的配置:

spacer.gif

(3)分别配置R1、R3和R4模拟PC并启用Telnet

R1的配置:

spacer.gif

      R3的配置:

spacer.gif

      R4的配置:

spacer.gif

验证:在R1上可以Telnet到R3和R4

R1telnetR3

spacer.gif

      R1telnetR4

spacer.gif

在R3上可以Telnet到R4但不能Telnet到R1

      R3telnetR4

spacer.gif

      R3telnetR1

spacer.gif

在R4上不能Telnet到R1和R3。

      R4telnetR1

spacer.gif

      R4telnetR3

spacer.gif

(4)使用命令show conn detail查看Conn表。

spacer.gif

(5)分别查看ASA和R2的路由表。

ASA的路由表:

spacer.gif

   R2的路由表:

spacer.gif

(6)配置ACL禁止在R3上Telnet到R4。

ASA的配置:

spacer.gif

   R3上验证:

spacer.gif