今天介绍一下目前Cisco ASA 5500系统常见的六种型号:
ASA首先是一个状态化防火墙,用于维护一个关于用户信息的连接表,称为Conn表。表的关键信息:
状态化防火墙进行状态化处理的过程:
①:pc向web服务器发送一个HTTP请求;
②:HTTP请求到达防火墙,防火墙将连接信息添加到Conn表中;
③:防火墙将HTTP请求转发给web服务器。
流量返回时,状态化防火墙处理的过程如下所述;
①:web服务器相应HTTP请求,返回相应的数据流量;
②:防火墙拦截该流量,检查其连接信息:
如果在Conn表中查找到匹配的连接信息,则流量被允许;
如果在Conn表中找不到匹配的连接信息,则流量被拒绝。
ASA使用安全算法执行以下三项基本操作:
访问控制列表;
连接表;
检测引擎。
数据报文穿越ASA的过程:
①:一个新来的TCP SYN报文到达ASA,试图建立一个新的连接;
②:ASA检查访问控制列表,确定是否允许连接;
③:ASA执行路由查询,如果路由正确,ASA使用必要的会话信息在连接表中创建一个新条目;
④:ASA在检测引擎中检查预定义的一套规则,如果是已知应用,则进行下一步应用层检测;
⑤:ASA根据检测引擎确定是否转发或丢弃报文;
⑥:目的主机相应报文;
⑦:ASA接收返回报文并进行检测,在连接数据库中查询连接,确定会话信息与现有连接是否匹配;
⑧:ASA转发属于已建立地现有会话的报文。
ASA对原始报文的处理过程:
接口的名称:
物理名称:用于设置IP地址、双工、速率等信息;
逻辑名称:用来描述安全区域。
安全级别之间互相访问时,默认遵守的规则:
允许出站:允许从高安全级别区域访问低安全级别区域;
禁止入站:不允许低安全级别区域访问高安全级别区域;
禁止同安全级别的区域之间进行通信。
DMZ(隔离区域):一般放置一些对外公开的服务器,它的安全级别介于×××ide和outside之间。默认的访问规则是:
×××ide可以访问outside、×××ide可以访问DMZ;
DMZ可以访问outside、DMZ不能访问×××ide;
outside不能访问×××ide、outside不能访问DMZ。
下面我们通过一个实验实例来进一步了解一下如何配置:
防火墙的配置:
ASA(config)# int e0/0
ASA(config-if)# nameif ×××ide
#进入防火墙接口配置区域类型(×××ide 内部区域)
INFO: Security level for "×××ide" set to 100 by default.
#只有×××ide区域的安全级别是100
ASA(config-if)# ip add 20.1.1.1 255.255.255.0
ASA(config-if)# no sh
ASA(config-if)# int e0/2
ASA(config-if)# nameif DMZ
#进入防火墙接口配置区域类型(DMZ隔离区域)名字自己随便定义
INFO: Security level for "DMZ" set to 0 by default.
#除了×××ide区域,别的区域默认安全级别是0
ASA(config-if)# security-level 50
#手工设置安全级别是50
(DMZ区域的安全级别是介于×××ide区域和outside区域之间)
ASA(config-if)# ip add 30.1.1.1 255.255.255.0
ASA(config-if)# no sh
ASA(config-if)# int e0/1
ASA(config-if)# nameif outside
#进入防火墙接口配置区域类型(outside外部区域)名字自己随便定义
INFO: Security level for "outside" set to 0 by default.
除了×××ide区域,别的区域默认安全级别是0
ASA(config-if)# ip add 50.1.1.1 255.255.255.0
ASA(config-if)# no sh
防火墙基本配置已经完毕!已经遵守防火墙的默认访问规则
R1路由器
R1(config)#int f0/0
R1(config-if)#ip add 10.1.1.1 255.255.255.0
R1(config-if)#no sh
R1(config)#int f1/0
R1(config-if)#ip add 20.1.1.2 255.255.255.0
R1(config-if)#no sh
R1(config)#ip route 0.0.0.0 0.0.0.0 20.1.1.1
#给路由器配置一条默认路由(充当默认网关)
R1(config)#line vty 0 4
R1(config-line)#password 123
R1(config-line)#login
#启用Telnet功能
R2路由器
R2(config)#int f0/0
R2(config-if)#ip add 30.1.1.2 255.255.255.0
R2(config-if)#no sh
R2(config)#int f1/0
R2(config-if)#ip add 40.1.1.1 255.255.255.0
R2(config-if)#no sh
R2(config)#ip route 0.0.0.0 0.0.0.0 30.1.1.1
#给路由器配置一条默认路由(充当默认网关)
R2(config)#line vty 0 4
R2(config-line)#password 123
R2(config-line)#login
#启用Telnet功能
R3路由器
R3(config)#int f0/0
R3(config-if)#ip add 50.1.1.2 255.255.255.0
R3(config-if)#no sh
R3(config)#int f1/0
R3(config-if)#ip add 60.1.1.1 255.255.255.0
R3(config-if)#no sh
R3(config)#ip route 0.0.0.0 0.0.0.0 50.1.1.1
#给路由器配置一条默认路由(充当默认网关)
R2(config)#line vty 0 4
R2(config-line)#password 123
R2(config-line)#login
#启用Telnet功能
ASA(config)# route ×××ide 10.1.1.0 255.255.255.0 20.1.1.2
#配置一条内部到达10.1.1.0 网段的静态路由,可以写成
route ×××ide 0 0 20.1.1.2
ASA(config)# route DMZ 40.1.1.0 255.255.255.0 30.1.1.2
#配置一条隔离区域到达40.1.1.0 网段的静态路由
ASA(config)# route outside 60.1.1.0 255.255.255.0 50.1.1.2
#配置一条外部到达60.1.1.0 网段的静态路由
ASA(config)# password 123
ASA(config)# telnet 10.1.1.0 255.255.255.0 ×××ide
#ASA防火墙启用Telnet功能
现在PC1既可以Telnet到ASA防火墙了
telnet的方式主要应用于内部网络
ASA(config)# hostname ASA
ASA(config)# domain-name ASA.com
#名字可以自己随便定义
ASA(config)# crypto key generate rsa modulus 1024
#生成RSA秘钥对
INFO: The name for the keys will be: <Default-RSA-Key>
Keypair generation process begin. Please wait...
ASA(config)# ssh 0 0 outside
#配置允许外部区域的任何网段的主机可以使用ssh的方式管理ASA
ASA(config)# ssh timeout 30
#配置空闲超时时间为30分钟
ASA(config)# ssh version 2
#启用ssh版本2
PC3可以使用ssh的方式管理ASA防火墙,默认的用户名是pix,密码就是Telnet的密码。
ssh管理的方式一般用于外部网络。
我们在防火墙上设置一些ACL语句
ASA(config)# access-list 100 permit ip any any
ASA(config)# access-group 100 in int outside
#允许所有基于IP协议的数据包,应用到outside区域的入方向
(在防火墙中,ACL列表的名字可以随便定义,可以是数字、英文、符号)
ASA(config)# access-list 1111 permit icmp any any
ASA(config)# access-group 1111 in int DMZ
#允许所有基于ICMP协议的数据包,应用到DMZ区域的入方向
ASA(config)# show access-list
#查看所有的ACL语句
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096)
alert-interval 300
access-list 100; 1 elements
access-list 100 line 1 extended permit ip any any (hitcnt=1) 0xa2f91e1d
access-list 1111; 1 elements
access-list 1111 line 1 extended permit icmp any any (hitcnt=0) 0xbbe81ed1
**ASA(config)# show run access-group
#查看防火墙那个区域应用了那个ACL语句**
access-group 1111 in interface DMZ
access-group 100 in interface outside
ASA(config)# show route
#查看防火墙的路由表
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 20.1.1.2 to network 0.0.0.0
C 50.1.1.0 255.255.255.0 is directly connected, outside
C 20.1.1.0 255.255.255.0 is directly connected, ×××ide
S 40.1.1.0 255.255.255.0 [1/0] via 30.1.1.2, DMZ
S 10.1.1.0 255.255.255.0 [1/0] via 20.1.1.2, ×××ide
S 60.1.1.0 255.255.255.0 [1/0] via 50.1.1.2, outside
C 30.1.1.0 255.255.255.0 is directly connected, DMZ
S* 0.0.0.0 0.0.0.0 [1/0] via 20.1.1.2, ×××ide
ASA(config)# show conn detail
#查看防火墙的Conn表
0 in use, 1 most used
Flags: A - awaiting ×××ide ACK to SYN, a - awaiting outside ACK to SYN,
B - initial SYN from outside, C - CTIQBE media, D - DNS, d - dump,
E - outside back connection, F - outside FIN, f - ×××ide FIN,
G - group, g - MGCP, H - H.323, h - H.225.0, I - inbound data,
i - incomplete, J - GTP, j - GTP data, K - GTP t3-response
k - Skinny media, M - SMTP data, m - SIP media, n - GUP
O - outbound data, P - ×××ide back connection, q - SQL*Net data,
R - outside acknowledged FIN,
R - UDP SUNRPC, r - ×××ide acknowledged FIN, S - awaiting ×××ide SYN,
s - awaiting outside SYN, T - SIP, t - SIP transient, U - up
X - ×××pected by service module
基本命令就这些!
实验介绍完毕!共同学习,共同成长!
转载于:https://blog.51cto.com/14157628/2399308