Cisco ASA防火墙基础
1.Cisco 防火墙简介:
硬件与软件防火墙:
.软件防火墙:
Cisco新版本的IOS软件提供了IOS防火墙特性集,它具有应用层智能状态监测防火墙引擎.
Cisco IOS防火墙特性集提供了一个综合的、内部的安全解决方案,被广泛使用在基于IOS软件的设备上。
.硬件防火墙:
硬件防火墙的优点:
硬件防火墙功能强大,且明确是为了抵御威胁而设计的;
硬件防火墙比软件防火墙的漏洞少。
Cisco硬件防火墙技术应用于以下三个领域:
PIX 500系列安全设备;
ASA 5500系列自适应安全设备;
Catalyst 6500系统交换机和Cisco 7600系统路由器的防火墙服务模块(FWSM,Firewall Services Module);
ASA安全设备:
Cisco ASA 系列5500系列自适应安全设备室最新的cisco防火墙技术产品,它提供了整合防火墙,***保护系统(IPS,Intrusion Prevention System)、高级自适应威胁防御服务,其中包括应用安全和简化网络安全解决方案的***服务。
2.ASA的安全算法:
状态化防火墙:ASA 是一个状态化防火墙,状态化防火墙维护一个关于用户信息的连接表,称为Conn表。
表中的关键信息:
源IP地址。
目的IP地址。
IP协议(eg:TCP 或UDP)。
IP协议信息(eg:TCP/UDP端口号,TCP序列号,TCP控制位)
默认情况下,ASA对TCP和UDP协议提供状态化连接,但ICMP协议是非状态化的。
状态化防火墙进行状态化处理的过程:
如果在Conn表中查找到匹配的连接信息,则流量被允许。
如果在Conn表中找不到匹配的连接信息,则流量被丢弃。
安全算法的原理:
ASA使用安全算法执行以下三项基本操作:
访问控制列表:基于特定的网络、主机和服务(TCP/UDP端口号)控制网络访问。
连接表:维护每个连接的状态信息。安全算法使用此信息在已建立的连接中有效转发流量。
检测引擎:执行状态检测。检测规则集是预先定义的,来验证应用是否遵从每个RFC和其他标准。
穿越过程:
一个新来的TCP SYN报文到达ASA,试图建立一个新的连接;
ASA检查访问列表,确定是否允许连接;
ASA执行路由查询,如果路由正确,ASA使用必要的会话信息在连接表(XLATE和CONN)中创建一个新条目;
ASA在检测引擎中检查预定义的一套规则,如果是已知应用,则进一步执行应用层检测;
ASA根据检测引擎确定是否转发或丢弃报文.如果允许转发,则将报文转发到目的主机;
目的主机响应该报文;
ASA接收返回报文并进行检测,在连接数据库中查询连接,确定会话信息与现有连接是否匹配;
ASA转发属于已建立的现有会话的报文
【ASA的应用层检测是通过检查报文的IP头和有效载荷的内容,对应用层协议流量执行深层检测,检查应用层协议是否遵守RFC标准,从而检测出应用层数据中的恶意行为】
3.ASA的基本配置:
配置主机名和密码:
配置主机名:
ciscoasa> enable
ciscoasa# config terminal
ciscoasa(config)# hostname ASA
配置密码:
ASA(config)# enable password xxx ——配置特权密码
ASA(config)# passwd xxx ——配置远程登录密码
接口的概念与配置:
接口的名称:
物理名称:物理名称与路由器接口的名称类似,通常用来配置接口的速率、双工和IP地址
逻辑名称:逻辑名称用来描述安全区域。
接口的安全级别:
ASA的每个接口都有一个安全级别,范围是0~100,数值越大其安全级别越高。
不同安全级别的接口之间互相访问时,遵循的规则:
允许出站连接:即允许从高安全级别接口道低安全级别接口的流量通过,eg:从inside到outside时允许的;
禁止入站连接:即禁止从低安全级别接口到高安全级别接口的流量通过,eg:从outside到inside是禁止的;
禁止相同安全级别的接口之间通信。
接口的配置:
配置接口的名称:
ciscoasa(config-if)# nameif name
配置接口的安全级别:
ciscoasa(config-if)# security-level number
number的范围: 0~100
配置实例:
Ethernet 0/0接口的配置:
ciscoasa(config)# int e0/0
ciscoasa(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
ciscoasa(config-if)# security-level 0
ciscoasa(config-if)# ip add 172.16.1.1 255.255.255.0
ciscoasa(config-if)# no sh
Ethernet 0/1接口的配置:
ciscoasa(config)# int e0/1
ciscoasa(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
ciscoasa(config-if)# security-level 100
ciscoasa(config-if)# ip add 10.1.1.1 255.255.255.0
ciscoasa(config-if)# no sh
查看Conn表:
【最后一行信息表示一条TCP连接,其标志UIO表示该连接是“UP”并且允许入站和出战双向通信。】
配置ACL:
在ASA上配置ACL有两个作用:一是允许入站连接;二是控制出战连接的流量。
标准ACL:
asa(config)#access-list acl-name [standrad] {permit | deny } ip_addr mask
扩展ACL:
Asa(config)#access-list acl_name [extended] {permit | deny } protocol src_ip_addr src_mask dst_ip_addr dst_mask [operator port]
将ACL应用到接口:
asa(config)#access-group acl_name {in | out} interface interface_name
路由器上的ACL使用反码,而ASA上的ACL使用正常的掩码。
标准ACL过滤流量时不能应用到接口,它应用在其他场合,eg:远程访问***中分离隧道的配置。
允许入站连接:
ciscoasa(config)# access-list out_to_in permit ip host 172.16.1.1 host 10.1.1.1
ciscoasa(config)# access-group out_to_in in int outside
控制出站连接的流量:
ciscoasa(config)# access-list in_to_out deny ip 10.1.1.0 255.255.255.0 any
ciscoasa(config)# access-list in_to_out permit ip any any
ciscoasa(config)# access-group in_to_out in int inside
配置静态路由:
命令格式:
Ciscoasa(config)#route interface-name network mask next-hop-address(吓一跳地址)
其他配置:
ICMP协议:默认情况下,禁止ICMP报文穿越ASA是基本的安全性考虑。
保存running configuration 配置到startup configuration :
ciscoasa(config)# write memory
ciscoasa(config)# copy running-config startup-config
清除running configuration 所有的配置
ciscoasa(config)# clear configure all
清除running configuration中指定命令的配置:
eg:清除所有access-list命令的配置:
ciscoasa(config)# clear configure access-list
eg:只删除access-listin_to_out的配置:
ciscoasa(config)# clear configure access-list in_to_out
删除startup-config配置文件:
ciscoasa# write erase
4.多安全区域:
DMZ区域概述:
DMZ:称为“隔离区”,也称“非军事化区”,是位于企业内部网络和外部网络之间的一个网络区域。
DMZ内通常放置一些不含机密信息的公用服务器,这样来自外网的访问DMZ中的服务,但不能访问内网中的公司机密等信息。
DMZ的默认访问规则:
Inside可以访问outside;
Inside可以访问DMZ;
DMZ可以访问outside;
DMZ不能访问inside;
Outside不能访问inside;
Outside不能访问DMZ
DMZ区域的基本配置:
配置接口(要点提示):
分别配置R1、R2和R3模拟PC并启用Telnet,验证R1上可以Telnet到R2和R3,在R3上可以Telnet到R2但不能Telnet到R1,在R2上不能Telnet到R1和R3。
配置ACL实现R2能够Telnet到R3。
使用show conn detail 命令查看conn表。
使用show route 命令查看路由表。