Cisco ASA 分为软件防火墙和硬件防火墙。
其中,硬件防火墙比软件防火墙更有优势:
1)、硬件防火墙功能强大,且明确是为抵御威胁而设计的。
2)、硬件防火墙比软件防火墙的漏洞少。
Cisco 硬件防火墙技术应用于以下三个领域:
1)、PIX 500 系列安全设备
2)、ASA 5500 系列自适应安全设备
3)、Catalyst 6500 系列交换机和 Cisco 7600 系列路由器的防火墙服务模块
Cisco ASA 5500 系列自适应安全提供了整合防火墙、***保护系统(IPS)、高级自适应威胁防御服务,其中包括应用安全和简化网络安全解决方案的V P N服务。
目前Cisco ASA 5500 系列有六种型号 如下图示:
ASA首先是一个状态化防火墙,用于维护一个关于用户信息的连接表,称之为conn表:
conn表中含有如下信息:
1)、源IP地址
2)、目的IP地址
3)、IP协议(如TCP 和 UDP)
4)、IP协议信息(如 tcp/udp端口号、TCP序列号、TCP控制位)
默认情况下,ASA对TCP和UDP协议提供的是状态化连接,但ICMP协议是非状态化的。
下图为状态化防火墙进行状态化处理的过程:
1)、PC发起一个HTTP请求给web服务器
2)、HTTP请求到达防火墙,防火墙将连接信息(如源IP地址和目的IP地址、使用的TCP协议、源IP地址和目的IP地址的TCP端口号)添加到conn表
3)、防火墙将HTTP请求转发给web服务器
流量返回时,状态化防火墙的处理过程为:
1)、web服务器响应HTTP请求,返回相应的数据流量
2)、防火墙拦截该流量,检查其连接信息
注意:
- 如果在conn表中查找到匹配的连接信息,则流量被允许
- 如果在conn表中找不到匹配的连接信息,则流量被丢弃ASA使用安全算法执行以下三种基本操作:1)、访问控制列表:基于特定的网络、主机和服务(TCP/UDP端口号)控制网络访问2)、连接表:维护每个连接的状态信息。安全算法使用此信息在已建立的连接中有效转发流量。3)、检测引擎:执行状态检测和应用层检测。检测规则集是预先定义的,来验证应用是否遵从每个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标准,从而检查出应用层数据中的恶意行为。ASA的一个接口通常有两种名称:1)、物理名称:与路由器接口的名称类似,如Ethernet0/0可以简写成E0/0,通常用来配置接口的速率、双工和IP地址等。2)、逻辑名称:用于大多数的配置命令,如配置ACL、路由器等使用的命令中都用到逻辑名称。逻辑名称用来描述安全区域,如通常用inside表示ASA连接的内部区域(安全级别高),用outside表示ASA连接的外部区域(安全级别低)。接口的安全级别:每个接口都有一个安全级别,范围是0~100,数值越大,安全级别越高。一般配置接口为inside(内网接口)时,将其安全级别设置为100,为outside(外网接口)时,将其安全级别设置为0,为DMZ(隔离区)时,安全级别介于inside和outside之间即可。不同安全级别的接口之间相互访问时,遵从以下默认规则:允许出站连接:就是允许从高安全级别接口到低安全级别的流量通过。比如说从inside访问outside是允许的。禁止入站连接:就是禁止从低安全级别接口到高安全级别接口的流量通过。比如说从outside访问inside是禁止的。禁止相同安全级别的接口之间通信。配置接口:asa(config)#int e 0/0asa(config-if)#nameif name 定义接口的名称asa(config-if)#nameif inside asa(config-if)#security-level number 配置接口的安全级别number的范围是(0~100)asa# show conn datail 查看conn表在ASA上配置ACL有两个作用,一是允许入站连接,二是控制出站连接的流量。ASA的默认规则是禁止入站连接,如果要入站连接,就需要配置ACL例如:asa(config)# access-list qwe permit ip host 192.168.1.1 host 10.0.0.1 asa(config)#access-group qwe in int outside 上述第一条命令就是使主机192.168.1.1能够访问主机10.0.0.1 ACL名称为qwe ,第二条命令为将qwe这个ACL应用到outside接口上控制出站连接配置:asa(config)#access-list qwe deny ip 10.0.0.0 255.255.255.0 anyasa(config)#access-list qwe permit ip any any asa(config)#access-group qwe in int inside第一条命令为拒绝10.0.0.0网段访问其他所有网段第二条命令为允许其他所有网段之间可以进行访问第三条命令为将qwe这个ACL应用到inside接口上ASA防火墙也是具有路由功能的,在其上也一样可以配置路由静态路由配置如下:asa(config)#router 接口名称 目标网段 子网掩码 下一跳地址asa(config)#router outside 192.168.1.0 255.255.255.0 10.0.0.2asa(config)#show router 查看路由表默认情况下,ASA是禁止ICMP协议在其上穿越的。所以需要在ASA上配置ACL:asa(config)#access-list 111 permit icmp any any 允许所有网段可以ping通asa(config)#access-group 111 in int outside ACL应用接口以下两条命令可以保存running configuration 配置到 startup configuration中asa# write memory asa#copy running-config startup-config清除running configuration 的所有配置:asa(config)#clear configure all 删除 startup-config 配置文件asa#write erase清除所有的 access-list 命令的配置:asa(config)#clear configure access-listDMZ称为隔离区,也称为非军事化区,是位于企业内部网络和外部网络之间的一个网络区域。在这个网络区域中可以存放一些必须公开的服务器,如web、ftp和论坛等DMZ中放置一些不含机密信息的共用服务器,这样来自外网的访问者也可以访问DMZ中的服务,但不能访问内网的公司机密信息。即使DMZ中的服务器收到攻 击,也不会对内网的机密信息造成影响,所以,可以通过DMZ区域有效的保护内部网络。当存在DMZ区域时,默认的访问规则如下:1)、inside可以访问DMZ和outside;2)、DMZ可以访问outside但不允许访问inside;3)、outside不能访问DMZ和inside,不过通常会配置ACL,让outside可以访问DMZ,若不然,DMZ就没有存在的意义了。