ARTICLE DETAIL

资讯详情

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

等保整改实战:防火墙、交换机、路由器安全配置规范落地指南

等保整改实战:防火墙、交换机、路由器安全配置规范落地指南 简介这份《信息安全管理制度网络安全设备配置规范》PDF文档面向企业信息安全管理员、网络运维工程师及等保合规相关人员用于指导防火墙、交换机等网络安全设备的规范化配置与日常管理。文档围绕管理员分级、账号与口令策略、变化控制、规则检查、审计监控、应急响应等维度展开并给出防火墙访问控制规则次序、NAT配置、DoS/DDoS防护、私有与非法地址阻断等具体检查项交换机部分则涵盖配置文件离线保存、IOS版本管理、VLAN划分、端口安全、SSH替代Telnet、日志主机配置等操作要点可作为设备加固与安全自查的对照清单。资源包共1个PDF文件大小约681KB内容紧凑便于打印或随查随用。目前已有349人学习下载适合需要落实安全管理制度、开展合规检查或编写配置规范的读者参考借鉴。1. 一份 2011 年的网络安全设备配置规范为什么现在翻出来还能用上周帮一个做等保整改的朋友看防火墙策略他丢过来一份 PDF文件名是《信息安全管理制度网络安全设备配置规范.pdf》说这是甲方给的“参考模板”让我判断能不能直接套。我翻了一遍发现这份文档的骨架其实相当扎实——它把防火墙、交换机、路由器三类设备的配置要求拆成了可勾选的检查项从管理员分级、账号口令策略到访问控制规则次序、NAT 配置、日志审计、应急响应基本覆盖了边界防护的核心面。它不是某个厂商的产品手册而是一份偏管理视角的技术规范适合做安全管理制度落地的底稿。如果你正在写等保测评的整改材料、或者要给团队定一份设备配置基线这份东西能帮你省掉大量从零搭框架的时间。但直接照抄会翻车原因后面细说。2. 防火墙配置规范拆解从管理员分级到规则次序的落地检查2.1 管理员分级与账号口令策略怎么落地文档第一条就要求管理员分级——超级管理员、安全管理员、日志管理员各自定义职责并维护文档记录。这个思路放到今天依然是等保 2.0 里“三权分立”的雏形。实际操作中很多团队嘴上说分级登录设备一看全是同一个 admin 账号在干活审计日志里根本分不清谁做了什么。落地时我一般这样拆超级管理员负责设备初始化、系统升级、接口配置这类底层操作安全管理员只管策略规则、地址对象、用户认证日志管理员只读日志、导出报表没有任何配置权限。在华为 USG 或山石防火墙上可以通过角色绑定实现比如华为的rbac模式下创建不同admin角色山石则用admin和audit分权。口令策略方面文档提到“员工辞职如何进行口令变更”这在今天对应的是账号生命周期管理。常见做法是人员离职当天禁用账号而非删除保留 90 天日志追溯期后再清理。口令复杂度建议至少 12 位、含大小写数字符号且每 90 天强制更换。别用Admin123这种我见过太多设备用这个口令被扫出来。提示文档里“关闭 telnet、http、ping、snmp”这条要辩证看。ping 在某些排障场景下需要临时放开建议用 ACL 限制源 IP而不是全局关闭。2.2 访问控制规则次序为什么你的防火墙性能总是不够文档 1.3 节讲规则检查时给了一个规则次序反电子欺骗过滤 → 用户允许规则 → 管理允许规则 → 拒绝并报警 → 拒绝并记录。这个次序不是随便排的防火墙是首次匹配生效规则越靠前越先被检查。如果你把“拒绝所有”放在第一条那后面所有允许规则都不会被执行——这是新手最容易犯的错。我拿一个实际场景演示。假设内网网段是192.168.10.0/24外网接口是eth0/0内网接口是eth0/1。下面是一组基础规则的配置逻辑# 华为 USG 系列防火墙规则配置示例 # 第一步反电子欺骗阻断从外口进入的私网源地址 acl number 3000 rule 5 deny ip source 10.0.0.0 0.255.255.255 destination any rule 10 deny ip source 172.16.0.0 0.15.255.255 destination any rule 15 deny ip source 192.168.0.0 0.0.255.255 destination any rule 20 deny ip source 127.0.0.0 0.255.255.255 destination any rule 25 deny ip source 224.0.0.0 15.255.255.255 destination any # 第二步允许内网用户访问外网 HTTP/HTTPS rule 30 permit tcp source 192.168.10.0 0.0.0.255 destination any destination-port eq 80 rule 35 permit tcp source 192.168.10.0 0.0.0.255 destination any destination-port eq 443 # 第三步管理允许规则只允许运维网段 SSH 登录防火墙 rule 40 permit tcp source 192.168.10.100 0 destination 192.168.10.1 destination-port eq 22 # 第四步拒绝并记录其余所有流量 rule 100 deny ip source any destination any这段配置的逻辑是先挡掉伪造源地址的流量再放行正常业务然后单独放行管理流量最后兜底拒绝。参数上注意rule后面的数字是步长华为默认步长是 5方便后续插入规则。source 192.168.10.0 0.0.0.255是反掩码写法别写成255.255.255.0那是子网掩码在 ACL 里含义完全不同。文档还提到“是否将常用的访问控制规则放在前面以增加防火墙的性能”。这个说法在硬件防火墙上影响不大但在软件防火墙或虚拟防火墙上规则匹配是逐条遍历的把命中率高的规则前置确实能减少 CPU 消耗。我一般会把内网到外网的 HTTP/HTTPS 规则放在前 20 条以内。2.3 NAT 配置与地址隐藏的边界文档 1.3 节第 7 条讲 NAT要求“任何和外网有信息交流的机器都必须经过地址转换”。这个原则今天依然成立但实现方式变了。早期用 NAT 是为了隐藏内网拓扑现在更多是为了解决 IPv4 地址枯竭。华为防火墙上配置源 NAT 的典型命令# 配置 NAT 地址池 nat address-group 1 mode pat section 0 203.0.113.10 203.0.113.10 # 在安全策略中引用 NAT security-policy rule name trust_to_untrust source-zone trust destination-zone untrust source-address 192.168.10.0 mask 255.255.255.0 action permit nat enablemode pat表示端口地址转换多个内网地址复用一个公网 IP。section 0定义地址池范围。注意华为 USG6000 系列和 USG2000 系列的 NAT 配置语法有差异USG6000 用nat address-group老款用nat-pool。如果你在 eNSP 里做实验模拟器对 NAT 的支持有限建议用真机或 EVE-NG 配合镜像验证。文档还提到“外网机器访问内部机器只能经过 NAT 后的 IP”这在今天对应的是目的 NAT 或服务器映射。配置时注意安全策略要放行 untrust 到 trust 的流量且目的地址写 NAT 后的公网 IP不是内网真实 IP。2.4 日志审计与时间同步的实操细节文档 1.4 节要求“精确设置并维护防火墙时间”并“配置防火墙使得在日志记录中包括时间信息”。这条看起来简单但翻车率极高。我见过一个案例防火墙日志时间比真实时间慢了 3 小时安全事件发生后日志分析时把攻击时间定位到了错误的时间窗口排查方向完全跑偏。正确做法是配置 NTP 同步。华为防火墙# 配置 NTP 服务器 ntp-service unicast-server 192.168.10.10 # 设置时区为东八区 clock timezone Beijing add 08:00:00 # 开启日志时间戳 info-center timestamp log datentp-service unicast-server指定内网 NTP 源clock timezone设置时区偏移info-center timestamp log date让日志带日期。如果内网没有 NTP 服务器至少手动校准一次并每月检查偏差。日志存储方面文档要求“存储在安全介质上”。常见做法是配一台 syslog 服务器防火墙通过info-center loghost 192.168.10.20把日志推过去。syslog-ng 或 rsyslog 都可以注意日志服务器本身要加固别成了新的攻击入口。3. 交换机配置规范落地端口安全、VLAN 隔离与带外管理3.1 关闭不必要的服务与端口安全配置文档第 2 章列了 30 条交换机检查项其中 2.8 条“关闭交换机上不必要的服务”和 2.19 条“实现端口安全以限定基于 MAC 地址的访问”是最容易落地也最容易漏掉的。华为交换机上关闭服务的命令# 关闭 HTTP 服务 undo http server enable # 关闭 CDP华为对应 LLDP按需关闭 undo lldp enable # 关闭不用的端口 interface GigabitEthernet0/0/10 shutdown # 配置端口安全限制 MAC 数量 interface GigabitEthernet0/0/1 port-security enable port-security max-mac-num 2 port-security protect-action restrictport-security max-mac-num 2表示该端口最多学习 2 个 MAC 地址超过后触发restrict动作——丢弃并告警。protect-action有三个选项protect静默丢弃、restrict丢弃并告警、shutdown直接关端口。生产环境建议用restrict避免误杀导致业务中断。文档 2.11 条“shutdown 所有不用的端口”这条我建议配合端口描述一起做。比如interface GigabitEthernet0/0/10下加description UNUSED-PORT-DO-NOT-ENABLE这样别人接手时不会随手启用。3.2 VLAN 隔离与 TRUNK 端口加固文档 2.5 条要求“VLAN 1 中不允许引入用户数据”2.22 条要求“为 TRUNK 端口分配一个没有被任何其他端口使用的 native VLAN 号”。这两条针对的是 VLAN 跳跃攻击。默认情况下交换机的所有端口都在 VLAN 1如果 TRUNK 端口的 native VLAN 也是 1攻击者可以构造带 VLAN 1 标签的帧来绕过隔离。配置示例# 创建专用 native VLAN vlan 999 description NATIVE-VLAN-DO-NOT-USE # 配置 TRUNK 端口 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30 port trunk pvid vlan 999 undo port trunk allow-pass vlan 1port trunk pvid vlan 999把 native VLAN 改成 999undo port trunk allow-pass vlan 1禁止 VLAN 1 通过 TRUNK。这样即使攻击者发送带 VLAN 1 标签的帧也会被丢弃。文档 2.25 条提到“如果可能使 VTP 失效”。VTP 是 Cisco 的 VLAN 同步协议华为对应的是 GVRP。在华为交换机上关闭 GVRPundo gvrp如果必须用设置为透明模式并配置管理域和口令。但说实话现在大多数环境用静态 VLAN 配置就够了动态协议带来的风险大于便利。3.3 带外管理与 SSH 替代 Telnet文档 2.15 条“采用带外方式管理交换机”和 2.14 条“使用 SSH 代替 Telnet”是管理面安全的核心。带外管理指的是通过独立的管理网口或 Console 服务器管理设备不占用业务端口。如果做不到至少要为带内管理指定独立 VLAN。华为交换机配置 SSH 登录# 生成 RSA 密钥 rsa local-key-pair create # 配置 SSH 用户 aaa local-user admin password irreversible-cipher YourStrongPss123 local-user admin privilege level 15 local-user admin service-type ssh # 开启 SSH 服务 stelnet server enable # 配置 VTY 线路只允许 SSH user-interface vty 0 4 authentication-mode aaa protocol inbound sshrsa local-key-pair create生成密钥对irreversible-cipher表示密码加密存储protocol inbound ssh禁止 Telnet 接入。注意privilege level 15是最高权限日常运维建议用低权限账号需要提权时再切换。注意配置 SSH 前确保设备已有 RSA 密钥否则stelnet server enable会报错。老款交换机可能不支持 SSH那就只能用 Telnet 加 ACL 限制源 IP 的方式过渡。4. 路由器安全策略与访问列表从物理安全到入站过滤4.1 物理安全与管理面加固文档第 3 章开头就强调“保证路由器的物理安全”和“严格控制可以访问路由器的管理员”。物理安全这块常见做法是机柜上锁、Console 口加密码、启用exec-timeout超时。管理面加固包括关闭不必要的服务、配置 AAA 认证、限制 SNMP 访问。路由器上关闭小服务# Cisco IOS 示例 no service tcp-small-servers no service udp-small-servers no service finger no ip http server no cdp run no ip bootp server这些命令在华为路由器上对应undo前缀。no cdp run关闭 Cisco 发现协议华为对应undo lldp enable。关闭后不影响路由功能但能减少攻击面。文档还给了 Console 和 VTY 的配置示例核心是transport input none和login local。transport input none表示该线路不接受任何协议接入login local表示用本地用户名密码认证。VTY 线路还要加access-class限制源 IPaccess-list 90 deny any log line vty 0 4 access-class 90 in transport input none login local exec-timeout 0 1 no execaccess-list 90 deny any log拒绝所有并记录access-class 90 in应用到 VTY 入方向。这样任何尝试 Telnet 或 SSH 的流量都会被拒绝并留下日志。exec-timeout 0 1表示 1 秒超时no exec禁止执行命令——这套组合基本把 VTY 锁死了适合不需要远程管理的场景。4.2 入站过滤与私有地址阻断文档第 3 章给了两段访问列表配置一段是拒绝内网发出的非法源地址一段是拒绝外网进入的私有地址和保留地址。这两段是反电子欺骗的核心。入站过滤配置# 拒绝从外网进入的私网源地址 access-list 100 deny ip 10.0.0.0 0.255.255.255 any log access-list 100 deny ip 172.16.0.0 0.15.255.255 any log access-list 100 deny ip 192.168.0.0 0.0.255.255 any log access-list 100 deny ip 127.0.0.0 0.255.255.255 any log access-list 100 deny ip 224.0.0.0 15.255.255.255 any log access-list 100 deny ip host 255.255.255.255 any log access-list 100 deny ip 0.0.0.0 0.255.255.255 any log # 允许其余流量进入内网 access-list 100 permit ip any 192.168.10.0 0.0.0.255 # 应用到外网接口入方向 interface GigabitEthernet0/0 ip access-group 100 indeny ip 10.0.0.0 0.255.255.255 any log中的0.255.255.255是反掩码匹配 10.0.0.0/8 整个网段。log关键字让匹配的包被记录方便审计。最后一条permit ip any 192.168.10.0 0.0.0.255只允许目的地址是内网网段的流量进入其他全部隐式拒绝。文档还列了一长串需要阻塞的端口包括 135、137、139、445 这些 NetBIOS 相关端口以及 31337 这类后门端口。这些端口在今天的边界防火墙上通常默认阻断但在路由器 ACL 上需要手动配置。我一般会把这些高危端口整理成一个对象组批量引用。4.3 出站过滤与源地址验证出站过滤的目的是防止内网被攻陷后成为攻击跳板。文档要求“拒绝从内网发出的源地址不是内部网络合法地址的信息流”。配置逻辑是只允许源地址属于内网网段的流量出站其他全部拒绝并记录。access-list 102 permit ip 192.168.10.0 0.0.0.255 any access-list 102 deny ip any any log interface GigabitEthernet0/1 description internal interface ip access-group 102 inpermit ip 192.168.10.0 0.0.0.255 any只放行源地址是内网网段的流量deny ip any any log拒绝其余所有并记录。这样如果内网有主机被植入伪造源地址的攻击工具流量会在路由器出站方向被拦截。提示出站过滤要配合 uRPF单播反向路径转发一起用。华为路由器上ip urpf strict可以自动丢弃源地址与路由表不符的包比 ACL 更高效。5. 避坑与排查这份规范落地时最容易翻车的五个点5.1 规则顺序写反导致业务全断现象配置完防火墙规则后内网用户无法访问外网但 ping 防火墙接口正常。原因把“拒绝所有”规则放在了允许规则之前或者规则步长设置不当导致插入位置错误。解决检查display acl all输出确认允许规则在拒绝规则之前。华为防火墙默认步长 5插入规则时用rule 3 permit ...可以插在 rule 5 之前。5.2 NTP 未同步导致日志时间错乱现象安全事件发生后日志显示的时间与实际时间相差数小时无法与其它设备日志关联分析。原因防火墙未配置 NTP或 NTP 服务器不可达设备使用本地时钟且偏差累积。解决配置ntp-service unicast-server并验证display ntp status显示同步状态为synchronized。如果内网无 NTP 源至少每周手动校准一次。5.3 端口安全误杀合法终端现象某端口配置port-security max-mac-num 1后用户更换笔记本或插拔网线导致端口被 shutdown。原因端口安全限制 MAC 数量为 1但用户通过 USB 网卡或虚拟机桥接产生了多个 MAC。解决把protect-action改为restrict而非shutdown并适当放宽max-mac-num到 2 或 3。对于接打印机的端口直接关闭端口安全。5.4 SSH 配置后无法登录现象交换机配置 SSH 后用 SecureCRT 连接提示“密钥交换失败”或“无匹配算法”。原因设备 SSH 版本与客户端不兼容或 RSA 密钥未生成。解决确认rsa local-key-pair create已执行检查display ssh server status中 SSH 版本是否为 2.0。老款交换机只支持 SSH 1.x需要升级固件或改用 Telnet 加 ACL 限制。5.5 带外管理不可行时的 VLAN 规划混乱现象所有设备管理地址都在 VLAN 1业务流量和管理流量混跑一旦业务 VLAN 出现广播风暴管理连接也中断。原因未按文档要求为带内管理指定独立 VLAN。解决创建管理 VLAN如 VLAN 100把设备管理接口划入该 VLAN并通过 ACL 限制只有运维网段可以访问管理地址。TRUNK 端口要允许管理 VLAN 通过。6. 把这份规范变成可执行的检查脚本一个自动化核对思路这份 PDF 最大的价值是它把配置要求拆成了可勾选的条目但手动逐条核对 60 多项太费时间。我一般会把它转成一个简单的检查脚本框架用 Python 调用设备 CLI 抓取配置然后逐项比对。下面是一个思路示例不是完整实现但能帮你起步import re from netmiko import ConnectHandler # 设备连接信息 device { device_type: huawei, host: 192.168.10.1, username: admin, password: YourPss123, } # 检查项防火墙是否关闭 telnet def check_telnet_disabled(config): if telnet server enable in config: return False, Telnet 服务未关闭 return True, Telnet 已关闭 # 检查项是否配置 NTP def check_ntp(config): if ntp-service unicast-server not in config: return False, 未配置 NTP 服务器 return True, NTP 已配置 # 主流程 with ConnectHandler(**device) as conn: config conn.send_command(display current-configuration) checks [ (Telnet 关闭, check_telnet_disabled), (NTP 配置, check_ntp), ] for name, func in checks: ok, msg func(config) status PASS if ok else FAIL print(f[{status}] {name}: {msg})这段代码用netmiko连接设备抓取display current-configuration输出然后用正则或字符串匹配检查关键配置项。check_telnet_disabled检查配置里有没有telnet server enable有就说明没关。check_ntp检查有没有ntp-service unicast-server。你可以按这个模式把文档里的检查项一条条加进去比如检查port-security enable、检查undo http server enable、检查 ACL 里有没有私网地址阻断规则。参数上注意device_type要匹配设备型号华为交换机用huawei华为防火墙用huawei或huawei_vrpv8具体看 netmiko 版本。send_command默认超时 10 秒配置大的设备可以调大到 30 秒。我自己的习惯是每次设备变更后跑一遍这个脚本把 FAIL 项截图存档作为变更验证的依据。从那以后我每次做等保整改都强制走一遍“配置抓取 → 逐项比对 → 截图存档”的流程再也没出现过“以为配了其实没配”的尴尬。希望帮到你。本文还有配套的精品资源点击获取
返回列表