当有位大虾,试图通过 console线缆来登录路由器或者交换机,我们怎么保证该用户登录的是安全的,它是合法的管理员,而不是入侵者,有的人说,只需要设置Console接 口登录密码,以及特权模式密码。如果这位大虾,要通过网络访问,如(SSH,Telnet),还需要设置远程登录的密码。这样一来,这位大虾本地,和远程 管理和调试网络设备,需要记忆多个密码。而且你这个密码不一定是安全的。
那为什么要使用AAA,而不是只配置一个密码解决问题了。使用 AAA的好处是什么?
1,配置简单,管理方便
2,安全性高,用户名和密码等,可以通过加密之后在网络中传输,防止嗅探和欺骗
3,用户记忆少,操作灵活,AAA可以与其他的技术综合使用,如PPP认证由AAA完成等
而配置密码,只是一个单一的安全性。
如何在Cisco设备上来配置AAA的认证?
实验设备:
cisco 3640路由器1台,PC一台,Console线缆一根,交叉线一根
实验拓扑:
实验过程:
第一步:通过console线缆,使用超级终端或者 SecureCRT登录路由器,完成基本配置,同时将交叉线连接到路由器E1/0,t在PC的接口上配置IP为192.168.1.243,掩码 255.255.255.0
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#no ip domain-lookup
Router(config)#line console 0
Router(config-line)#no exec-t
Router(config-line)#logg syn
Router(config)#host R1
R1(config)#int e1/0
R1(config-if)#ip add 192.168.1.244 255.255.255.0
R1(config-if)#no sh
R1(config-if)#end
*Mar 1 00:02:02.499: %SYS-5-CONFIG_I: Configured from console by console
R1#ping 192.168
*Mar 1 00:02:03.659: %LINK-3-UPDOWN: Interface Ethernet1/0, changed state to up
*Mar 1 00:02:04.659: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet1/0, changed state to up
R1#ping 192.168.1.243
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.243, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 12/32/44 ms
第二步:启用AAA,并配置登录验证为local
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#aaa ?
new-model Enable NEW access control commands and functions.(Disables OLD commands.)
R1(config)#aaa new-model 全局启用AAA功能
R1(config)#aaa authentication login ? 当用户登录时启用AAA认证功能,并且定义认证时调用的名字是默认的”default”,还是自己随便定义1个
WORD Named authentication list.
default The default authentication list.
R1(config)#aaa authentication login default ? 指定用哪种认证方式
enable Use enable password for authentication. 使用特权密码
group Use Server-group 使用Radius或者Tacacs+协议
krb5 Use Kerberos 5 authentication. 使用Kerberos
krb5-telnet Allow logins only if already authenticated via Kerberos V Telnet.
line Use line password for authentication. 使用线路认证方式
local Use local username authentication. 使用本地认证方式,需配置用户名和密码
local-case Use case-sensitive local username authentication.
none NO authentication. 不做认证
配置当用户登录设备时,使用aaa本地登录认证方式,认证调用的名字为default,认证方式为local
R1(config)#aaa authentication login default local
配 置本地登录时,使用的用户名和密码。密码我配置的为经过MD5加密的secret密码。安全性高,在show running-config显示的是密文的。不建议配置明文的用户名和密码如(R1(config)#username admin password admin)
密码建议配置复杂一点,要有大小写,特殊字符,和数字,长度大于8位以上。如:P@ssw0rd
R1(config)#username nousername secret nopassword
第三步:启用认证调试,观察debug 现象
R1#debug aaa authentication
AAA Authentication debugging is on
R1#
第四步:如图1所示,在PC上使用telnet,远程登录路由器
第十步:输入正确的用户名和密码
*Jul 16 09:20:29.983: AAA: parse name=tty0 idb type=-1 tty=-1
*Jul 16 09:20:29.983: AAA: name=tty0 flags=0x11 type=4 shelf=0 slot=0 adapter=0 port=0 channel=0
*Jul 16 09:20:29.983: AAA/MEMORY: create_user (0x6503A7E0) user='cisco' ruser='NULL' ds0=0 port='tty0' rem_addr='async' authen_type=ASCII service=ENABLE priv=15 initial_task_id='0', vrf= (id=0)
*Jul 16 09:20:29.983: AAA/AUTHEN/START (108160739): port='tty0' list='' action=LOGIN service=ENABLE
*Jul 16 09:20:29.983: AAA/AUTHEN/START (108160739): console enable - default to enable password (if any)
*Jul 16 09:20:29.983: AAA/AUTHEN/START (108160739): Method=ENABLE
R1#
*Jul 16 09:20:29.983: AAA/AUTHEN(108160739): Status=GETPASS
R1#
*Jul 16 09:20:31.039: AAA/AUTHEN/CONT (108160739): continue_login (user='(undef)')
*Jul 16 09:20:31.039: AAA/AUTHEN(108160739): Status=GETPASS
*Jul 16 09:20:31.043: AAA/AUTHEN/CONT (108160739): Method=ENABLE
*Jul 16 09:20:31.075: AAA/AUTHEN(108160739): Status=PASS
*Jul 16 09:20:31.075: AAA/MEMORY: free_user (0x6503A7E0) user='NULL' ruser='NULL' port='tty0' rem_addr='async' authen_type=ASCII service=ENABLE priv=15 vrf= (id=0)
进入特权模式之后,用户的级别是在15,思考,在用户模式级别是多少?通过什么命令可以查看到你当前所处的模式,是那个级别?
总结:
本地登录认证配置有两种方法:
第一种:
R1#conf t
R1(config)#aaa new-model
R1(config)#aaa authentication login default local
R1(config)#username cisco password cisco
R1(config)#enable password cisco
R1(config)#line vty 0 4
R1(config)#login authentication default
第二种:
R1(config)#username cisco secret cisco
R1(config)#aaa new-model
R1(config)#aaa authentication login CISCO local
R1(config)#line console 0
R1(config-line)#login authentication CISCO
R1(config-line)#line vty 0 4
R1(config-line)#login authentication CISCO