ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

网络设备Console口密码配置与安全加固:华为思科锐捷华三实操

网络设备Console口密码配置与安全加固:华为思科锐捷华三实操 1. Console口密码为什么它是网络设备的最后一道门机房巡检的时候我见过太多这样的设备机柜里安静躺着的一台接入交换机面板灯正常闪烁业务跑得好好的但只要有人把一根Console线插上去敲两下回车就直接进了命令行连密码都不用输。这种设备在网络里就像一扇没上锁的后门平时不显眼出事的时候往往是致命的。配置交换机的Console端口密码说白了就是给这扇门装一把锁而且是设备出厂之后第一件该做的事。Console口是交换机最底层的管理入口它不依赖网络、不依赖IP地址只要物理上能碰到设备就能连上去。正因为这个特性它既是救命的通道也是最容易被忽视的风险点。很多刚入行的朋友会把Console口密码和Telnet、SSH的登录密码混为一谈以为远程登录设了密码就万事大吉结果Console口还是敞开的。这篇文章我会把Console口密码这件事从原理到实操完整拆一遍覆盖华为、华三、思科、锐捷这些常见品牌穿插我在实际项目里踩过的坑和总结出来的排查思路。不管你是刚接触网络设备的新手还是做了几年运维想补一补基础的老手应该都能从里面找到能直接用的东西。1.1 Console口和Telnet、SSH到底差在哪先把这个概念理清楚不然后面配密码的思路会乱。交换机的管理入口通常有三类Console口、Telnet、SSH。它们最本质的区别在于访问路径和依赖条件。Console口走的是串行通信用的是设备面板上那个RJ45形状或者DB9形状的物理接口通过一根Console线接到电脑的USB口或者串口上。这条链路完全不经过网络协议栈不需要设备有IP地址不需要路由可达甚至设备操作系统还没完全启动的时候就能用。所以当交换机配置错了、IP丢了、远程连不上的时候Console口是唯一能救回来的通道。Telnet和SSH则是通过网络访问的设备必须有管理IP中间的网络必须通还得在设备上开启对应的服务并配置VTY虚拟终端线路的认证。它们的优势是方便坐在办公室就能管几十台设备不用跑到机房插线。打个比方Console口就像家里的防盗门钥匙孔Telnet和SSH像是小区的门禁卡。门禁卡可以远程授权、可以挂失但钥匙孔就在门上谁拿到钥匙谁就能开。所以钥匙孔本身也得有个保护这就是Console口密码的意义。理解了这个层次你就明白为什么很多安全基线要求里Console口密码是单独列一条的它和VTY密码是两码事。1.2 不配密码的后果以及两种主流认证思路Console口不配密码会带来什么我遇到过两种典型场景。第一种是设备放在分支机构的小机柜里门禁管理不严保洁、装修、临时施工的人都能接触到设备一旦被人插线进去改了配置比如关掉某个端口、改掉VLAN业务出问题排查起来非常费劲。第二种是设备在调试阶段临时配置过交付时忘了加固等半年后做安全审计才发现Console口裸奔整改还得停工窗口很被动。配置Console口密码行业里有两种主流思路需要提前想清楚选哪种。第一种是纯密码认证也就是在Console线路下直接设一个登录密码输对了就进。这种方式配置简单一台设备两三行命令搞定适合设备数量少、管理要求不高的场景。缺点是密码权限、审计、多用户区分都做不了所有人共用一个密码。第二种是AAA本地认证把Console口接到设备的AAA框架里用本地用户名加密码登录还可以给不同账号分配不同权限级别。这种方式配置稍复杂但能区分账号、能做权限控制、方便审计和批量下发中大型网络基本都走这条路。选择哪种取决于你的设备规模和管理规范。我个人的建议是只要设备数量超过十台或者有等保、安全基线之类的合规要求直接上AAA别图省事。后面我会把两种方式的配置都写清楚你可以按需取用。2. 动手之前物理连接和终端参数先对齐很多人配Console口密码失败不是命令写错了而是卡在最基础的连接环节。Console线没插好、驱动没装、串口参数不对这些看起来是小事但实际占了我处理Console问题里一半以上的时间。所以动手敲命令之前先把物理链路和终端软件这几步理顺。2.1 线缆、驱动和终端软件的选择Console线现在市面上主要有三类。第一类是USB转串口芯片加RJ45头的成品线芯片常见的有CH340、PL2303、FTDI这几种价格从十几块到上百块不等。第二类是笔记本自带DB9串口现在基本没有了配合DB9转RJ45的转接线。第三类是老式的DB9直连线用在带串口的工控机上。选线的时候有个经验FTDI芯片的兼容性最好Windows、macOS、Linux基本免驱或者驱动很成熟CH340便宜但驱动版本乱某些系统上会识别成未知设备PL2303有一批老芯片在新系统上驱动会报错需要手动装旧版驱动。如果你经常跑现场建议备一根FTDI的线省心。终端软件方面Windows上用SecureCRT、PuTTY、MobaXterm比较多macOS可以用自带的screen命令或者minicomLinux上minicom、picocom都很顺手。以macOS为例插上线之后先确认设备名ls /dev/tty.usb* # 可能会看到 /dev/tty.usbserial-XXXX screen /dev/tty.usbserial-XXXX 9600Windows上则是先在设备管理器里看端口号比如COM3然后在PuTTY里选Serial填COM3波特率9600。注意装CH340或PL2303驱动的时候一定要从芯片厂商或者正规渠道拿驱动别随手在搜索引擎里点第一个下载站那类站点捆绑软件多装完系统一堆弹窗。2.2 串口参数与几个容易被忽略的终端体验设置Console口的串口参数行业里几乎是统一的波特率9600、数据位8、停止位1、校验位无、流控无也就是常说的9600-8-N-1。绝大多数交换机的默认Console参数都是这个只有极少数老设备或者特殊型号会用115200或者别的波特率。如果你连上去是乱码第一反应就是检查波特率。这几个参数里流控Flow Control特别容易被忽略。有些终端软件默认开了RTS/CTS硬件流控接上交换机之后会出现按键没反应、界面卡住的情况。把流控关掉问题往往就解决了。还有一个提升体验的设置是日志同步logging synchronous。默认情况下交换机在往屏幕上刷日志的时候你正在输入的命令会被日志冲散看起来像是输入丢了。开启日志同步之后系统会在你输入的时候把日志暂缓等你敲完回车再刷出来。这个设置不是必须的但对现场调试非常友好后面配置示例里我会带上。另外提醒一句如果你在机房现场调试Console线别太长超过三米就容易受干扰导致丢字符。我在一个项目里用过一根五米的劣质延长线敲命令老是少字母换了根短的立刻正常白白浪费了半小时。3. 主流厂商Console口密码配置实操准备工作做完进入正题。不同厂商的命令行语法有差异但核心逻辑是一致的找到Console线路或者叫AUX、CON设置认证方式设置密码设置超时和权限。下面按品牌分开讲你可以直接对照自己的设备抄。3.1 华为/华三VRP系统password与AAA两种玩法华为和华三的设备都跑VRPVersatile Routing Platform系统命令结构基本通用所以放在一起讲。先看纯密码方式。进入系统视图然后进入Console用户界面视图Huawei system-view [Huawei] user-interface console 0 [Huawei-ui-console0] authentication-mode password [Huawei-ui-console0] set authentication password cipher Huawei123 [Huawei-ui-console0] user privilege level 15 [Huawei-ui-console0] idle-timeout 10 0 [Huawei-ui-console0] quit逐行解释一下。user-interface console 0是进入Console的用户界面视图0是编号Console一般就一个所以固定是0。authentication-mode password把认证方式设成密码认证。set authentication password cipher Huawei123设置密码注意这里的cipher关键字它表示密码在配置文件里以密文形式存储这个细节很关键后面会展开。user privilege level 15是设登录后的用户权限级别15是最高级别Console口一般都给最高权限因为它是应急通道。idle-timeout 10 0表示10分钟无操作自动断开防止有人连上去忘了拔线。再来看AAA方式[Huawei] aaa [Huawei-aaa] local-user admin password cipher Huawei123 [Huawei-aaa] local-user admin privilege level 15 [Huawei-aaa] local-user admin service-type terminal [Huawei-aaa] quit [Huawei] user-interface console 0 [Huawei-ui-console0] authentication-mode aaa [Huawei-ui-console0] idle-timeout 10 0 [Huawei-ui-console0] quit这里的关键是service-type terminal。华为的本地用户需要指定服务类型Console登录对应的就是terminal。很多人配AAA的时候忘了这一行结果命令都对了但就是登不上排查半天。这个坑我踩过所以特别提醒。在eNSP这类模拟器上练习的时候这套命令同样适用可以放心刷实验。华为S5720这类盒式交换机改本地登录密码用的也是这套逻辑改密码就是重新执行一遍local-user admin password cipher 新密码。3.2 思科IOSline console 0 那几行命令的门道思科的语法和华为不太一样但套路类似。进配置模式然后进入Console线路Switch enable Switch# configure terminal Switch(config)# line console 0 Switch(config-line)# password Cisco123 Switch(config-line)# login Switch(config-line)# exec-timeout 10 0 Switch(config-line)# logging synchronous Switch(config-line)# exit Switch(config)# service password-encryption Switch(config)# enable secret Cisco456思科这里有几个地方值得说。login这行命令是启用密码校验如果你只写了password没写login设备会认为你不需要认证等于白设。这是新手最常犯的错。exec-timeout 10 0和华为的idle-timeout一个意思。service password-encryption是全局开启明文密码加密。思科默认把Console密码、VTY密码这类以明文存在配置文件里开了这个之后会变成简单的可逆加密type 7。说实话type 7强度很弱用工具能解出来但至少比明文强作为基本防护还是值得开的。真正的强密码要用enable secret它用的是MD5或者更强的哈希不可逆。enable secret Cisco456是特权模式密码也就是从用户模式进特权模式enable要输的密码。这个和Console口登录密码是两个层次Console密码管你能不能连上设备enable secret管你连上之后能不能进特权模式改配置。两者要分清。很多安全事件就是Console能进、enable也能进等于入了无人之境。3.3 锐捷交换机命令结构和华为的异同锐捷的RGOS系统在语法上更接近思科但又有自己的特点。Console口密码配置大概是这样Ruijie enable Ruijie# configure terminal Ruijie(config)# line console 0 Ruijie(config-line)# password Ruijie123 Ruijie(config-line)# login Ruijie(config-line)# exec-timeout 10 0 Ruijie(config-line)# exit Ruijie(config)# enable secret Ruijie456可以看到line console 0、password、login 这几行和思科几乎一模一样这也是为什么很多从思科转过来的工程师上手锐捷很快。差异主要在细节上比如锐捷的一些版本里login的替代写法是login local后者表示用本地用户名密码认证效果和AAA类似Ruijie(config)# username admin password Ruijie123 Ruijie(config)# line console 0 Ruijie(config-line)# login local Ruijie(config-line)# exitlogin local配合本地用户就能实现带用户名的认证比纯密码更进一步。锐捷常用命令里这套组合是我推荐给中小项目的做法配置量不大又比裸密码规范。3.4 密码加密、服务类型与权限级别的取舍前面几段命令里反复出现几个概念这里集中说清楚因为它们决定了你的密码到底安不安全。密码存储形式这一块各厂商都提供明文和密文两种。华为的cipher是密文存储simple是明文存储配置时一定用cipher。思科默认明文需要service password-encryption来加密。记住一个原则配置文件如果可能被导出、备份、发给第三方里面就绝不能出现明文密码。权限级别这一块华为用user privilege level指定0到15思科用privilege level指定0到15锐捷类似。Console口作为应急通道一般给15级最高权限方便故障时直接改配置。但如果是受管控的环境也可以只给Console口一个较低的级别让它能看不能改改配置必须走远程的AAA认证这样能降低物理接触带来的风险。服务类型这一块是华为特有的坑点。华为的本地用户必须明确service-typeConsole对应terminalSSH对应sshWeb对应http。少配一项对应入口就登不上。我见过有人把所有入口都用同一个账号service-type写了terminal和ssh结果Web还是进不去就是漏了http。把这些理顺之后你会发现不同厂商的命令只是皮不一样骨架是一样的选线路、定认证方式、设密码、限权限、控超时。4. 密码配完却登不进Console故障排查实录命令敲完保存结果下次插线发现登不上这种情况非常常见。原因五花八门我把这些年遇到的整理成一个排查顺序按这个思路走基本能定位到问题。4.1 认证失败类问题速查表登录时提示认证失败先别急着重置密码按下面的顺序查。现象可能原因排查动作提示密码错误但确认没输错大小写、输入法、密码含特殊字符切英文输入法注意大小写特殊字符用cipher模式下不支持的类型要换提示密码错误service-type漏配terminal检查华为本地用户是否带service-type terminal完全没提示直接进命令行authentication-mode没设或设成none检查Console视图下认证方式提示需要用户名认证方式改成了aaa但没用用户名登录输入配置时创建的用户名密码对了仍进不去privilege level为0或权限不足检查user privilege level配置重启后配置丢失改完没保存华为用save思科用write memory这张表里的最后一条我要多说一句。华为和思科设备改完配置都需要手动保存华为是save思科是write memory或者copy running-config startup-config。我在一个项目里配完密码直接断电重启结果全丢了白忙一场。养成改完就保存的习惯比什么都重要。4.2 终端乱码、无回显、卡在启动界面怎么办不是所有问题都是密码引起的有时候根本没连上。表现是屏幕一堆乱码、按键无反应或者卡在启动信息里动不了。乱码最常见的原因就是波特率不对。前面说过标准是9600但有些设备尤其是工控交换机、光模块管理口用115200。逐个试一遍常见波特率9600、115200、38400、19200。顺序试下来基本能命中。按键无反应先检查流控。把终端软件的RTS/CTS、XON/XOFF全部关掉。再检查线序有些非标线把TX、RX接反了需要换线或者用交叉线。卡在启动界面可能是设备正在加载系统耐心等一两分钟。如果一直卡着可能是启动配置损坏需要进BootROM或者BootLoad菜单处理这属于更底层的操作一般要联系厂商或者查对应型号的文档。无回显还有一种情况是Console口被关闭了。某些设备支持关闭Console口功能虽然少见但确实存在。如果确认线、参数、软件都没问题可以试试别的Console口如果有或者换设备验证线是否正常。4.3 密码彻底忘了密码恢复的通用思路密码忘干净了怎么办这不算故障是操作事故但有标准解法。各厂商的思路都是绕过配置启动进入一个不加载配置的模式然后清除或者绕过密码。思科的经典做法是通过ROMMON修改配置寄存器重启设备在启动初期按CtrlBreak进入ROM Monitor模式输入confreg 0x2142让设备跳过启动配置重启后进入无密码状态然后进入配置模式把密码改回来再把寄存器改回0x2102并保存。这套流程网上文档很多关键点是操作要及时启动窗口很短。华为设备的做法是重启时进入BootROM/BootLoad菜单选择清除Console密码或者跳过配置文件启动的选项。不同型号的菜单选项编号不一样操作前最好查准型号的文档别乱按。注意密码恢复操作通常会导致设备短暂离线生产环境要做变更申请安排窗口期。另外恢复过程中配置可能有丢失风险动手前一定先备份配置。关于密码恢复我的态度是能通过正规流程找回就用正规流程实在不行再做恢复。更重要的是恢复能力本身也是一种风险设备能被你恢复也意味着能被别人恢复所以机房的门禁、机柜的锁、设备的物理安全和密码一样重要甚至更重要。5. 上线前的收尾模板、策略与日常维护密码配完、验证能登录这件事还没结束。真正让Console口安全起来靠的是一套可复制的模板和日常的管理习惯而不是临时敲几行命令。5.1 一份可以直接抄的Console加固配置我把前面讲的内容整合成一份标准模板华为系和思科系各一份新设备上线直接套用改改密码和用户名就行。华为VRP模板system-view aaa local-user netadmin password cipher YourStrongPwd2024 local-user netadmin privilege level 15 local-user netadmin service-type terminal ssh quit user-interface console 0 authentication-mode aaa idle-timeout 10 0 history-command max-size 20 quit save思科IOS模板configure terminal username netadmin privilege 15 secret YourStrongPwd2024 line console 0 login local exec-timeout 10 0 logging synchronous exit service password-encryption enable secret YourEnablePwd2024 end write memory这两份模板比我前面演示的版本多做了两件事一是用带用户名的认证替代裸密码便于审计和区分账号二是把SSH服务类型一起配上方便后续远程管理。注意密码强度长度至少12位大小写加数字加符号别用设备型号、地名、公司名这类容易被猜到的组合。5.2 密码管理与变更的几个习惯配置层面的东西讲完了最后聊聊习惯这部分往往比技术细节更能决定安全水平。第一个习惯是密码分级和分离。Console密码、enable密码、远程登录密码、SNMP团体字这些不要用同一个。一个泄漏了不应该连累其他。尤其是enable密码它是配置修改的总开关要和登录密码分开。我见过有人图省事全部用同一个密码结果一个实习生离职带走了密码整批设备都得改工作量巨大。第二个习惯是变更留痕。谁改的密码、什么时候改的、改成什么加密存到密码管理系统里要记录。设备多了之后密码版本混乱是常态没有记录根本对不上。中小团队至少要有张表格记录设备、账号、变更日期、变更人。第三个习惯是定期轮换但别太频繁。密码轮换能降低泄漏风险但换得太勤会导致遗忘和操作失误。我的经验是核心设备半年一换普通接入设备一年一换跟着安全基线走别自己拍脑袋定周期。第四个习惯是物理安全别放松。前面反复强调过Console口的安全边界是物理接触。机房门禁、机柜锁、线缆管理这些投入看不见摸不着但真出事的时候它们才是第一道防线。我个人在实际操作中的体会是Console口密码这件事看起来简单但真正把它做规范需要的不只是记住几条命令。它牵扯到你对设备管理入口的理解、对权限分层的认识、对变更流程的遵守。我早期也干过Console口不设密码直接上线的蠢事后来在一次安全审计里被点名才回头补课。现在我带新人第一课就是让他们把Console口密码配好、保存、再重启验证一遍这个动作看着冗余但它能帮你规避掉后面绝大多数麻烦。设备管理没有侥幸每一步留个心眼比事后救火划算得多。
返回列表