防火墙设备管理

一、设备初始化

为什么需要"设备初始化"?

一台全新的华为USG防火墙(无论是物理设备还是你在eNSP中使用的USG6000V2),出厂时只带有最基础的配置------默认管理IP、默认管理员账号、空的安全策略。从"拆箱"到"正式上线",中间需要完成一系列基础配置,包括:首次登录、修改默认密码、接口IP配置、安全区域划分、路由配置、安全策略等。这个从零到一的过程,就是设备初始化

解决的痛点

  • 默认配置极度不安全(众所周知的管理员密码)。

  • 防火墙默认"拒绝所有"流量,不初始化业务不通。

  • 需要建立管理通路,让管理员能够远程维护设备。

一句话理解:设备初始化 = 给刚拆封的防火墙"通电、设密码、配地址、划区域、开策略",让它从一块"砖"变成一台能干活的安全设备。


防火墙的"出厂状态"是什么样?

配置项 出厂默认值 说明
管理接口 GE0/0/0(或MGMT口) 用于Web/SSH管理
管理IP 192.168.0.1(部分版本为192.168.1.1) 可通过HTTPS访问
管理员账号 admin 固定用户名
管理员密码 Admin@123(部分版本为Admin@huawei) 公开的默认密码
安全策略 默认拒绝所有(隐含deny any any) 业务流量不通
接口状态 全部关闭管理服务(仅Ping允许) 需要手动开启
BootROM密码 O&m15213 用于恢复/重置操作

防火墙初始化配置(逻辑清晰的三个阶段)

bash 复制代码
┌─────────────────────────────────────────────────────────────────┐
│                    阶段一:建立管理通路                           │
│  目标:能登录防火墙,修改默认密码,开启远程管理                     │
│  步骤1:Console首次登录 → 步骤2:开启Web/SSH管理                  │
├─────────────────────────────────────────────────────────────────┤
│                    阶段二:基础网络连通                           │
│  目标:配置接口IP、安全区域、路由,让防火墙自身和业务能通           │
│  步骤3:接口IP + 安全区域 → 步骤4:默认路由                        │
├─────────────────────────────────────────────────────────────────┤
│                    阶段三:业务放行与安全加固                      │
│  目标:让内网用户上网,并完成基础安全加固                         │
│  步骤5:安全策略 + 源NAT → 可选:管理员加固、日志                  │
└─────────────────────────────────────────────────────────────────┘

阶段一:建立管理通路(目标:能登录防火墙)

步骤1:Console 首次登录

步骤2:开启 Web/SSH 远程管理(可选但推荐)

  • 目标:避免每次都插Console线,实现远程图形化或命令行管理。

  • 操作流程(CLI)

bash 复制代码
system-view
interface GigabitEthernet0/0/0      # 以管理口为例,实际可能是GE0/0/0
ip address 192.168.1.1 24          # 配置管理IP(根据实际规划)
service-manage enable
service-manage https permit        # 开启Web管理
service-manage ssh permit          # 开启SSH管理
quit
# 可选:限制管理源IP
acl 2000
 rule 5 permit source 192.168.1.0 0.0.0.255
interface GigabitEthernet0/0/0
 service-manage https permit acl 2000
 service-manage ssh permit acl 2000
bash 复制代码
service-manage https permit

这条命令的完整含义是:允许任意源 IP 地址,通过该接口的 HTTPS 服务访问防火墙自身

  • 不需要 ACL ,因为 permit 后面没有跟 acl 参数时,就是放行所有。

  • ACL 是可选的 ,只有当你想要限制 特定源 IP 时,才需要加上 acl 2000

service-manage 命令的完整语法

bash 复制代码
service-manage { http | https | ssh | telnet | ping } { permit | deny } [ acl acl-number ]

在生产环境中,强烈建议加上 ACL 限制管理源 IP,例如:

bash 复制代码
acl 2000
 rule 5 permit source 10.1.1.0 0.0.0.255
interface GigabitEthernet0/0/0
 service-manage https permit acl 2000

这个 MGMT 口完全可以不加入任何安全区域


阶段二:基础网络连通(目标:防火墙能上网,业务接口通)

步骤3:配置业务接口 IP + 安全区域

bash 复制代码
system-view
# 配置内网口
interface GigabitEthernet0/0/1
 ip address 192.168.1.254 24
 quit
firewall zone trust
 add interface GigabitEthernet0/0/1
 quit

# 配置外网口(示例:DHCP自动获取)
interface GigabitEthernet0/0/2
 ip address dhcp-alloc
 quit
firewall zone untrust
 add interface GigabitEthernet0/0/2
 quit

步骤4:配置默认路由(让防火墙自身能访问外网)

  • 目标:防火墙需要知道如何到达外网(下一跳是运营商网关)。

  • 操作流程

cpp 复制代码
ip route-static 0.0.0.0 0.0.0.0 运营商网关IP
# 如果外网口是DHCP,通常会自动生成默认路由,可查看路由表确认
display ip routing-table

验证:从防火墙Ping外网IP(如8.8.8.8),确保能通。

bash 复制代码
ping 8.8.8.8
  • 注意事项

    • 若Ping不通,检查外网接口IP是否获取成功,运营商网关是否可达。

    • 防火墙自身Ping外网属于 Local → Untrust 流量,默认允许,不需安全策略。

阶段二完成标志:防火墙自身能Ping通外网(如8.8.8.8),且接口区域划分正确。


阶段三:业务放行与安全加固(目标:内网用户能上网)

步骤5:配置安全策略 + 源NAT

bash 复制代码
system-view
# 1. 安全策略
security-policy
 rule name trust_to_untrust
  source-zone trust
  destination-zone untrust
  source-address 192.168.1.0 mask 255.255.255.0
  action permit
 quit

# 2. 源NAT(使用easy-ip,直接借用接口IP)
nat-policy
 rule name trust_to_untrust_nat
  source-zone trust
  destination-zone untrust
  source-address 192.168.1.0 mask 255.255.255.0
  action source-nat easy-ip
 quit

防火墙初始化 = 三步走:①Console改密码开管理,②配接口划区域加路由,③安全策略+源NAT放业务。


修改web登录的超时时间,防止web短时间掉线


二、管理员角色与权限


三、设备管理

3.1 命令行管理

Console管理实验

Console 口是设备的本地管理接口,通过专用线缆直接连接电脑的串口(或 USB 转串口)。它不依赖网络,即使设备没有 IP 地址、防火墙策略错误、网络完全中断,你依然可以通过 Console 口登录设备进行配置或恢复。

安全风险 :任何能物理接触到设备的人,只要插上 Console 线,就能直接进入系统。如果不设密码,就等于把设备完全交给陌生人。所以 Console 口必须配置认证

超时风险 :管理员登录后忘记退出,后面的人可以继续操作。所以需要设置空闲超时,一段时间无操作自动断开。


步骤 1:进入 Console 接口,配置密码登录

操作命令

bash 复制代码
system-view   # 进入系统视图(如果需要)
user-interface console 0
authentication-mode password
set authentication password cipher Huawei@123

逐条解释


步骤 2:设置 Console 连接超时时间

操作命令

bash 复制代码
idle-timeout 10 20

查看 Console 接口在线用户

操作命令

bash 复制代码
display user-interface 0

输出及解释

bash 复制代码
Idx  Type     Tx/Rx   Modem Privi ActualPrivi Auth  Int
0    CON 0    9600            15       15        A
字段 含义
Idx 0 用户线索引号,0 对应 Console 0
Type CON 0 类型为 Console 0
Tx/Rx 9600 波特率,串口通信速率,默认 9600,一般不需要修改
Modem (空) 是否支持 Modem,Console 口不支持
Privi 15 该线路配置的默认优先级(权限级别),15 为最高
ActualPrivi 15 当前登录用户实际拥有的优先级(因为没做限制,所以也是 15)
Auth A 认证状态:A 表示已通过认证(Authenticated)
Int (空) 该行当前使用的物理接口(Console 口不显示)

Telnet管理实验

步骤 1:配置管理接口允许 Telnet 协议

操作命令

bash 复制代码
interface GigabitEthernet0/0/0
 service-manage enable
 service-manage telnet permit

逻辑拆解

  • service-manage :华为防火墙专门用于控制发往设备自身的管理流量的接口级命令。它独立于安全策略,不经过安全策略检查。

  • service-manage telnet permit:允许从该接口(G0/0/0)接收 Telnet 连接请求(目的端口 23)。

  • 为什么需要这条命令?

    防火墙默认只允许 ping 管理,其它管理服务(Telnet、SSH、HTTPS)必须在接口下显式开启,否则即使 Telnet 服务全局激活,接口也会丢弃 Telnet 报文。

安全提醒 :Telnet 是明文协议,建议只在完全隔离的管理网络 中使用,或者仅用于实验。生产环境请改用 service-manage ssh permit

  • service-manage enable :这是总开关,激活了接口的管理访问功能,是整个功能生效的前提。

  • service-manage telnet permit :这是分开关,在总开关打开的基础上,放行具体的Telnet服务。

service-manage enable是"我要启用管理功能",而service-manage telnet permit是"我要启用的是Telnet这项具体功能"。将两者分开,是V500系列软件为追求极致的安全控制架构灵活性,而做出的精妙设计选择。


步骤 2:激活 Telnet 服务

操作命令

bash 复制代码
telnet server enable

逻辑拆解

  • 全局开关telnet server enable 是激活设备 Telnet 服务的总开关 。如果此命令未配置,即使接口 service-manage telnet permit 也无法登录。

  • 系统提示不安全的协议 :华为设备会明确警告 Warning: Telnet is not a secure protocol.,提醒你改用 SSH。

两者关系

bash 复制代码
全局 telnet server enable(总闸) + 接口 service-manage telnet permit(分支水龙头)= Telnet 可用

常见错误 :只配置了 service-manage telnet permit 却忘记 telnet server enable,导致无法连接。反之亦然。


telnet server enableservice-manage enable 是两个不同层级、不同作用范围的总开关,它们不是二选一,而是"与"的关系------必须同时开启,Telnet 才能真正可用。

两个"总开关"的分工

开关 层级 作用范围 类比
service-manage enable 接口级 控制某个特定接口是否允许管理流量进入 大楼的某个侧门是否开放
telnet server enable 设备级(全局) 控制整个设备的 Telnet 服务进程是否启动 大楼内部的Telnet 服务台是否有人值班

关键理解

  • service-manage enable 管的是(这个口让不让管理流量过)。

  • telnet server enable 管的是(Telnet 这个协议的服务进程有没有启动)。

两者缺一不可。

两者相乘,才是最终的访问结果

bash 复制代码
Telnet 最终可用 = telnet server enable (全局开) × service-manage telnet permit (接口开)

完整的工作流程(报文视角)

当一个 Telnet 请求到达防火墙的 G0/0/0 接口时:

bash 复制代码
步骤 1:接口检查 ------ service-manage 是否 enable?
        │
        ├── 未 enable → 丢弃(接口根本不处理管理流量)
        │
        └── 已 enable → 继续检查 service-manage telnet permit?
                         │
                         ├── 未 permit → 丢弃(接口不允许 Telnet)
                         │
                         └── 已 permit → 放行,进入下一层

步骤 2:设备全局检查 ------ telnet server 是否 enable?
        │
        ├── 未 enable → 拒绝连接(服务进程没启动)
        │
        └── 已 enable → 服务进程响应,建立 Telnet 会话

很多初学者(甚至一些老手)会认为:既然我在接口上 service-manage telnet permit 了,就说明我想用 Telnet,设备应该自动帮我开启 telnet server enable


为什么设备全局检查(telnet server enable)会在接口检查(service-manage)之后?


步骤 3:配置登录失败锁定策略(可选)

操作命令

bash 复制代码
aaa
 lock-authentication enable
 lock-authentication failed-count 2
 lock-authentication timeout 10

逻辑拆解

  • AAA 视图aaa 进入认证、授权、计费配置视图。

  • lock-authentication enable:开启登录失败锁定功能。针对所有通过 AAA 认证的登录方式(如 Telnet、SSH、Web)。

  • failed-count 2 :连续失败 2 次后触发锁定(默认 3 次)。

  • timeout 10 :锁定持续 10 分钟(默认 30 分钟)。

为什么需要这个配置?

  • 防暴力破解:攻击者通过脚本不断尝试密码。锁定策略可以大大增加破解难度。

  • 合规要求:等保 2.0 等安全标准要求配置登录失败处理功能。

注意事项

  • 此配置仅对 AAA 认证方式 生效。如果 VTY 使用 authentication-mode password(单一密码),则不会触发锁定。

  • 锁定的对象是 源 IP + 用户名(或源 IP + 密码模式下的 IP),防止误锁全局。

  • 实际生产环境建议设置更严格的阈值(如失败 3 次锁定 30 分钟)。


AAA跟VTY

AAA 和 VTY 不是平级关系,而是"认证机制"与"接入通道"的关系

我用一个小区门禁系统的比喻帮你彻底理清:

  • VTY :相当于小区的侧门。你通过哪个门进入(门本身有属性:允许刷卡还是刷脸)。

  • AAA :相当于门禁背后的认证中心。它负责核实你是谁、你有没有权限、你做了什么。

一句话总结:VTY 是"通道",AAA 是"通道背后的认证与授权机制"。

一、知识点背景

二、核心定义

三、底层逻辑拆解(VTY 与 AAA 如何协同工作)

1. 登录流程:用户通过 VTY 通道,AAA 做认证

bash 复制代码
1. 管理员发起 Telnet → 防火墙的 VTY 0 通道接收连接。
2. VTY 检查自己的配置:
   - protocol inbound telnet(允许 Telnet 吗?)
   - authentication-mode aaa(认证方式是什么?)
3. 如果认证方式是 aaa,VTY 将认证请求"扔给"AAA 模块。
4. AAA 模块接管:
   - 提示输入用户名/密码。
   - 查询本地用户数据库(或 RADIUS 服务器)。
   - 检查用户是否被锁定、密码是否正确。
   - 返回认证结果(成功/失败)给 VTY。
5. VTY 根据 AAA 的结果:允许进入或拒绝。

步骤 4:配置 VTY 接口,允许 Telnet 并使用本地账号登录

操作命令

bash 复制代码
user-interface vty 0 4
 authentication-mode aaa
 protocol inbound telnet

逻辑拆解

  • user-interface vty 0 4:虚拟终端通道,共 5 个(0,1,2,3,4),用于远程登录。同时最多允许 5 个 Telnet/SSH 会话。

  • authentication-mode aaa :认证方式改为 AAA(即使用本地用户数据库或 RADIUS 服务器)。如果不配,默认是 password(单一密码)或 none

  • protocol inbound telnet :指定该 VTY 通道允许的入向协议。可选 telnetsshall。此处限定为 telnet,防止误用 SSH(但生产环境应反过来)。

为什么要用 aaa 而不是 password

  • password 模式:所有登录者共用同一个密码,无法区分用户,无法单独锁定,无法审计谁做了什么。

  • aaa 模式:可创建多个本地用户,分配不同权限,记录操作日志,支持失败锁定策略。


VTY 线路自身的协议准入控制

直接结论protocol inbound telnetVTY 线路(虚拟终端通道)的"门禁" ,它决定了这条 VTY 通道允许哪种远程登录协议进入。即使前面两层都放行了,如果 VTY 通道拒绝 Telnet 协议,你依然无法登录。

一、三层控制的分工与类比

层级 配置命令 作用 类比
第1层:接口级 service-manage telnet permit 控制该物理接口是否允许 Telnet 管理流量进入 公司大楼侧门是否开放给访客
第2层:全局服务 telnet server enable 控制设备上的 Telnet 服务进程是否启动 公司前台接待是否有人在岗
第3层:VTY 通道 protocol inbound telnet 控制某条 VTY 虚拟通道是否允许 Telnet 协议建立会话 公司内部的具体办公室门是否允许访客进入

关键理解

  • 前两层决定了"你能不能进大楼"。

  • 第三层决定了"你进了大楼后,能不能进某个具体的办公室(VTY 通道)来办事"。

二、为什么 VTY 还要单独限制协议?

三、完整的三层检查顺序(报文视角)

当管理员发起 Telnet 请求时,防火墙的处理流程:

bash 复制代码
1. 物理接口 G0/0/0 收到报文
   ↓
2. 检查 service-manage telnet permit ?(接口级)
   - 未配置 → 丢弃
   - 已配置 → 继续
   ↓
3. 检查全局 telnet server enable ?(服务级)
   - 未开启 → 拒绝连接(或无响应)
   - 已开启 → 继续
   ↓
4. 查找空闲的 VTY 通道(0-4 中找一个未使用的)
   ↓
5. 检查该 VTY 通道的 protocol inbound 是否允许 telnet?
   - 不允许(例如配置了 protocol inbound ssh)→ 拒绝
   - 允许 → 继续
   ↓
6. 检查 VTY 的 authentication-mode
   - none → 直接进入
   - password → 提示输入密码
   - aaa → 进入 AAA 认证流程
   ↓
7. 认证通过 → 登录成功

注意protocol inbound 检查发生在 VTY 通道分配之后、认证之前。如果协议不匹配,根本不会提示你输入用户名密码。

四、为什么不把协议检查放在全局或接口层?

因为协议类型(Telnet vs SSH)是应用层 的概念。接口层只关心"这是不是管理流量",不区分具体协议;全局服务层虽然区分了 telnet serverssh server,但那是独立的进程开关。而 VTY 通道是会话层的概念,它天然需要知道这个会话要用什么协议来传输数据。

设计哲学:每一层做自己该做的事。接口层管物理准入,服务层管进程是否启动,VTY 层管会话协议的匹配。这样各层职责清晰,也允许更灵活的组合(比如你可以在全局开启 Telnet 和 SSH,但只让 VTY 0-2 允许 SSH,VTY 3-4 允许 Telnet)。

五、配置示例:混合协议分配

bash 复制代码
# 前 3 条 VTY 只允许 SSH
user-interface vty 0 2
 protocol inbound ssh
 authentication-mode aaa

# 后 2 条 VTY 只允许 Telnet
user-interface vty 3 4
 protocol inbound telnet
 authentication-mode password
 set authentication password cipher TelnetOnly

这样:

  • SSH 客户端会占用 VTY 0-2。

  • Telnet 客户端会占用 VTY 3-4。

  • 即使全局 telnet server enablessh server enable 都开启了,协议也会被限制在指定的 VTY 通道上。


步骤 5:管理员账号添加 Telnet 登录功能

操作命令

bash 复制代码
aaa
 manager-user admin
 service-type web terminal telnet

逻辑拆解

  • manager-user admin :进入名为 admin 的管理员用户配置视图。如果用户不存在,则会创建。

  • service-type:指定该管理员允许使用哪些服务登录。

    • web:Web 界面(HTTPS)

    • terminal:Console 口

    • telnet:Telnet 登录

    • ssh:SSH 登录

  • 为什么需要配置 service-type telnet

    即使 VTY 允许 Telnet,但 AAA 认证时还会检查用户是否具有 telnet 服务权限。如果没有,认证会被拒绝。


完整的 Telnet 登录检查流程(4 层)

bash 复制代码
【第1层:接口级】
G0/0/0 收到 Telnet 请求
    ↓
检查 service-manage telnet permit? → 否 → 丢弃
    ↓ 是
【第2层:全局服务级】
检查 telnet server enable? → 否 → 拒绝
    ↓ 是
【第3层:VTY 通道级】
找到空闲 VTY,检查 protocol inbound telnet? → 否 → 拒绝
    ↓ 是
检查 authentication-mode aaa → 触发 AAA 认证
    ↓
【第4层:AAA 用户级】
AAA 提示输入用户名/密码
    ↓
检查用户名/密码是否正确? → 否 → 认证失败
    ↓ 是
检查该用户的 service-type 是否包含 telnet? → 否 → 授权失败,拒绝登录
    ↓ 是
检查该用户的 privilege level / role(授权)→ 分配权限
    ↓
登录成功,进入 CLI

关键点service-type 检查发生在密码验证通过之后、权限分配之前 。如果用户密码正确但 service-type 不含 telnet,会收到类似 Authorization failedAccess denied 的提示。

层级 控制对象 作用
接口 service-manage 所有管理流量 物理接口允许哪种管理协议进入
全局服务 telnet server enable 所有 Telnet 流量 设备是否启动 Telnet 服务进程
VTY protocol inbound 该 VTY 通道 该通道允许哪种协议建立会话
AAA service-type 特定用户 该用户允许使用哪种服务登录

思考:为什么配置Telnet需要有四个开关?

场景一:为什么需要"接口级"开关?

需求:同一个设备,内网口允许 Telnet,外网口绝对禁止 Telnet

背景:防火墙有两个接口------GE0/0/1 连接内网(Trust),GE0/0/2 连接外网(Untrust)。你希望:

  • 管理员从内网可以 Telnet 登录。

  • 任何人从外网不得 Telnet 登录(即使他知道密码)。

如果只有全局、VTY、AAA,没有接口级开关

  • 全局 telnet server enable 开启 → 所有接口都允许 Telnet。

  • 你无法区分内网口和外网口。只能靠 ACL 限制源 IP,但外网口如果也允许 Telnet 流量进入,攻击者依然可以暴力尝试,消耗防火墙 CPU。

接口级开关的不可替代性

  • service-manage telnet deny硬件/驱动层直接丢弃报文,不消耗控制平面 CPU。

  • 只有接口级开关能做到"物理隔离"不同端口的 Telnet 权限。

结论:没有接口级开关,你无法实现"内网开、外网关"这种最基本的安全隔离。


场景二:为什么需要"全局级"开关?

需求:紧急关闭所有 Telnet 服务,但保留 SSH 和业务

背景 :你收到安全通告,Telnet 协议存在严重漏洞(如 CVE-2020-101XX)。你需要立即、完全禁止任何 Telnet 连接,同时不影响正在进行的 SSH 会话和业务流量。

如果只有接口、VTY、AAA,没有全局级开关

  • 你需要登录每一台防火墙,找到每一个开启了 service-manage telnet permit 的接口,执行 undo service-manage telnet permit

  • 如果有 100 台防火墙,每台平均 4 个接口开了 Telnet,你要操作 400 个地方。紧急情况下极易遗漏。

  • 更糟:如果你之前配置了 service-manage telnet permit acl,需要先删除 ACL 或修改 ACL,步骤更多。

全局级开关的不可替代性

  • undo telnet server enable 一条命令,瞬间关闭整个设备的 Telnet 服务进程。

  • 无论接口如何配置,Telnet 都不再响应。这是最高效的应急停止手段

结论:没有全局级开关,紧急安全响应将是一场灾难。


场景三:为什么需要"VTY 级"开关?

需求:限制 Telnet 并发会话数,防止 DoS 攻击

背景:你担心攻击者通过大量 Telnet 连接占满所有 VTY 通道,导致管理员无法通过 SSH 登录。

如果只有接口、全局、AAA,没有 VTY 级 protocol inbound 区分

  • VTY 0-4 默认同时接受 Telnet 和 SSH。攻击者用 5 个 Telnet 连接占满 VTY 0-4,你的 SSH 就无法进来了。

  • 你无法"预留"几条 VTY 专门给 SSH。

VTY 级开关的不可替代性

复制代码
user-interface vty 0 2
 protocol inbound ssh
user-interface vty 3 4
 protocol inbound telnet
  • 这样,SSH 只能用 VTY 0-2(3 个并发),Telnet 只能用 VTY 3-4(2 个并发)。

  • 攻击者最多占满 2 个 Telnet 通道,管理员仍可通过 SSH 使用剩余的 3 个通道登录。

结论:没有 VTY 级协议区分,你无法实现"资源预留"和"攻击面隔离"。


场景四:为什么需要"AAA 用户级"开关?

需求:同一个用户名,只允许通过 SSH 登录,不允许 Telnet

背景 :公司安全策略要求:管理员 admin 必须使用加密协议(SSH)远程管理,严禁使用明文 Telnet。但是 admin 同时需要从 Console 口(本地)登录进行紧急维护。

如果只有接口、全局、VTY,没有 AAA 的 service-type

  • VTY 配置 authentication-mode aaa 后,admin 只要能通过密码验证,就可以从 Telnet 和 SSH 两种方式登录。

  • 你无法禁止 admin 使用 Telnet,因为 VTY 的 protocol inbound 是通道级的,不能针对不同用户区分。

  • 你只能创建两个不同用户(如 admin-sshadmin-telnet),但这样不便于统一管理。

AAA 用户级开关的不可替代性

bash 复制代码
aaa
 manager-user admin
 service-type ssh terminal   # 允许 SSH 和 Console,但不允许 telnet
  • 即使全局 Telnet 开启、接口允许、VTY 允许,admin 用 Telnet 登录时,AAA 会在授权阶段拒绝。

  • 同时,admin 仍然可以通过 SSH 和 Console 正常登录。

结论 :没有 service-type,你无法做到"同一用户不同登录协议的最小权限控制"。


总结:四个场景,四个不可替代的开关

开关层级 解决的唯一问题 不可替代的理由
接口级 不同物理端口不同策略(内网开/外网关) 硬件级丢弃,节省 CPU,实现端口隔离
全局级 紧急一键关闭所有 Telnet 服务 应急响应效率,避免逐个接口操作
VTY 级 限制 Telnet 并发数,隔离协议资源 防止 DoS 占满通道,预留 SSH 通道
AAA 级 同一用户禁止 Telnet 但允许 SSH 用户级最小权限,满足合规要求

这四个场景是正交的,即任何一个场景的需求都无法用其他三个开关的组合来实现。因此,四个开关必须同时存在。


3.2 图形化管理

HTTPS管理实验


四、文件管理

文件管理试验


相关问题

问题1:Service-Manage(接口访问控制管理)的接口下面策略的优先级大于安全策略

知识点背景:为什么需要Service-Manage?(从0到1的必然)

1.1 安全策略的"死锁"困境

想象一下:一台全新的华为USG防火墙,刚从包装盒里拿出来。它上面划分了Trust和Untrust区域,默认安全策略是deny all(全部拒绝)。这是防火墙的安全基石。

现在,管理员需要登录这台防火墙进行配置。他怎么登录?

  • 通过Web界面 :需要防火墙开启HTTPS服务,并且需要有一条安全策略允许管理员所在区域(比如Trust) → Local(防火墙自身)的HTTPS流量。

  • 问题来了 :要配置这条安全策略,管理员必须先登录到防火墙。但登录需要这条策略已经存在------先有鸡还是先有蛋?

这就是安全策略的"管理死锁"。如果完全依赖安全策略来控制对防火墙自身的管理访问,那么初始配置就变成了一个无法解开的环。

1.2 Local区域的特殊性

在华为防火墙的安全区域体系中,Local区域是特殊的

  • 所有发往防火墙自身的流量(SSH、HTTPS、SNMP、路由协议报文等),目的地都是Local区域。

  • 所有从防火墙自身发出的流量(回应报文、主动发起的连接),源区域都是Local区域。

按照域间安全策略的默认规则:高优先级区域到低优先级区域默认允许(Local→其他),低优先级区域到高优先级区域默认拒绝(其他→Local)。Local优先级是100,最高。

所以,默认情况下,任何从Trust(优先级85)发往Local(优先级100)的管理流量,都会被安全策略直接丢弃 ,即使你写了一条permit策略也不行?不,如果你写了permit策略,它会覆盖默认行为。但关键点是:在没有写任何策略的情况下,默认是拒绝的。而初始配置时,你还没法写这条策略。

1.3 Service-Manage的诞生:独立的"管理通道"

为了解决这个死锁,华为在设计防火墙时,决定将"设备自身管理 "与"业务流量转发 "在数据转发平面上物理上分离处理。

  • 业务流量:走完整的安全策略匹配、会话建立、内容安全检测流程。

  • 管理流量 :在报文进入接口的第一时间,由一个独立的、轻量级的检查机制(Service-Manage)直接处理。这个机制不依赖安全策略、不依赖会话表、甚至不依赖区域配置是否完整。

核心目的:保证在任何情况下(即使安全策略配置错误、区域未划分、会话表满),管理员只要还有接口IP和物理连接,就能通过一个"后门"(但这个是安全的后门,可以单独控制)登录设备进行维护。

所以,Service-Manage不是安全策略的替代品,而是安全策略的"前置快速通道",专门用于设备自身管理。


核心定义(重新提炼)

Service-Manage 是华为防火墙在接口视图下提供的一个独立于安全策略体系 的、入方向报文预过滤 功能。它位于报文处理流水线的最前端(接口接收后、查找会话表/安全策略之前),仅用于控制发往设备自身(Local区域)的指定管理协议(HTTP/HTTPS/SSH/Telnet/SNMP/Ping)。其检查结果具有最高优先级------一旦拒绝,报文不会再进入后续任何处理流程。

关键词:独立于安全策略、处理流水线最前端、仅限管理协议、优先级最高。


底层逻辑拆解:为什么接口下的策略优先级大于安全策略?

要理解这个"优先级大于",不能从数值上理解(比如数字大优先),而是要从防火墙内部报文处理流程的先后顺序来理解。

2.1 标准报文处理流程(无Service-Manage)

一个数据包从接口进入防火墙,大致会经历以下阶段(简化版):

  1. 物理/链路层接收:校验MAC、VLAN等。

  2. 查找会话表:检查是否已有会话(状态检测核心)。

  3. 如果未命中会话:进行路由查找,确定出接口和下一跳。

  4. 安全策略匹配:根据源区域、目的区域、五元组等匹配策略规则。

  5. 创建会话:如果策略允许,创建会话表项。

  6. 转发/上送CPU:如果是发往设备自身(Local),则上送CPU处理(如SSH解密)。

问题:在这个流程中,如果安全策略拒绝,报文在第4步就被丢了。而管理员要配置安全策略,必须能先登录------死锁。

2.2 加入Service-Manage后的处理流程

华为防火墙在第1步之后、第2步之前 ,插入了一个新的检查点:Service-Manage检查

bash 复制代码
报文进入接口
    ↓
[物理/链路层接收]
    ↓
★ Service-Manage检查(接口视图配置)★   ← 这里是第一道闸门
    ↓ (检查通过)
查找会话表
    ↓ (未命中)
路由查找
    ↓
安全策略匹配(区域、策略)
    ↓
创建会话/上送CPU

关键点 :Service-Manage检查在会话表查找之前,更在安全策略匹配之前。

这意味着:

  • 如果Service-Manage拒绝了该报文 (比如接口下没有配置service-manage ssh permit),报文直接丢弃,后续的会话表、安全策略、路由统统看不到这个包。

  • 如果Service-Manage允许了该报文,它才被放行进入后续的会话表和安全策略处理流程。

所以,"优先级大于"是指处理时序上的绝对优先:它先执行,执行结果直接决定后续流程是否被执行。安全策略连"看到"这个包的机会都没有,如果Service-Manage没放行。

2.3 为什么设计成这样?(三个根本原因)

原因一:解耦管理流与业务流,保证带外管理可行性

安全策略可能因为配置错误导致所有流量被阻断。如果管理流量也走安全策略,那管理员就会被锁在外面,只能通过Console口(物理线缆)恢复。但很多生产环境,防火墙可能部署在远端机房,Console口不可达。

Service-Manage作为一个独立于安全策略配置 的检查点,即使安全策略全错(比如把所有策略都删了),只要接口下还有service-manage ssh permit,管理员就能SSH进去修复。

原因二:性能考虑,避免管理流量占用会话表资源

管理流量(比如管理员的一次SSH登录)会创建会话表项。如果大量无效的管理探测攻击(比如扫描防火墙SSH端口)也创建会话,会浪费会话表资源。Service-Manage在会话表之前就丢包,这些攻击流量连会话表都看不到,直接被接口级别的ACL丢弃,高效且安全。

原因三:提供接口级别的"精细化管理粒度"

安全策略是基于区域 的。一个区域可能包含多个接口。如果我想允许从某个特定接口(比如专门的管理接口)进行SSH登录,但禁止从同区域的其他业务接口进行SSH登录,用安全策略很难实现(因为源区域相同)。而Service-Manage是接口级别的,可以做到"这个接口开SSH,那个接口不开",粒度更细。


华为设备落地(逻辑层面的落地)

在实际设备上,这个"优先级"体现在:

  • 当你尝试从G1/0/1接口ping防火墙的该接口IP时,如果接口下没有service-manage ping permit,你会立刻收到Request timeout。即使你在安全策略中写了一条permit ip source any destination any(完全放行),也依然不通。因为Service-Manage在第一关就丢包了。

  • 当你配置了service-manage ping permit,但安全策略拒绝了Trust → Local的ICMP,你会发现ping还是不通。这是因为Service-Manage放行后,报文进入了安全策略阶段,被安全策略拒绝了。

两者是"与"的关系 :必须Service-Manage允许 安全策略允许,管理流量才能最终到达设备CPU。


问题2:管理接口的路由跟业务接口的路由不在同一张路由表里

知识点背景:诞生原因与解决痛点

这背后是网络安全设计中"管理与业务分离"的核心原则。试想,如果防火墙的Web管理页面与员工上网走同一个IP地址和路由通道,会带来巨大风险:

  • 暴露攻击面:黑客扫描到你的公网IP,很可能发现并攻击你的Web管理界面,风险极高。

  • 干扰业务稳定性:一条错误的路由配置(如默认路由指向错误)可能导致整个网络瘫痪,同时防火墙也无法远程登录恢复。

  • 违背审计原则:管理员本应从专属的管理网段登录,如果与普通员工共用网络,所有操作将混杂在一起,无法进行有效的审计与溯源。

华为防火墙通过将管理接口"关进"一个名为 default独立VPN实例 中,实现了从路由表到转发表的彻底隔离。这在华为官方文档中被称为"将管理平面与业务平面分离",是提升设备自身安全性的关键设计。

核心定义:VPN实例与default

  • VPN实例(VRF):你可以理解为在物理防火墙上虚拟出的多台独立路由器,每台都有自己专属的路由表、接口和协议进程,彼此"看不见"对方的路由。

  • default VPN实例 :这是华为防火墙内置的管理专用虚拟路由器 。在V500R001C50SPC100及之后版本中,防火墙的物理管理口(GigabitEthernet0/0/0出厂时就被默认绑定到了名为 default 的VPN实例中。

因此,普通业务口的路由都存在于"全局路由表"中,而管理口的路由则存在于"default VPN实例的路由表"中。这就是你执行 display ip routing-table 看不到管理网段直连路由,必须加上 vpn-instance default 才能看到的根本原因。


相关推荐
zjeweler9 小时前
“网安+护网”终极300多问题面试笔记-3共3-综合题型(最多)
笔记·网络安全·面试·职场和发展·护网行动
Tong Z10 小时前
TCP中的常见概念
网络·网络协议·tcp/ip
以太浮标11 小时前
华为eNSP模拟器综合实验之- IS-IS路由协议实践配置解析
网络协议·网络安全·华为·智能路由器·信息与通信
北京耐用通信14 小时前
耐达讯自动化CAN转EtherCAT网关:3步配置,赋能电机启动器智能化升级
人工智能·物联网·网络协议·自动化·信息与通信
C2H5OH14 小时前
PortSwigger SQL注入LAB 1
网络安全
小红的布丁15 小时前
TCP 核心原理:三次握手、四次挥手、粘包拆包、TCP 与 UDP 区别
网络协议·tcp/ip·udp
网络安全许木17 小时前
XSS渗透与防御
网络安全·渗透测试·xss
Hello_Embed18 小时前
嵌入式上位机开发入门(二十二):RTU/TCP 双协议互斥访问寄存器
笔记·网络协议·tcp/ip·嵌入式
学习中的DGR20 小时前
[极客大挑战 2019]BabySQL 1新手解题过程
数据库·web安全·网络安全