目录
前言
学IE以前认为IA很简单,学IE以后发现IA最重要;好多IE学员拿到证以后还不知道什么是二层转发,什么是三层转发;这些都是IA的基础,基础扎实学IE才会顺风顺水一举拿下,学IA一定要做到对知识点一公里深一厘米宽,知识点延展不用太宽。
没有什么知识点是一个实验解决不了的,如果有就再抓个包!
VRP基础
学习华为认证就要了解通用路由平台VRP。
交换机可以隔离冲突域,路由器可以隔离广播域,这两种设备在企业网络中应用越来越广泛。随着越来越多的终端接入到网络中,网络设备的负担也越来越重,这时网络设备可以通过华为专有的VRP系统来提升运行效率。
通用路由平台VRP(Versatile Routing Platform)是华为公司数据通信产品的通用操作系统平台,它以IP业务为核心,采用组件化的体系架构,在实现丰富功能特性的同时,还提供了基于应用的可裁剪与可扩展的功能,使得路由器与交换机的运行效率大大增加。能对VRP熟练地进行配置与操作是对网络工程师的一种基本要求。
VRP是华为公司具有自主知识产权的网络操作系统,可以运行在多种硬件平台之上。VRP拥有一致的网络界面、用户界面与管理界面,为用户提供了灵活丰富的应用解决方案。
VRP平台以TCP/IP协议簇为核心,实现了数据链路层、网络层与应用层的多种协议,在操作系统中集成了路由交换技术、QoS技术、安全技术与IP语音技术等数据通信功能,并以IP转发引擎技术作为基础,为网络设备提供了出色的数据转发能力。
了解一下VRP的历史,以后配置会很多,所以一些功能及配置可以在ENSP模拟器上进行查看、练习,练得多了就熟练了问题不大。
AAA
AAA(网络安全系统)是认证(Authentication)、授权(Authorization)和计费(Accounting)的简称,是网络安全中进行访问控制的一种安全管理机制,提供认证、授权和计费三种安全服务。
基本概念
AAA提供的安全服务具体是指:
- 认证(Authentication):是对用户的身份进行验证,判断其是否为合法用户。
- 授权(Authorization):是对通过认证的用户,授权其可以使用哪些服务。
- 计费(Accounting):是记录用户使用网络服务的资源情况,这些信息将作为计费的依据。
首先,认证部分提供了对用户的认证。整个认证通常是采用用户输入用户名和密码来进行权限审核。认证的原理是每个用户都有一个唯一的权限获得标准。由AAA服务器将用户的标准同数据库中每个用户的标准一一核对。如果符合,那么对用户认证通过。如果不符合,则拒绝提供网络连接。
其次,用户要通过授权来获得操作相应任务的权限。比如,登录系统后,用户可能会执行一些命令来进行操作。这时,授权过程会检测用户是否拥有执行这些命令的权限。简单而言,授权过程是一系列强迫策略的组合,包括:确定活动的种类或质量、资源或者用户被允许的服务有哪些。授权过程发生在认证上下文中,一旦用户通过了认证,他们也就被授予了相应的权限。
最后,计费这一过程将会计算用户在连接过程中消耗的资源数目。这些资源数目包括连接时间或者用户在连接过程中的收发流量等等。可以根据连接过程的统计日志、用户信息、授权控制、账单、趋势分析、资源利用以及容量计划来执行计费过程。
应用实例
AAA一般采用C/S(客户端/服务器)模式,这种模式结构简单、扩展性好,且便于集中管理用户信息,如下图:
AAA客户端运行于NAS(Network Access Server,网络接入服务器)上,AAA服务器用于集中管理用户信息。
- 远程接入用户通过网络(如ISDN、PSTN等)与NAS建立连接,从而获得访问其它网络(如Internet)的权利或取得网络资源。
- NAS负责把用户的认证、授权、计费信息透传给AAA服务器。
- AAA服务器负责接受收用户的连接请求,并对用户身份进行验证,返回用户配置信息给NAS。
- NAS根据服务器的返回信息进行配置并告知用户结果。
常用协议
在AAA服务器上实现认证、授权、计费应用的协议主要包括RADIUS和TACACS+协议(华为称HWTACACS),Diameter协议作为新的标准也在逐步推广使用。
TACACS+在TACACS协议基础上进行了功能增强。TACACS+是Cisco私有协议,HWTACACS是华为协议。
应用模式
认证模式
AAA支持本地认证、不认证、RADIUS认证和TACACS+认证模式,并允许组合使用,组合认证模式是有先后顺序的。
认证模式缺省使用本地认证。
授权模式
AAA支持本地授权、不授权和TACACS+授权模式,并允许组合使用,组合授权模式有先后顺序。
授权模式缺省使用本地授权。
RADIUS的认证和授权是绑定在一起的,所以不存在RADIUS授权模式。
计费模式
AAA支持不计费、RADIUS计费、TACACS+计费模式。
Telnet协议
服务端开启telnet协议使用的是TCP 23号端口。
如果企业网络中有一台或多台网络设备需要远程进行配置和管理,管理员可以使用Telnet远程连接到每一台设备上,对这些网络设备进行集中的管理和维护。
Telnet提供了一个交互式操作界面,允许终端远程登录到任何可以充当Telnet服务器的设备。Telnet用户可以像通过Console口本地登录一样对设备进行操作。远端Telnet服务器和终端之间无需直连,只需保证两者之间可以互相通信即可。通过使用Telnet,用户可以方便的实现对设备进行远程管理和维护。
用户界面
VTY(虚拟终端)接口最大可配范围为0-14。
用户界面类型 | 编号 |
Console | 0 |
VTY | 0-4 |
命令:
<Huawei>system-view
[Huawei]user-interface vty 0 4
[Huawei-ui-vty0-4]
每类用户界面都有对应的用户界面视图。用户界面(User-interface)视图是系统提供的一种命令行视图,用来配置和管理所有工作在异步交互方式下的物理接口和逻辑接口,从而达到统一管理各种用户界面的目的。在连接到设备前,用户要设置用户界面参数。系统支持的用户界面包括Console用户界面和VTY用户界面。控制口(Console Port)是一种通信串行端口,由设备的主控板提供。虚拟类型终端(Virtual Type Terminal)是一种虚拟线路端口,用户通过终端与设备建立Telnet或SSH连接后,也就建立了一条VTY,即用户可以通过VTY方式登录设备。设备一般最多支持15个用户同时通过VTY方式访问。执行user-interface maximum-vty命令可以配置同时登陆到设备的VTY类型用户界面的最大个数。如果将最大登录用户数设为0,则任何用户都不能通过Telnet或者SSH登录到路由器。display user-interface命令用来查看用户界面信息。
不同的设备,或者使用不同版本的VRP软件系统,具体可以被使用的VTY接口的最大数量可能不同。
认证模式
认证模式 | 描述 |
AAA | AAA认证 |
Password | 登录时只通过密码实现验证 |
在配置Telnet登录用户界面时,必须配置认证方式,否则用户无法成功登录设备。
Telnet认证有两种模式:AAA模式,密码模式。
1.当配置用户界面的认证方式为AAA时,用户登录设备时需要首先输入登录用户名和密码才能登录
2.当配置用户界面的认证方式为Password时,用户登录设备时需要首先输入登录密码才能登陆(如果被Telnet设备认证模式为Password,没有配置密码,则无法Telnet登录此设备)。
Telnet配置
网络设备作为Telnet服务器,通常使用密码认证机制来认证连接到VTY接口的用户。
VTY(Virtual Type Terminal)是网络设备用来管理和监控通过Telnet方式登录的用户界面。网络设备为每个Telnet用户分配一个VTY界面。缺省情况下,ARG3系列路由器支持的Telnet用户最大数为5个,VTY0 4的含义是VTY0,VTY1,VTY2,VTY3,VTY4。如果需要增加Telnet用户的登录数量,可以使用user-interface maximum-vty命令来调整VTY界面的数量。
执行authentication-mode password命令,可以配置VTY通过密码对用户进行认证。
Telnet服务器配置:
[Huawei] telnet server enable \\开启telnet服务功能(默认开启)
[Huawei] interface Ethernet2/0/0
[Huawei-Ethernet2/0/0] ip address 10.1.1.1 24
[Huawei] user-interface vty 0 4
[Huawei-ui-vty0-4] authentication-mode password
[Huawei-ui-vty0-4] set authentication password cipher huawei
[Huawei-ui-vty0-4] user privilege level [0-15] \\默认用户权限是0,3-15的权限一样均为管理权限。
[Huawei-ui-vty0-4] idle-timeout 3 0 \\设置空闲超时时间为3分钟,0 0表示用不超时。
SSH协议
实际场景中,对于信息安全要求严格的中大型企业均使用SSH协议,相比Telnet协议SSH协议更安全可靠,因为传统的网络服务程序,如:ftp、pop和Telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,所以口令和数据很容易被截取。
而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。
“中间人”攻击:“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。
通过使用SSH,你可以把所有的数据进行加密,这样“中间人”这种攻击方式就不能实现了,而且也能够防止DNS欺骗和IP欺骗。
使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。
SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的“通道”。
ssh(安全外壳协议)是Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
验证
从客户端来看,SSH提供两种级别的安全验证。
第一种级别(基于口令的安全验证)
只要你知道自己账号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密钥的安全验证)
1.客户端自己创建一对密匙(公钥,密钥)。
2.把共用密匙放在需要访问的服务器上。
3.客户端软件就会向服务器发出请求(包括IP、用户名),请求用你的密匙进行安全验证。
4.服务器收到请求之后,先在该服务器上你的主目录下寻找你的共用密匙,然后把它和你发送过来的共用密匙进行比较。如果两个密匙一致,服务器就用共用密匙加密“质询”(challenge)并把它发送给客户端软件。
5.客户端软件收到“质询”之后可以用你的私人密匙解密再把它发给服务器。
6.服务器端接收到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。
用这种方式, 你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。
配置
组网需求
如图所示,用户希望在服务器端和客户端进行安全的数据交互,配置两个登录用户为Client001与Client002,分别使用password认证方式与RSA认证方式登录SSH服务器,并且配置新的端口号,而不使用缺省端口号。
说明:使用STelnet V1协议存在安全风险,建议使用STelnet V2登录设备。
配置思路
采用如下的思路配置通过STelnet登录其他设备:
1.在SSH服务器端生成本地密钥对,实现在服务器端和客户端进行安全的数据交互。
2.在SSH服务器端配置SSH用户client001与client002分别使用不同的认证方式。
3.在SSH服务器端开启STelnet服务功能。
4.在SSH服务器端配置SSH用户client001与client002的服务方式为STelnet。
5.在SSH服务器端配置SSH服务器的端口号,有效防止攻击者的SSH服务标准端口的访问,确保安全性。
6.用户client001与client002分别以STelnet方式实现登录SSH服务器。
操作步骤
1.在服务器端生成本地密钥对
<Huawei> system-view
[Huawei] sysname SSH Server
[SSH Server] rsa local-key-pair create
The key name will be: Host
RSA keys defined for Host already exist.
Confirm to replace them? (y/n):y
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is less than 2048,
It will introduce potential security risks.
Input the bits in the modulus[default = 2048]:2048
Generating keys... ......................................................................................+++
....+++ .......................................++++++++
..............++++++++
2.在服务器端创建SSH用户
#配置VTY用户界面。
[SSH Server] user-interface vty 0 4
[SSH Server-ui-vty0 4] authentication-mode aaa
[SSH Server-ui-vty0 4] protocol inbound ssh
[SSH Server-ui-vty0 4] quit
- 创建SSH用户client001。
#新建用户名为client001为SSH用户,且认证方式为password。
[SSH Server] aaa
[SSH Server-aaa] local-user client001 password irreversible-cipher Huawei@123
[SSH Server-aaa] local-user client001 privilege level 3
[SSH Server-aaa] local-user client001 service-type ssh
[SSH Server-aaa] quit
[SSH Server] ssh user client001 authentication-type password
- 创建SSH用户client002。
#新建用户名为client002的SSH用户,且认证方式为RSA。
[SSH Server] aaa
[SSH Server-aaa] local-user client002 password irreversible-cipher Helloworld@123
[SSH-Server-aaa] local-user client002 privilege level 3
[SSH-Server-aaa] local-user client002 service-type ssh
[SSH-Server-aaa] quit
[SSH-Server] ssh user client002 authentication-type rsa
#在STelnet客户端Client002生成客户端的本地密钥对。
<Huawei> system-view
[Huawei] sysname client002
[client002] rsa local-key-pair create
The key name will be: Host RSA keys defined for Host already exist.
Confirm to replace them? (y/n):y
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is less than 2048,
It will introduce potential security risks.
Input the bits in the modulus[default = 2048]:2048
Generating keys... ......................................................................................+++
....+++
.......................................++++++++
..............++++++++
#查看客户端上生成的RSA密钥对的公钥部分。
[client002] display rsa local-rsa-pair public
=====================================================
Time of Key pair created: 2012-08-06 17:17:37+00:00
Key name: Host Key type: RSA encryption Key =====================================================
Key code:
30820109
02820100
CB0E88EC A1C2CFEA F97126F9 36919C08 0455127B
A3A48594 69517096 35626F55 E4FAF0EB FDA2B9E9
5E417B2B E09F38B0 D26FCA73 FE2E3FC4 DFBEC8CF
4ED0C909 E8D975E6 FFC73C81 D13FE71E 759DC805
B0F0E877 4FC9288E BE1E197C 2A7186B0 B56F5573
3A5EA588 29C63E3B 20D56233 8E63278D F941734F
6B359C69 BBAE5A52 EB842179 04B4204D 5DB31D72
97F0C085 DA771F66 0AAADC28 D264CEB9 5BADA92C
CDE9F116 D6D99C48 CEBA3A1D 868B053A 32941D85
CCAA9796 A4B55760 0A8108ED DB45DA12 F61634C9
59431600 341FEDEF 5379D565 A8D1953D DEA018A2
72F99FFC 63DE04BF 2A6219BD DF13D705 27D63DEF
83D556BC 5B44D983 8D5EA126 C1EB71CB
0203
010001
=====================================================
Time of Key pair created: 2012-08-06 17:17:44+00:00
Key name: Server
Key type: RSA encryption Key =====================================================
Key code:
3067
0260
DF8AFF3C 28213B94 2292852E E98657EE 11DE5AF4
8A176878 CDD4BD31 55E05735 3080F367 A83A9034
47D534CA 81250C1D 35401DC3 464E9E5F A50202CF
A7AD09CD AC3F531C A763F0A0 4C8E51B9 18755400
76AF4A78 225C92C3 01FE0DFF 06908363
0203
010001
#将客户端上产生的RSA公钥配置到服务器端(上面display命令显示信息中加粗部分即为客 户端产生的RSA公钥,将其拷贝粘贴至服务器端)。
[SSH Server] rsa peer-public-key rsakey001
[SSH Server-rsa-public-key] public-key-code begin
[SSH Server-rsa-key-code] 30820109
[SSH Server-rsa-key-code] 02820100
[SSH Server-rsa-key-code] CB0E88EC A1C2CFEA F97126F9 36919C08 0455127B
[SSH Server-rsa-key-code] A3A48594 69517096 35626F55 E4FAF0EB FDA2B9E9
[SSH Server-rsa-key-code] 5E417B2B E09F38B0 D26FCA73 FE2E3FC4 DFBEC8CF
[SSH Server-rsa-key-code] 4ED0C909 E8D975E6 FFC73C81 D13FE71E 759DC805
[SSH Server-rsa-key-code] B0F0E877 4FC9288E BE1E197C 2A7186B0 B56F5573
[SSH Server-rsa-key-code] 3A5EA588 29C63E3B 20D56233 8E63278D F941734F
[SSH Server-rsa-key-code] 6B359C69 BBAE5A52 EB842179 04B4204D 5DB31D72
[SSH Server-rsa-key-code] 97F0C085 DA771F66 0AAADC28 D264CEB9 5BADA92C
[SSH Server-rsa-key-code] CDE9F116 D6D99C48 CEBA3A1D 868B053A 32941D85
[SSH Server-rsa-key-code] CCAA9796 A4B55760 0A8108ED DB45DA12 F61634C9
[SSH Server-rsa-key-code] 59431600 341FEDEF 5379D565 A8D1953D DEA018A2
[SSH Server-rsa-key-code] 72F99FFC 63DE04BF 2A6219BD DF13D705 27D63DEF
[SSH Server-rsa-key-code] 83D556BC 5B44D983 8D5EA126 C1EB71CB
[SSH Server-rsa-key-code] 0203
[SSH Server-rsa-key-code] 010001
[SSH Server-rsa-key-code] public-key-code end
[SSH Server-rsa-public-key] peer-public-key end
#在SSH服务器端为SSH用户client002绑定STelnet客户端的RSA公钥。
[SSH Server] ssh user client002 assign rsa-key rsakey001
3.SSH服务器端开启STelnet服务功能
#开启STelnet服务功能。
[SSH Server] stelnet server enable
4.配置SSH服务器端新的端口号
[SSH Server] ssh server port 1025
5.STelnet客户端连接SSH服务器
#第一次登录,需要使能SSH客户端首次认证功能。
使能客户端client001首次认证功能。
<Huawei> system-view
[Huawei] sysname client001
[client001] ssh client first-time enable
使能客户端client002首次认证功能。
[client001] ssh client first-time enable
#STelnet客户端client001用password认证方式连接SSH服务器,输入配置的用户名和密码。
[client001] stelnet 10.1.1.1 1025
Please input the username:client001
Trying 10.1.1.1 ...
Press CTRL+K to abort
Connected to 10.1.1.1 ...
The server is not authenticated. Continue to access it?(y/n)[n]:y
Save the server's public key?(y/n)[n]:y
The server's public key will be saved with the name 10.1.1.1. Please wait...
Enter password:
输入密码,显示登录成功信息如下:
<SSH Server>
#Stelnet客户端client002用RSA认证方式连接SSH服务器。
[client002] stelnet 10.1.1.1 1025
Please input the username:client002
Trying 10.1.1.1 ...
Press CTRL+K to abort
Connected to 10.1.1.1 ...
The server is not authenticated. Continue to access it?(y/n)[n]:y
Save the server's public key?(y/n)[n]:y
The server's public key will be saved with the name 10.1.1.1. Please wait...
<SSH Server>
用户进入用户视图,表示登录成功。
6.验证配置结果
#攻击者使用原端口号22登录SSH服务器,不能成功。
[client002] stelnet 10.1.1.1
Please input the username:client002
Trying 10.1.1.1 ...
Press CTRL+K to abort Error:
Failed to connect to the remote host.
#在SSH服务器端执行display ssh server status命令可以查看到STelnet服务已经使能。执行display ssh user-information命令可以查看服务器端SSH用户信息。
#查看SSH状态信息。
[SSH Server] display ssh server status
SSH version :1.99
SSH connection timeout :60 seconds
SSH server key generating interval :0 hours
SSH Authentication retries :3 times
SFTP Server :Disable
Stelnet server :Enable
SSH server port :1025
#查看SSH用户信息。
[SSH Server] display ssh user-information
-------------------------------------------------------------------------------
Username Auth-type User-public-key-name
-------------------------------------------------------------------------------
client001 password null
client002 rsa rsakey001
-------------------------------------------------------------------------------