您的位置:首页 > 其它

思科ASA基础理论与配置

2015-12-01 18:35 288 查看
思科的ASA防火墙是一个状态化防火墙,维护一个关于用户信息的连接表(conn),默认情况下ASA对TCP和UDP的流量提供状态化连接,对ICMP协议是非状态化的。

思科ASA的报文穿越过程如下:

一个新来的TCP报文视图建立连接

1、ASA检查ACL是否允许连接

2、ASA执行路由查询如果有路由则ASA创建一个conn条目

3、ASA在检测引擎中检测预定义的一套规则,根据检测引擎检测结果确定是否转发

4、ASA接收到返回报文进行conn表比对是否有条目有就允许没有就丢弃

如果从安全级别低的端口要访问安全级别高的端口,数据包到达防火墙会检查ACL和conn表匹配其中一个条目都可以转发!

ASA访问规则

安全级别高的端口允许访问安全级别低的端口

安全级别低的端口不允许访问安全级别高的端口

两个端口安全级别相同也不可以互相访问

下面通过实验来对ASA进行一些基本的配置
实验拓扑
软件版本GNS3 0.8.6 ASA镜像为 ASA8.0(2)




实验需求

允许R1的环回口能和R2通信

允许R1和R2可以互相telnet

允许R1 telnet 到ASA

允许R2能够对ASA进行SSH远程管理

地址规划

R1 loopback 0 IP:192.168.10.1/24 (模拟内网网段)
R1 f0/0 IP:11.0.0.2/24
R2 loopback 0 IP:12.0.0.2/24
R2 loopback 0 IP:202.106.1.1/24
ASA1 e0/0 IP:11.0.0.1/24
ASA1 e0/1 IP:12.0.0.1/24

R1配置:
一些简单的配置这里就不做解释了
R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 11.0.0.2 255.255.255.0
R1(config-if)#no shut
R1(config-if)#int loo 0
R1(config-if)#ip add 192.168.10.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 11.0.0.1
R1(config)#line vty 0 4
R1(config-line)#password abc123
R1(config-line)#login
R1(config-line)#exit
R1(config)#enable password abc123

R2配置:
R2#conf t
R2(config)#int f0/0
R2(config-if)#ip add 12.0.0.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int loo 0
R2(config-if)#ip add 202.106.1.1 255.255.255.0
R2(config-if)#no shut
R2(config)#ip route 0.0.0.0 0.0.0.0 12.0.0.1
R2(config)#line vty 0 4
R2(config-line)#pas
R2(config-line)#password abc123
R2(config-line)#login
R2(config-line)#exit
R2(config)#enable password abc123

ASA1配置:
在思科模拟器中使用“/mnt/disk0/lina_monitor”命令将linux模式转换成思科命令行

ciscoasa> enable
Password: //没有密码直接回车就行
ciscoasa# conf t
ciscoasa(config)# hostname ASA1 //改设备名
ASA1(config)# int e0/0
ASA1(config-if)# nameif inside //在思科设备上接口要起一个逻辑名称(名称可以随意定义)否则IP地址不生效,默认outside口安全级别为100,其它所有接口都为0。可以通过“security-level”来定义安全级别
INFO: Security level for "inside" set to 100 by default.
ASA1(config-if)# ip add 11.0.0.1 255.255.255.0
ASA1(config-if)# no shut
ASA1(config-if)# int e0/1
ASA1(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
ASA1(config-if)# ip add 12.0.0.1 255.255.255.0
ASA1(config-if)# no shut

使用“show interface ip brief”查看接口信息



使用“show route”查看ASA的路由表



防火墙目前只有直连的两个网段路由并没有R1和R2环回口的路由信息

添加静态路由

ASA1(config)# route outside 202.106.1.0 255.255.255.0 12.0.0.2
ASA1(config)# route inside 192.168.10.0 255.255.255.0 11.0.0.2





用R1去telnet R2能否成功呢?

显然是成功了。




使用"show conn detail"来查看ASA的conn表


从图上可以看到有一条TCP连接,是inside的11.0.0.2访问outside的202.106.1.1的23端口的连接

用R1去ping R2 可以ping通吗?

显然并没有ping通



因为思科的ASA防火墙只对TCP和UDP协议记录连接,对ICMP是不记录连接的所以数据包回报的时候查看ACL和conn表都没有查到对应的条目则直接丢弃。

使用ACL允许icmp协议

ASA1(config)# access-list 110 permit icmp 202.106.1.0 255.255.255.0 192.168.10.0 255.255.255.0
//上面说过端口安全级别高的可以访问端口安全级别低,所以只有回报回不来。则定义一个允许202.106.1.0网段icmp流量访问192.168.10.0网段
ASA1(config)# access-group 110 in interface outside //将列表应用到outside接口的in方向

测试





下面大家思考一个问题,现在R2 telnet R1能否成功呢?




显然是被拒绝的

根据刚才的经验,很明显是因为ASA的conn表和ACL中没有条目匹配这一请求

定义ACL

ASA1(config)# access-list 110 permit tcp 202.106.1.0 255.255.255.0 192.168.10.0 255.255.255.0 eq 23
//允许202.106.1.0网段访问 192.168.10.0网段的23端口,因为之前110列表已经应用到接口了这里就不再次应用了

测试




配置ASA的telnet功能

ASA1(config)# enable password abc123 //配置特权模式密码
ASA1(config)# passwd abc123 //配置远程登录密码
ASA1(config)# telnet 192.168.10.0 255.255.255.0 inside //配置允许192.168.10.0网段telnet,在思科防火墙上不允许安全级别最低的端口使用telnet访问。

测试





配置使用用户名和密码telnet登录

ASA1(config)# username test password abc123 //创建一个用户
ASA1(config)# aaa authentication telnet console LOCAL //配置telnet登录为本地验证,这里的LOCAL区分大小写

测试




使用SSH原创管理设备

思科防火墙只允许端口安全级别最低的使用SSH原创管理设备

SSH配置如下:

ASA1(config)# crypto key generate rsa modulus 1024 //生成一个rsa密钥,密钥长度1024bit
ASA1(config)# ssh version 2 //使用版本2
ASA1(config)# ssh 12.0.0.2 255.255.255.255 outside //允许12.0.0.2这个地址从outside口使用SSH进行远程访问

测试



-l :登录的用户名
思科防火墙默认ssh登录用户名为pix,密码为远程登录密码。使用pix是不安全的,可以使用本地用户名验证来登录这样pix就无法登录了。

使用本地用户名进行SSH登录

ASA1(config)# aaa authentication ssh console LOCAL

测试





登录成功

补充命令:

write memory //保存配置

clear configure all //清空当前所有配置

clear configure access-list //清除所有访问控制列表

write erase //删除startup-config配置文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ASA 防火墙