适用环境:企业业务系统生产环境 Linux 服务器
检查项来源:企业安全基线 / CIS Benchmark / 等保 / 漏洞扫描平台
风险等级:低(仅内核网络参数,不影响单播 Ping 连通性)
整改方式:标准机对比 + 最小变更修复
脱敏说明:文中192.168.1.255为文档示例广播地址,非真实内网拓扑
目录
- 一、背景
- 二、问题分析
- 三、基线要求
- 四、修复思路
- 五、修复前检查
- 六、配置修复
- 七、修复验证
- 八、自动化修复脚本
- 九、回滚方案
- 十、风险评估
- 十一、整改收益
- 十二、经验总结
一、背景
在企业 Linux 安全基线检查过程中,经常会遇到如下检查项:
| 检查项 | 内容 |
|---|---|
| 类别 | Network Parameters (Host and Router) |
| 检查项 | Ensure broadcast ICMP requests are ignored |
该项通常来源于企业安全基线、CIS Benchmark、等保或漏洞扫描平台。
检查目标是确认系统是否忽略广播地址发送的 ICMP Echo Request(Ping)请求,从而避免系统成为网络放大攻击的一部分。
本次整改针对某业务系统生产环境中的 Linux 服务器开展,采用"标准机对比 + 最小变更修复"的方式完成整改。
二、问题分析
什么是广播 ICMP 请求
正常 Ping 通常是:
Client │ ├── ICMP Echo Request ▼ Server而广播 Ping 则会向整个网段发送请求:
192.168.1.255网络中的所有主机都有可能响应。
例如:
ping192.168.1.255如果服务器接受广播 Ping 并回复,将可能被攻击者利用实施:
- Smurf Attack(Smurf 攻击)
- 网络放大攻击
- 网络扫描
- DDoS 攻击辅助
三、基线要求
系统应开启如下内核参数:
net.ipv4.icmp_echo_ignore_broadcasts = 1参数含义:
| 参数值 | 含义 |
|---|---|
| 0 | 响应广播 Ping |
| 1 | 忽略广播 Ping |
安全基线要求配置为:
1四、修复思路
本次整改遵循统一原则:
避免直接修改大量系统配置,降低生产环境风险。
五、修复前检查
查看当前运行参数:
sysctlnet.ipv4.icmp_echo_ignore_broadcasts输出示例:
net.ipv4.icmp_echo_ignore_broadcasts = 0表示系统仍会响应广播 Ping。
六、配置修复
方式一:新增独立配置文件(推荐)
创建专用配置文件:
vi/etc/sysctl.d/99-icmp-broadcast.conf写入:
net.ipv4.icmp_echo_ignore_broadcasts = 1加载配置
执行:
sysctl--system输出类似:
* Applying /etc/sysctl.d/99-icmp-broadcast.conf ...说明参数已被系统加载。
七、修复验证
再次检查:
sysctlnet.ipv4.icmp_echo_ignore_broadcasts返回:
net.ipv4.icmp_echo_ignore_broadcasts = 1说明运行态已经生效。
检查配置文件
确认配置已持久化:
grepicmp_echo_ignore_broadcasts /etc/sysctl.d/*.conf预期结果:
/etc/sysctl.d/99-icmp-broadcast.conf: net.ipv4.icmp_echo_ignore_broadcasts = 1八、自动化修复脚本
为便于多台服务器统一整改,可封装为标准化 Shell 脚本。
文件名:
fix_icmp_broadcast_ignore.sh脚本内容:
#!/bin/bashset-eecho"=================================="echo"Fix: Ignore Broadcast ICMP Request"echo"=================================="BACKUP_FILE="/etc/sysctl.conf.bak.$(date+%F-%H%M%S)"cp-a/etc/sysctl.conf"${BACKUP_FILE}"echo"Backup Created:"echo"${BACKUP_FILE}"cat>/etc/sysctl.d/99-icmp-broadcast.conf<<'EOF' net.ipv4.icmp_echo_ignore_broadcasts = 1 EOFecho"Apply sysctl..."sysctl--system>/tmp/sysctl_apply.log2>&1echo"Verify..."RESULT=$(sysctl-nnet.ipv4.icmp_echo_ignore_broadcasts)if["${RESULT}"="1"];thenecho"[PASS] net.ipv4.icmp_echo_ignore_broadcasts=1"elseecho"[FAIL] Current value=${RESULT}"exit1fiecho"Completed."九、回滚方案
若需要回退:
删除配置文件:
rm-f/etc/sysctl.d/99-icmp-broadcast.conf重新加载:
sysctl--system或者恢复备份文件:
cp-a/etc/sysctl.conf.bak.YYYY-MM-DD-HHMMSS\/etc/sysctl.confsysctl--system十、风险评估
本项整改属于低风险配置。
| 项目 | 影响 |
|---|---|
| Web 服务 | 无影响 |
| 应用服务 | 无影响 |
| 数据库服务 | 无影响 |
| SSH 远程登录 | 无影响 |
| SELinux | 无影响 |
| Firewalld | 无影响 |
| 内网业务访问 | 无影响 |
| HTTPS 访问 | 无影响 |
实际影响仅为:
服务器不再响应广播 Ping 请求
不影响正常单播 Ping:
ping<服务器IP>仍可正常连通。
十一、整改收益
完成整改后可获得以下收益:
- 满足企业 Linux 安全基线要求
- 满足 CIS Benchmark 相关控制项
- 防止 Smurf Attack 攻击
- 降低网络放大攻击风险
- 提高服务器网络安全性
- 提升安全扫描通过率
十二、经验总结
本次整改属于典型 Linux 内核网络参数加固场景。对于生产环境服务器,推荐采用"标准机对比 + 独立 sysctl 配置文件 + 最小变更同步"的实施方式,而非直接修改大量系统默认配置。
通过将安全配置单独存放于/etc/sysctl.d/目录,不仅便于后续审计和维护,也能够降低配置冲突风险,适合作为企业 Linux 基线整改的标准实践。