摘要: 通过彻底关闭 IPv6 协议栈,实现攻击面减半与系统资源消耗最小化。
- sysctl
通过修改系统内核参数,从底层彻底关停 IPv6 协议处理。
使内核不再为 IPv6 封包分配 CPU 中断和内存空间。
- nginx
聚焦 IPv4 监听,消除 Nginx 在多协议握手时的配置歧义与性能损耗。
移除 [::]:80 与 [::]:443
- ufw
同步 UFW 配置文件与系统现状,消除配置漂移。
IPV6=no 强制全局策略对齐。
ufw status 规则表精简 50%,实现防御规则的“高内聚”。
具体步骤如下:
# 1. sysctl:
# ---------------------------------------------
vi /etc/sysctl.conf
# 在末尾添加:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
# 查看配置, 应该输出上述配置
sysctl -p
# 查看 ipv6 的情况,应该是没有返回
ip a | grep inet6
# ---------------------------------------------
# 2. nginx:
# ---------------------------------------------
# nginx 配置更新
# 查找相关的 server 配置,查找 listen 指令。
# 移除 [::]80 / [::]443 的监听
# nginx 检查配置
nginx -t
# 重载 nginx 配置
systemctl reload nginx
# 查看 nginx 状态
systemctl status nginx
# ---------------------------------------------
# 3. ufw:
# ---------------------------------------------
# 修改 ufw 的 ipv6 规则
# IPV6=yes -> IPV6=no
vi /etc/default/ufw
# 重启防火墙
ufw reload
# 重新看下
ufw status
# result:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
# ------------------------------------------------
发表回复