交换机Telnet谁都能连上来试密码?华为ACL圈定管理机加RADIUS统一管号

缺省情况下用户不能直接通过 Telnet 方式登录交换机,得先经 Console 口把 Telnet 功能配起来。但很多人配完第一步就停了手:Telnet 一开、路由可达的整片网络里,任何一台机器都能连到登录框上慢慢试密码。设备一多还有第二个麻烦——每台交换机各自建一堆本地账号,人员一变动就得逐台清理。官方针对这个场景给了双保险:先用 ACL 规则把门口好,只有满足规则的报文才能到达设备上层协议模块;过了 ACL 这一关的用户,再由 RADIUS 服务器统一认证,用户名密码集中管理,操作行为同步留痕。两道闸叠加,Telnet 也能管得放心。

下面这个例子来自华为官方配置指南。网络管理员希望对交换机远程管理维护,同时对安全性要求较高、不受未授权访问干扰,采用基于 ACL 规则和 RADIUS 认证的 Telnet 登录方式。组网上管理员 PC 和 Switch 之间、Switch 与 RADIUS 服务器之间路由可达,RADIUS 服务器 IP 为 10.2.1.1/24,认证端口 1812,服务器上已配置好用户 admin123@huawei.com(用户名@域名),密码 Example@123。动手前有三条官方前置条件要逐一核掉:用户终端、交换机、RADIUS 服务器三者之间路由都得通,任何一段断线认证就悬空;交换机上配的 RADIUS 服务器地址、端口号和共享密钥必须和 RADIUS 服务器上的配置保持一致,密钥差一个字符都是认证失败;服务器侧的用户要提前建好。再交代官方的安全提示:使用 Telnet 协议存在安全风险,建议使用 STelnet V2 登录交换机;如果现网因为老旧运维系统或批量脚本暂时离不开 Telnet,那就按下面这套把入口收紧。

配置步骤

第一步,配 Telnet 登录基础。使能 Telnet、绑定服务器源接口、进 VTY 用户界面配协议与认证:

<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] telnet server enable  //使能Telnet功能。
[Switch] telnet server-source -i Vlanif 10    //配置服务器端的源接口为10.1.1.1对应的接口,假设该接口为Vlanif 10。
[Switch] user-interface vty 0 14    //进入VTY 0~VTY 14用户界面视图。
[Switch-ui-vty0-14] protocol inbound telnet    //配置VTY用户界面支持的协议为Telnet,V200R006及之前版本缺省使用的协议为Telnet协议,可以不配置该项;V200R007及之后版本缺省使用的协议为SSH协议,必须配置。
[Switch-ui-vty0-14] authentication-mode aaa    //配置VTY 0~VTY 14的用户认证方式为AAA认证。
[Switch-ui-vty0-14] user privilege level 15    //配置VTY 0~VTY 14的用户级别为15级。
[Switch-ui-vty0-14] quit

注意 protocol inbound telnet 这条的版本坑:V200R007 及之后版本 VTY 缺省协议是 SSH,走 Telnet 必须显式配上,漏了就会连不上。

第二步,配 ACL 白名单。用基本 ACL 2008 只放行管理机的源地址,再挂到 VTY 入方向:

[Switch] acl 2008
[Switch-acl-basic-2008] rule permit source 10.137.217.177 0
[Switch-acl-basic-2008] quit
[Switch] user-interface vty 0 14
[Switch-ui-vty0-14] acl 2008 inbound    //配置只允许满足ACL 2008规则的VTY 0~VTY 14用户登录本设备。
[Switch-ui-vty0-14] quit

规则里的 10.137.217.177 换成你自己运维机的 IP,反掩码 0 表示精确匹配这一台。挂上 inbound 之后,不满足规则的连接根本到不了认证环节,撞密码的机会直接归零。

第三步,配 RADIUS。先建服务器模板,定地址、端口和共享密钥:

[Switch] radius-server template 1    //进入RADIUS服务器模板视图。
[Switch-radius-1] radius-server authentication 10.2.1.1 1812    //配置RADIUS认证服务器。
[Switch-radius-1] radius-server shared-key cipher Huawei@6789    //配置RADIUS服务器的共享密钥为Huawei@6789。
[Switch-radius-1] quit

有一个条件性的补充配置:如果 RADIUS 服务器不接受包含域名的用户名,还需要配置命令 undo radius-server user-name domain-included,使交换机向 RADIUS 服务器发送的报文中的用户名不包含域名。

第四步,配 AAA 方案和域。创建认证方案指定 RADIUS 模式:

[Switch] aaa
[Switch-aaa] authentication-scheme sch1    //创建名为sch1的认证方案。
[Switch-aaa-authen-sch1] authentication-mode radius    //配置认证模式为RADIUS认证。
[Switch-aaa-authen-sch1] quit

再创建域,把认证方案和 RADIUS 服务器模板都挂进去:

[Switch-aaa] domain huawei.com    //创建名为huawei.com的域并进入域视图。
[Switch-aaa-domain-huawei.com] authentication-scheme sch1    //配置域的认证方案为sch1。
[Switch-aaa-domain-huawei.com] radius-server 1    //指定域的RADIUS服务器模板为1。
[Switch-aaa-domain-huawei.com] quit
[Switch-aaa] quit

最后把 huawei.com 配成全局默认管理域,管理员登录交换机时就不需要输入域名:

[Switch] domain huawei.com admin

验证

配置完成后,管理员在 PC 上单击开始、运行,输入 cmd 进入命令行界面,telnet 10.1.1.1 回车:

C:\Documents and Settings\Administrator> telnet 10.1.1.1

在登录界面输入 RADIUS 服务器上配置的用户名 admin123 和密码 Example@123,验证通过即成功登录:

Login authentication
Username:admin123
Password:
Info: The max number of VTY users is 8, and the number
      of current VTY users on line is 2.
      The current login time is 2014-07-30 09:54:02+08:00. 
<Switch>

整个过程两道闸都在干活:换一台不在 ACL 2008 白名单里的机器去 telnet,连接到不了认证环节;白名单机器上输错密码,RADIUS 侧不通过一样进不去。账号的增删改从此只动 RADIUS 服务器一处,几十台交换机同步生效,人员离职也不再挨台清账号。对照官方配置文件收尾时盯四段:VTY 视图下的 acl 2008 inbound、radius-server template 1 的地址端口密钥、aaa 下的认证方案与域绑定、全局的 domain huawei.com admin——四段齐活,这台设备的远程入口就算管住了。

之前聊过把 Telnet 整个换成 STelnet 加密登录的做法,那是换协议的路子;本篇是 Telnet 必须保留时的收口思路——ACL 圈定来源、RADIUS 统一管号,两道闸各管一段。贵州诚鑫致达科技在给企业整理交换机管理方式时,这两种方案都是按现网条件分开落地的。你的交换机远程登录现在是怎么防的?评论区聊聊。