第249篇:安全基线检查清单
关键词
安全基线、配置检查、合规检查、安全加固、基线模板、自动化检查、合规扫描、漏洞扫描
一、什么是安全基线
1.1 安全基线的概念
安全基线是网络设备最低安全配置要求的标准和基准:
安全基线的定义:
没有基线 = 每台设备安全标准不同
┌─── 交换机 A:SSH + 强密码 + 日志
├─── 交换机 B:Telnet + 默认密码 + 无日志
├─── 路由器 C:SNMPv3 + ACL
└─── 防火墙 D:SNMPv2c public + HTTP
有基线 = 所有设备统一标准
所有交换机/路由器/防火墙必须满足:
├─ SSH 管理(禁用 Telnet)
├─ 强密码策略
├─ SNMPv3(禁用 v1/v2c)
├─ 管理 IP ACL
├─ Syslog 日志
└─ NTP 时间同步
基线的作用:
1. 统一安全标准(所有设备一致)
2. 合规依据(等保检查的基础)
3. 新设备上线要求
4. 定期检查依据
1.2 基线来源
安全基线的参考来源:
内部来源: 公司安全策略文档 历史安全事件复盘结论 业务最小权限需求
外部来源:
等保 2.0 基本要求(GB/T 22239-2019) 网络安全等级保护标准 CIS Benchmarks(Center for Internet Security) https://www.cisecurity.org/cis-benchmarks/ 厂商设备的安全配置指南 NIST SP 800-53 美国国家标准与技术研究院 厂商安全配置指南 华为安全配置 Checklist Cisco SAFE 安全参考架构
二、设备安全基线检查项
2.1 账户与认证基线
账户与认证基线:
编号 检查项 等保参考 要求
────────────────────────────────────────────────────────
AC-01 默认账户检查 三级 删除或禁用默认账户
AC-02 密码复杂度 三级 8位+大小写+数字+特殊字符
AC-03 密码有效期 三级 ≤ 90 天
AC-04 登录失败锁定 三级 5次失败锁定15分钟
AC-05 会话超时 三级 空闲 10 分钟断开
AC-06 权限分级 三级 最小权限原则
AC-07 远程管理加密 三级 使用 SSH,禁用 Telnet
AC-08 双因子认证(关键设备) 三级+ 建议启用
检查方法:
# 检查密码策略
display aaa configuration
#
# 检查 SSH 状态
display ssh server status
display telnet server status
#
# 检查 VTY 配置
display user-interface vty 0 4
#
# 检查账户列表
display local-user
2.2 管理协议基线
管理协议基线:
编号 检查项 等保参考 要求
────────────────────────────────────────────────────────
MG-01 Telnet 服务 三级 禁用
MG-02 SSH 版本 三级 v2 以上
MG-03 SSH 加密算法 三级 AES128/256(禁用 DES/3DES)
MG-04 HTTP 管理 三级 禁用 HTTP,使用 HTTPS
MG-05 SNMP 版本 三级 v3(禁用 v1/v2c)
MG-06 SNMP 认证加密 三级 authPriv(SHA+AES)
MG-07 管理 IP ACL 三级 限制管理 IP 源地址
MG-08 带外管理 三级+ 推荐独立管理网络
检查方法:
# 检查不安全协议
display telnet server status
display snmp-agent sys-info version
display http server status
display ssh server cipher
#
# 检查管理 ACL
display acl 2000
#
# 检查管理口
display interface Meth0/0/0
2.3 日志与审计基线
日志与审计基线:
编号 检查项 等保参考 要求
────────────────────────────────────────────────────────
LG-01 日志服务器 三级 配置 Syslog
LG-02 日志内容 三级 记录操作日志/安全日志
LG-03 NTP 时间同步 三级 配置 NTP 服务器
LG-04 日志保留时间 三级 ≥ 6 个月
LG-05 审计管理员 三级 日志只读访问
LG-06 日志保护 三级 防删除/篡改措施
检查方法:
# 检查 Syslog 配置
display info-center
display info-center loghost
#
# 检查 NTP
display ntp-service status
#
# 检查日志缓冲区
display logbuffer summary
2.4 网络安全基线
网络安全基线:
编号 检查项 等保参考 要求
────────────────────────────────────────────────────────
NW-01 未使用端口 三级 关闭(shutdown)
NW-02 端口安全 三级 启用端口安全(MAC限制)
NW-03 BPDU Guard 三级 接入端口启用
NW-04 DHCP Snooping 三级 启用
NW-05 风暴控制 三级 广播/组播/未知单播限速
NW-06 uRPF 三级 启用反查源地址
NW-07 ARP 安全 三级 DAI 或 ARP 检查
NW-08 VLAN 安全 三级 禁用 VLAN1 Native
检查方法:
# 检查未使用端口
display interface brief | include down
#
# 检查端口安全
display port-security
#
# 检查 DHCP Snooping
display dhcp snooping
#
# 检查风暴控制
display storm-control
2.5 系统安全基线
系统安全基线:
编号 检查项 等保参考 要求
────────────────────────────────────────────────────────
SY-01 系统版本 三级 更新到最新稳定版本
SY-02 安全补丁 三级 关键补丁已安装
SY-03 BootROM 密码 三级 设置密码保护
SY-04 配置文件保护 三级 配置加密保存
SY-05 NTP 服务 三级 启用时间同步
SY-06 远程登录 Banner 三级 法律告警提示
检查方法:
# 检查版本
display version
#
# 检查补丁
display patch-information
#
# 检查配置文件加密
display current-configuration | include password cipher
#
# 检查 Banner
display header login
三、基线检查工具
3.1 手动检查脚本
# 华为设备自动基线检查脚本示例
#!/bin/bash
# 安全基线检查脚本
DEVICES="192.168.1.1 192.168.1.2 192.168.1.3"
USER="admin"
PASS="Password@123"
RESULT_FILE="baseline_check_$(date +%Y%m%d).txt"
echo "==============================" > $RESULT_FILE
echo "安全基线检查报告" >> $RESULT_FILE
echo "检查时间: $(date)" >> $RESULT_FILE
echo "==============================" >> $RESULT_FILE
for DEVICE in $DEVICES; do
echo "检查设备: $DEVICE" >> $RESULT_FILE
# 1. 检查 Telnet 状态
RESULT=$(echo "display telnet server status" | \
sshpass -p $PASS ssh -o StrictHostKeyChecking=no $USER@$DEVICE 2>/dev/null)
if echo "$RESULT" | grep -q "Disabled"; then
echo " [PASS] Telnet 已禁用" >> $RESULT_FILE
else
echo " [FAIL] Telnet 未禁用" >> $RESULT_FILE
fi
# 2. 检查 SSH 版本
RESULT=$(echo "display ssh server status" | \
sshpass -p $PASS ssh -o StrictHostKeyChecking=no $USER@$DEVICE 2>/dev/null)
if echo "$RESULT" | grep -q "2.0"; then
echo " [PASS] SSH v2" >> $RESULT_FILE
else
echo " [FAIL] SSH 版本不合规" >> $RESULT_FILE
fi
# 3. 检查 SNMP 版本
# ... 继续添加其他检查项
done
echo "检查完成,结果保存至: $RESULT_FILE"
3.2 自动扫描工具
基线检查工具对比:
工具 适用范围 自动化程度
────────────────────────────────────────────────────────
华为 iMaster NCE 华为设备 高(自动巡检)
Cisco IOS Checker Cisco 设备 中
CIS-CAT CIS 基线检查 中(全厂商)
OpenSCAP NIST 基线 高(Linux为主)
Nmap NSE 网络服务扫描 中(端口/服务)
Lynis Linux 安全基线 高
自定义脚本(Ansible) 所有设备 高
使用 Nmap 扫描不安全服务:
# 扫描 Telnet
nmap -p 23 --open 10.0.0.0/24 -oG telnet_scan.txt
grep "/open/" telnet_scan.txt
# 扫描 SNMP public
nmap -sU -p 161 --script snmp-info 10.0.0.0/24
四、基线模板示例
4.1 交换机安全基线配置模板
# 华为交换机安全基线配置模板
# ========== 系统配置 ==========
sysname SW-{NAME}
ntp-service unicast-server 10.0.100.10
clock timezone UTC add 08:00
# ========== 账户安全 ==========
aaa
local-user admin password cipher {PASSWORD}
local-user admin privilege level 15
local-user admin service-type ssh
password complexity-check enable
password min-length 10
password expire 90
password history 5
lockout-policy 5 15
!
# ========== 管理安全 ==========
undo telnet server enable
ssh server enable
ssh server version 2
ssh server cipher aes256-ctr
rsa local-key-pair create
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
idle-timeout 10 0
acl 2000 inbound
!
acl number 2000
rule 10 permit source 10.0.100.0 0.0.0.255
rule 100 deny
!
# ========== 日志 ==========
info-center enable
info-center loghost 10.0.100.50
info-center timestamp log
# ========== 网络安全 ==========
stp bpdu-protection
dhcp snooping enable
interface range GigabitEthernet0/0/1 to GigabitEthernet0/0/20
stp edged-port enable
dhcp snooping enable
port-security enable
port-security max-mac-num 3
port-security protect-action shutdown
!
interface range GigabitEthernet0/0/21 to GigabitEthernet0/0/24
shutdown
!
五、基线的维护
5.1 基线更新周期
基线维护周期:
季度检查:
├─ 检查所有设备是否满足基线
├─ 更新基线模板(根据新需求)
└─ 生成合规报告
年度更新:
├─ 根据等保新要求更新
├─ 根据新安全威胁更新
├─ 根据厂商新版本更新
└─ 基线版本迭代
新设备上线:
├─ 新设备必须满足基线要求
├─ 设备入网前基线检查
└─ 不满足基线不得入网
5.2 基线违规处理
基线违规处理流程:
发现违规
│
├─ 记录违规项和所属设备
│
├─ 评估风险等级
│ ├─ 高危:SNMPv2c public、Telnet 启用
│ ├─ 中危:密码未设有效期、无日志
│ └─ 低危:Banner 未设置
│
├─ 制定整改计划
│ ├─ 高危:立即整改
│ ├─ 中危:1 周内整改
│ └─ 低危:下个维护窗口
│
├─ 执行整改
│
├─ 验证整改效果
│
└─ 更新检查记录
六、总结
| 知识点 | 核心要点 |
|---|---|
| 安全基线 | 设备最低安全配置标准 |
| 基线来源 | 等保2.0、CIS、厂商指南 |
| 五大检查域 | 账户/管理协议/日志/网络安全/系统安全 |
| 检查方法 | 手动命令、脚本自动化、Nmap 扫描 |
| 基线模板 | 统一配置模板,新设备直接套用 |
| 维护周期 | 季度检查 + 年度更新 + 新设备入网必检 |
| 违规处理 | 按风险等级制定整改计划 |
七、思考
- 什么是安全基线?没有安全基线会有什么问题?
- 设备安全基线检查应该覆盖哪些方面?请列举至少五个检查域。
- 如何用脚本自动化检查多台设备的基线合规情况?
- 基线违规处理中,如何根据违规风险等级制定不同的整改时限?
- 新设备入网前为什么要做基线检查?不满足基线要求会有什么风险?
下篇预告:第250篇《一次完整的企业网安全渗透测试案例》——从信息收集到内网横向移动的完整渗透测试过程,以及防御方的应对分析。