内核网络参数加固是什么
Linux 内核通过 sysctl 暴露大量网络与内存安全相关参数:反向路径过滤(rp_filter)缓解 IP 欺骗、关闭源路由与 ICMP 重定向降低被篡改路由的风险、SYN cookies 缓解 SYN flood、地址空间随机化提高漏洞利用难度。加固的做法不是把模板一股脑套上去,而是按主机角色取舍:网关、容器主机、虚拟化节点需要报文转发,ip_forward 必须保持为 1。
基本信息
| 适用平台 | 全部 Linux 发行版;信创系统同样适用 |
|---|---|
| 查看 | sysctl 参数名,或 cat /proc/sys 下对应路径 |
| 临时修改 | sysctl -w 参数=值,重启失效 |
| 持久配置 | /etc/sysctl.d/99-security.conf 等独立文件 |
| 重载 | sysctl -p 文件 或 sysctl --system |
典型使用场景
- 等保主机加固:按条款收敛网络参数并留存配置证据
- 抗扫描与抗洪泛:开启 syncookies、限制 ICMP 与新建连接速率
- 防止欺骗与重定向:关闭源路由与 ICMP 重定向接收
- 内核缓解:调整随机化相关参数,提升漏洞利用门槛
- 基线统一:多机参数一致,便于横向对比与审计
加固配置示例
加固配置示例
cat > /etc/sysctl.d/99-security.conf <<'EOF'
net.ipv4.ip_forward = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
kernel.randomize_va_space = 2
EOF
sysctl -p /etc/sysctl.d/99-security.conf # 立即载入本文件
sysctl --system # 按目录顺序载入全部配置验证与按接口复查
验证与按接口复查
sysctl net.ipv4.tcp_syncookies net.ipv4.conf.all.accept_redirects
sysctl net.ipv4.conf.eth0.rp_filter # 接口级参数可能更严格或不同
sysctl -a 2>/dev/null | grep -E 'ip_forward|rp_filter|syncookies'
sysctl --system | head -20 # 观察载入过程有无报错
cat /proc/sys/net/ipv4/ip_forward # 直接读内核值确认常用参数读法
| 参数 | 含义 | 取值建议 |
|---|---|---|
| ip_forward | 是否转发报文 | 网关/容器/虚机主机必须为 1 |
| accept_source_route | 接收源路由包 | 加固设 0 |
| accept_redirects | 接收 ICMP 重定向 | 加固设 0 |
| send_redirects | 发出 ICMP 重定向 | 非路由器设 0 |
| rp_filter | 反向路径过滤 | 1 严格,2 松散,按网络拓扑选 |
| tcp_syncookies | SYN flood 缓解 | 设为 1 |
| randomize_va_space | 地址空间随机化 | 设为 2 |
网关、容器主机与开启转发的主机 ip_forward 必须为 1;加固前先确认主机角色,照抄模板会直接断掉转发流量。
rp_filter 设为严格模式后,多路径或非对称路由环境会出现丢包,业务异常且难定位,变更前确认网络拓扑。