尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

华为ENSP防火墙Web与SSH登录配置详解及避坑指南

华为ENSP防火墙Web与SSH登录配置详解及避坑指南 1. 项目概述为什么需要Web登录与SSH避坑在华为ENSP这个网络模拟环境中折腾防火墙Web登录和SSH远程管理是绕不开的两大基础操作。很多新手甚至是有一定经验的工程师在初次配置时都会在这两个环节上栽跟头。Web登录看似简单点几下鼠标就行但背后涉及接口地址、安全区域、服务放行等一系列联动配置一步错就可能导致页面死活打不开。而SSH配置更是“坑”的集中营从密钥生成、用户权限到VTY线路的认证方式任何一个细节疏忽都会让你在终端前对着“Connection refused”或“Permission denied”的提示干瞪眼。我见过太多人在实验或备考时因为登录问题浪费大量时间最终影响对整个防火墙策略的理解和实验进度。所以这篇内容的目的很明确给你一份从零开始、手把手式的配置指南不仅告诉你每一步怎么点更会深入解释“为什么要这么点”。同时我会把在配置SSH过程中最容易踩的“坑”单独拎出来形成一个避坑指南让你能提前预防一次配置成功。无论你是正在学习华为网络技术的学生还是需要利用ENSP进行方案验证的工程师这篇内容都能帮你扫清入门障碍把精力集中在更核心的安全策略和网络设计上。2. 实验环境准备与拓扑搭建2.1 核心设备选型与镜像准备在ENSP中模拟防火墙设备选型是第一步。华为防火墙在ENSP中通常使用USG6000V这个型号。你需要确保你的ENSP软件中已经正确加载了USG6000V的镜像文件.cc。如果启动设备时提示“启动失败40”或类似错误几乎可以断定是镜像问题。注意务必从华为官方或可信渠道获取镜像。网络上流传的某些“破解版”或修改版镜像可能存在功能不全、命令兼容性差甚至隐含风险的问题。下载后在ENSP的“工具”-“选项”-“设备参数”中正确设置镜像文件的存放路径。对于本实验一个最简单的拓扑足以满足需求一台USG6000V防火墙一台用于模拟管理终端的PC。将PC的网卡例如Cloud1桥接到你物理机的真实网卡上再将防火墙的GigabitEthernet 0/0/0接口与PC相连。这个接口将作为防火墙的管理接口MGMT。为什么是G0/0/0这没有硬性规定但通常习惯将第一个物理接口作为管理口。关键在于逻辑上的规划你需要为这个接口规划一个与管理PC同网段的IP地址例如192.168.1.254/24而你的PC地址可以设为192.168.1.100/24。确保防火墙和PC之间在二层是连通的线缆显示为绿色。2.2 防火墙初始化配置要点设备启动后首次登录需要通过Console口进行初始配置。在ENSP中右键防火墙选择“CLI”即可进入Console界面。首先你会进入一个类似USG6000V的系统视图。这里有几个必须完成的初始化步骤修改默认密码出于安全考虑第一步就是修改默认的admin用户密码。USG6000V system-view [USG6000V] user-manage user admin [USG6000V-user-manage-admin] password Please configure the login password (8-128) Enter Password: Confirm Password:输入并确认新密码。一个强密码应包含大小写字母、数字和特殊字符。配置管理接口地址这是Web登录的基石。[USG6000V] interface GigabitEthernet 0/0/0 [USG6000V-GigabitEthernet0/0/0] ip address 192.168.1.254 24 [USG6000V-GigabitEthernet0/0/0] quit将接口加入安全区域防火墙的所有流量转发都基于安全区域。管理接口通常需要加入Local区域或一个专门的管理区域如DMZ。这里我们将它加入Local区域并放行相关服务。[USG6000V] firewall zone local [USG6000V-zone-local] add interface GigabitEthernet 0/0/0 [USG6000V-zone-local] quit将接口加入Local区域意味着该接口的地址192.168.1.254被视作防火墙本身访问这个地址就是访问防火墙设备。3. Web登录功能配置详解3.1 启用HTTPS管理与服务放行默认情况下防火墙的Web管理服务HTTPS可能是关闭的或者访问权限未被放行。我们需要从命令行开启它。开启HTTPS服务器功能[USG6000V] admin [USG6000V-admin] service web-manager enable这条命令全局启用了Web管理服务。放行Local区域到Local区域的HTTPS流量这听起来有点绕但原理很重要。你的PC源访问防火墙的Web界面目的在防火墙上看来是“外部”访问其“本地服务”。因此需要创建一条安全策略允许从某个区域或Any到Local区域的HTTPS流量。最简易的配置是[USG6000V] security-policy [USG6000V-policy-security] rule name permit_web [USG6000V-policy-security-rule-permit_web] source-zone any [USG6000V-policy-security-rule-permit_web] destination-zone local [USG6000V-policy-security-rule-permit_web] service https [USG6000V-policy-security-rule-permit_web] action permit [USG6000V-policy-security-rule-permit_web] quit [USG6000V-policy-security] quit实操心得在实际生产环境中source-zone any和source-address any是极其危险的应该替换为具体的管理员IP地址段。但在ENSP实验环境中为了方便可以暂时这样配置。这体现了实验与生产的区别。验证与登录完成上述配置后保存配置 (save)。在你的物理机PC上打开浏览器输入https://192.168.1.254。注意是HTTPS不是HTTP。首次访问通常会因为证书不受信任而出现安全警告在实验环境中可以点击“高级”-“继续前往”之类的选项。随后你应该能看到华为防火墙的Web登录界面使用之前设置的admin用户名和密码即可登录。3.2 Web界面常见登录故障排查如果无法登录请按以下顺序排查物理连通性在PC上ping192.168.1.254确保能通。如果不通检查ENSP中网卡桥接设置、防火墙接口状态display interface GigabitEthernet 0/0/0查看是否为UP以及IP地址配置。服务状态在防火墙CLI执行display service web-manager查看HTTPS服务状态是否为enable。安全策略执行display security-policy rule all检查名为permit_web的规则是否被命中查看匹配数据包计数。如果计数为0可能是源/目的区域或服务类型配置错误。本地浏览器问题尝试清除浏览器缓存或使用无痕模式。有时旧的证书缓存会导致问题。4. SSH远程登录配置全流程4.1 SSH服务端关键配置步骤SSHSecure Shell是更受工程师青睐的远程管理方式因为它完全是命令行操作高效且易于脚本化。配置比Web登录稍复杂涉及以下核心环节生成本地密钥对SSH基于非对称加密防火墙作为服务器需要有自己的密钥对。[USG6000V] rsa local-key-pair create The key name will be: USG6000V The range of public key size is (512 ~ 2048). NOTES: If the key modulus is greater than 512, It will take a few minutes. Input the bits in the modulus [default 512] : 1024建议模数选择1024或2048安全性更高。生成过程需要一点时间。启用SSH服务并指定端口[USG6000V] ssh server enable [USG6000V] ssh server port 22默认端口是22可以修改为其他端口以增强隐蔽性但非主要安全手段。配置VTY用户界面VTYVirtual Type Terminal是远程登录的虚拟线路。我们需要设置其认证方式为AAA并只允许SSH协议。[USG6000V] user-interface vty 0 4 [USG6000V-ui-vty0-4] authentication-mode aaa [USG6000V-ui-vty0-4] protocol inbound ssh [USG6000V-ui-vty0-4] quitvty 0 4表示同时支持5个远程连接0到4。authentication-mode aaa意味着用户认证将交给后面的AAA配置来处理。配置AAA本地用户及服务类型创建一个用于SSH登录的本地用户并为其分配SSH服务权限。[USG6000V] aaa [USG6000V-aaa] local-user sshadmin password irreversible-cipher YourStrongPass123! [USG6000V-aaa] local-user sshadmin service-type ssh [USG6000V-aaa] local-user sshadmin level 3 [USG6000V-aaa] quitirreversible-cipher是一种加密方式查看配置时密码会显示为密文。service-type ssh至关重要它声明了这个用户可以用来进行SSH登录。level 3是访问等级3级是管理级权限可以执行所有配置命令。放行SSH访问的安全策略和HTTPS一样需要允许到Local区域的SSH流量。[USG6000V] security-policy [USG6000V-policy-security] rule name permit_ssh [USG6000V-policy-security-rule-permit_ssh] source-zone any [USG6000V-policy-security-rule-permit_ssh] destination-zone local [USG6000V-policy-security-rule-permit_ssh] service ssh [USG6000V-policy-security-rule-permit_ssh] action permit [USG6000V-policy-security-rule-permit_ssh] quit [USG6000V-policy-security] quit4.2 使用客户端进行SSH连接测试在物理机上你可以使用PuTTY、Xshell、SecureCRT或系统自带的命令行SSH客户端进行测试。以Windows PowerShell或CMD为例ssh sshadmin192.168.1.254 -p 22输入密码YourStrongPass123!后你应该能成功登录到防火墙的CLI界面。注意事项首次连接时客户端会询问是否接受服务器的公钥指纹输入yes即可。这建立了对你所连接服务器的信任。5. SSH配置深度避坑指南以下是配置SSH时最容易出错的几个点我称之为“四大坑”每一个都可能让你连接失败。5.1 坑一AAA用户未绑定SSH服务类型这是最常见的问题。很多工程师记得创建用户和密码却忘了指定service-type ssh。命令local-user sshadmin service-type ssh是必须的。如果没有这行配置即使用户名密码正确防火墙也会拒绝该用户的SSH登录请求因为系统认为该用户无权使用SSH服务。排查命令display local-user sshadmin。在输出信息中仔细查看Service-type这一栏是否包含了ssh。5.2 坑二VTY线路认证模式或协议错误VTY线路的配置必须匹配。如果你在user-interface vty下配置了authentication-mode aaa那么你必须通过AAA来创建用户。反之如果你配置了authentication-mode password则需要在VTY界面下直接设置密码set authentication password cipher ...这是一种更简单但不便管理的方式。两者混用必然失败。同时protocol inbound ssh必须配置以确保VTY线路只接受SSH连接。如果缺省或配置成all在某些版本或场景下也可能引发问题。排查命令display user-interface vty 0。检查Authentication mode和Protocol inbound的配置。5.3 坑三安全策略未放行或匹配错误这是仅次于服务类型的第二大坑。你配置了SSH的所有参数但就是连不上很可能是因为数据包在安全策略检查时就被丢弃了。请确保存在一条规则其destination-zone是local。该规则的service对象是ssh或包含SSH端口的自定义服务。该规则的action是permit。该规则在策略中的位置没有被前面一条deny规则提前匹配并拒绝。排查命令display security-policy rule all查看所有规则。display security-policy statistics查看策略命中计数。尝试连接几次后看你的permit_ssh规则计数是否增加。如果不增加说明流量没匹配到这条规则如果增加了但还是连不上可能是其他问题如用户认证。5.4 坑四公私钥问题与客户端兼容性虽然我们使用的是密码认证但SSH连接建立初期依然涉及服务器公钥的交换。如果之前连接过同一IP但不同密钥的设备比如你重装了ENSP或换了镜像客户端保存的旧公钥指纹会导致连接失败。错误提示通常是“Host key verification failed”或“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!”。解决方案在客户端删除旧的密钥记录。对于Windows SSH客户端记录通常位于C:\Users\[用户名]\.ssh\known_hosts文件中找到对应192.168.1.254的行删除即可。对于PuTTY它会将密钥注册表需要运行puttygen或通过其他工具清理。此外确保客户端支持的SSH协议版本如SSH-2与服务器兼容。现代华为设备默认都支持SSH-2。6. 高级配置与安全加固建议6.1 限制SSH访问源IP地址将安全策略中的source-zone any和source-address any替换为具体的管理员IP地址段是生产环境的基本要求。假设你的管理PC IP是192.168.1.100你可以这样修改策略[USG6000V] acl number 2000 [USG6000V-acl-basic-2000] rule 5 permit source 192.168.1.100 0 [USG6000V-acl-basic-2000] quit [USG6000V] security-policy [USG6000V-policy-security] rule name permit_ssh_secure [USG6000V-policy-security-rule-permit_ssh_secure] source-address 192.168.1.100 32 [USG6000V-policy-security-rule-permit_ssh_secure] destination-zone local [USG6000V-policy-security-rule-permit_ssh_secure] service ssh [USG6000V-policy-security-rule-permit_ssh_secure] action permit [USG6000V-policy-security] quit同时可以禁用或删除之前那条宽泛的permit_ssh规则。ACL 2000是一个基本ACL用于匹配源IP。6.2 配置SSH仅使用密钥认证密码认证有被暴力破解的风险。更安全的方式是使用公钥认证。这需要在客户端生成密钥对如使用ssh-keygen然后将公钥内容配置到防火墙的相应用户下。在客户端生成密钥例如在Linux/macOS的bash或Windows的WSL中ssh-keygen -t rsa -b 2048默认会在~/.ssh/目录下生成id_rsa私钥和id_rsa.pub公钥。将公钥配置到防火墙[USG6000V] aaa [USG6000V-aaa] local-user sshadmin [USG6000V-aaa-luser-sshadmin] ssh authentication-type rsa [USG6000V-aaa-luser-sshadmin] rsa peer-public-key usgkey Enter RSA public key view, return to finish. [USG6000V-rsa-public-key] public-key-code begin [USG6000V-rsa-key-code] 3082010A0282010100... (此处粘贴完整的公钥内容从ssh-rsa AAAAB3...开始到注释邮箱结束) [USG6000V-rsa-key-code] public-key-code end [USG6000V-rsa-public-key] peer-public-key end [USG6000V-aaa-luser-sshadmin] quit [USG6000V-aaa] quit之后该用户sshadmin就只能使用对应的私钥登录无法再使用密码登录安全性大大提升。6.3 Web与SSH管理功能的状态监控与日志配置完成后如何确认服务运行正常以下命令非常有用查看Web服务状态display service web-manager查看SSH服务器状态和在线用户display ssh server status和display ssh user-information查看安全策略命中情况display security-policy statistics rule name permit_ssh_secure查看登录日志在Web界面或通过display logbuffer命令可以查看成功的和失败的登录尝试这对于安全审计和故障排查至关重要。防火墙的日志功能可以帮助你记录所有管理访问行为。建议启用日志并发送到日志服务器在ENSP中可简单配置输出到控制台或文件这样一旦出现未授权的登录尝试你可以第一时间发现。7. 故障排查全景流程图与命令速查当Web或SSH登录出现问题时遵循一个清晰的排查路径可以节省大量时间。下面这个思维路径结合对应的诊断命令能覆盖99%的常见问题。第一步检查基础网络连通性现象客户端ping不通防火墙管理IP。可能原因物理链路DOWN、IP地址配置错误、客户端网卡问题、ENSP桥接设置错误。排查命令客户端ping 192.168.1.254防火墙display interface GigabitEthernet 0/0/0 brief(查看接口物理和协议状态)防火墙display ip interface brief(查看接口IP信息)第二步检查管理服务是否开启现象能ping通但无法访问服务超时或连接被拒绝。可能原因HTTPS/SSH服务未启用服务端口被修改。排查命令Web:display service web-managerSSH:display ssh server status通用display tcp status(查看22或443端口是否处于LISTEN状态)第三步检查安全策略是否放行现象服务已开启但连接后无响应或立即断开。可能原因安全策略拒绝或未匹配到permit规则。排查命令display security-policy rule all(查看规则配置)display security-policy statistics(在尝试连接后查看规则命中计数这是最直接的证据)第四步检查用户认证配置现象连接建立但在输入用户名密码阶段失败。可能原因用户不存在、密码错误、用户服务类型未绑定、VTY认证模式不匹配、用户权限等级不足。排查命令display local-user username sshadmin(检查用户状态、服务类型、权限等级)display user-interface vty 0(检查认证模式authentication-mode)第五步检查外部因素现象以上配置全部正确但仍失败。可能原因客户端防火墙阻挡、客户端软件问题如PuTTY版本、服务器密钥缓存冲突。排查动作暂时关闭客户端操作系统防火墙尝试换用其他SSH客户端如从PuTTY换到OpenSSH清除客户端已知主机缓存known_hosts文件。把常用的诊断命令整理成一张表放在你的实验笔记里会非常方便排查方向关键命令预期结果/查看要点接口与IPdisplay ip interface brief管理接口IP正确状态UP服务状态display service web-managerWeb服务:Enabledisplay ssh server statusSSH服务器状态:Enable安全策略display security-policy rule all存在目的区域为local服务为https/ssh的permit规则display security-policy statistics对应规则的packets计数在连接尝试后增加用户配置display local-user用户存在Service-type包含ssh或webState为ActiveVTY线路display user-interface vty 0Authentication mode为aaaProtocol inbound包含ssh当前会话display ssh user-information查看当前通过SSH登录的用户信息display users查看所有登录用户包括Console按照这个流程和命令集绝大部分登录类问题都能被快速定位和解决。配置网络设备清晰的排查思路和熟练的诊断命令是比记忆具体配置更重要的能力。
返回列表