目录
实验难度 | 3 |
实验复杂度 | 4 |
一、实验相关原理
我们在做平时的远程登陆防火墙或者路由器的实验时,远程的配置信息都是配置在防火墙与路由器上的,当防火墙与路由器这些设备需要中转的流量比较多时,那么就会出现一个问题,设备资源不够用。特别是防火墙设备,它的最重要的功能是监控与过滤数据,若我们可以把相关的配置信息存放在其他服务器上,在需要的时候再来调用它,这样不就可以节省设备的资源了吗?是的,我们可以使用ACS服务器来存储这些数据,在用户需要访问防火墙时,会把验证的数据经防火墙发送给ACS服务器,通过ACS服务器的验证才可以访问配置防火墙。也许有人会问,虽然这样可以节省设备的资源,但是这样下来,不就增加建设成本了吗?是的,没有完美的方法,因为这个是硬件本身限定死了的。本实验就是通过这种办法,把需要验证的数据存放在ACS服务器,远程的设备向防火墙发送验证数据时,就会被送到ACS服务器上验证,通过验证就可以访问防火墙设备了。
二、实验拓扑
三、实验步骤
1.搭建如图所示的网络拓扑;
2.初始化路由器,配置相应的IP地址;
3.配置ASA的初始相关参数:
防火墙的名称为ASA
接口 | 接口名称 | 安全级别 | IP地址 |
G0 | inside | 100 | 192.168.100.254/24 |
G1 | dmz | 50 | 192.168.200.254/24 |
G2 | outside | 0 | 50.100.200.254/24 |
4.在ASA上配置Telnet的认证信息,
用户名称/密码:user1/ccie
特权密码为:ccie
ASA的三个接口区域都允许telnet
应用ASA的aaa本地用户数据库进行认证
5.分别使用三个区域的路由器来测试到ASA的远程Telnet功能;
6.使用ACS来认证outside接口的telnet信息,相关的信息如下:
在防火墙上配置AAA认证,采用tacacs+协议,认证的密码为ccie,认证的服务器IP地址为192.168.100.1;
7.在ACS上配置AAA的客户端与用户:
客户端信息:名称ASA,单个IP地址为192.168.100.254,采用TACACS+协议认证,共享的密钥为ccie;
用户信息:用户名称与密码,user2/ccna,user3/ccie
8.在防火墙上测试与ACS服务器telnet认证功能,然后在outside路由器来验证aaa的telnet功能;
9.在防火墙上配置outside区域所有接口都可以ssh的认证功能,用户名与密码就使用ACS服务器的user3/ccie,创建的域名为general.com;
四、实验过程
1.搭建如图所示的网络拓扑;
使用GNS 3来搭建这个网络拓扑就可以了,过程略。
2.初始化路由器,配置相应的IP地址;
R1:
R2:
R3:
3.配置ASA的初始相关参数:
防火墙的名称为ASA
接口 | 接口名称 | 安全级别 | IP地址 |
G0 | inside | 100 | 192.168.100.254/24 |
G1 | dmz | 50 | 192.168.200.254/24 |
G2 | outside | 0 | 50.100.200.254/24 |
注:这里的ACS服务器与Windows 10主机就不演示如何配置IP地址了。
4.在ASA上配置Telnet的认证信息,
用户名称/密码:user1/ccie
特权密码为:ccie
ASA的三个接口区域都允许telnet
应用ASA的aaa本地用户数据库进行认证
5.分别使用三个区域的路由器来测试到ASA的远程Telnet功能;
inside路由器:
dmz路由器:
outside路由器:
注意:
这里一共有三个区域的设备来远程Telnet防火墙,但是只有inside与dmz区域的路由器可以成功,这是什么原因呢?这是接口的安全级别导致的,在之前的防火墙文章我有写到,最低安全级别的接口是无法被telnet的,这里就是outside接口无法被telnet。那有什么办法可以实现outside区域也可以实现telnet功能吗?有,可以使用改变安全级别的方法来达到这个效果,现在我们来尝试一下:
1)我们把outside的接口安全级别设置为60,这样它的安全级别就不是最低的了
2)我们使用outside路由器与dmz路由器来telnet防火墙
现在是outside区域的设备可以telnet防火墙,而dmz区域的设备不可以telnet防火墙了。
注意:
防火墙的作用可以总结为监控与过滤数据功能,那么这里有一个问题,我们的认证数据都是存储在防火墙上的,若这个防火墙的工作量大的话,那么可能会造成防火墙资源不够用的情况。为了避免这种情况,我们可以把相关的认证、审计、授权等信息保存在ACS服务器上,需要应用的时候就直接调用服务器上的数据库来验证、处理就可以了。
6.使用ACS来认证outside接口的telnet信息,相关的信息如下:
在防火墙上配置AAA认证,采用tacacs+协议,认证的密码为ccie,认证的服务器IP地址为192.168.100.1;
7.在ACS上配置AAA的客户端与用户:
1)客户端信息:名称ASA,单个IP地址为192.168.100.254,采用TACACS+协议认证,共享的密钥为ccie;
2)用户信息:用户名称与密码,user2/ccna,user3/ccie
8.在防火墙上测试与ACS服务器的telnet认证功能,然后在outside路由器来验证aaa的telnet功能;
1)在防火墙上测试与ACS服务器的aaa认证功能
2)在outside路由器来验证aaa的telnet功能
这里我们的命令需要修改一下,把之前aaa认证的telnet命令重新编辑一下,添加多一个词ACS
好了,这里我们可以看到使用user3这个用户是可以通过认证登陆防火墙的,那么我们来看看防火墙上是否有这个用户的相关信息:
这里我们只看到防火墙的user1这个用户,并没有看到user3这个用户的本地信息,说明我们的配置是没有问题的
9.在防火墙上配置outside区域所有接口都可以ssh的认证功能,用户名与密码就使用ACS服务器的user3/ccie,创建的域名为general.com;
测试:
代码解析:
ASA(config)# aaa authentication telnet console LOCAL //启用telnet的aaa认证方式,这里是调用本地用户数据库LOCAL
ASA(config)# aaa-server ACS protocol tacacs+ //指定aaa的服务器名称为ACS,采用TACACS+协议认证
ASA(config-aaa-server-group)# aaa-server ACS (inside) host 192.168.100.1 //认证的是防火墙inside区域的192.168.100.1这个IP地址作为ACS服务器
ASA(config-aaa-server-host)# key ccie //与ACS认证的密钥为ccie
ASA(config)# test aaa-server authentication ACS username user3 password ccie //测试防火墙与aaa服务器的连接是否成功,用户名为user3,密钥为ccie
Server IP Address or name: 192.168.100.1 //输入ACS的IP地址或名称
ASA(config)# aaa authentication telnet console ACS LOCAL //这里是采用aaa的ACS服务组的本地telnet认证,简单的说就是调用ACS服务器的数据来进行认证,认证数据不在防火墙上
总结
这个章节主要是介绍了防火墙调用ACS服务器的数据来进行验证其他用户访问的内容,这里有telnet与ssh的知识点,相对新手来说,这个章节的内容算是中等难度。好了,我们在下一个章节再见,加油!