有一个 IPv6 防火墙总开关就够了

2022-02-13 15:45:51 +08:00
 LnTrx

2022 年了,很多家用路由器还是没有 IPv6 防火墙的开关,这不应该。
但也有不少人希望路由的防火墙能像 IPv4 那样提供开放端口、控制映射等高级功能,楼主觉得大可不必。

原因如下:

  1. IPv4 下暴露端口最大的威胁是被人扫到,而 IPv6 的 SLAAC 和隐私扩展机制使得终端极难被外部暴力扫描发现(不含网关)。现代操作系统通常自带有防火墙,即使 IPv6 用户的主动访问被探测并发起回访,只要没有乱改配置风险也不大。

  2. SLAAC 和隐私扩展机制使得用户的 IPv6 地址是经常变化的,用户要么需要设法固定地址,要么就得不断调整防火墙配置,无论哪种都非常麻烦。(楼主还没找到可以根据终端 MAC 自动配置的方案,如有还请指出)

  3. 点对点直连才是互联网本来的样子。当用户被 IPv4 NAT 保护惯了,突然回到无阻碍直连的状态反而没有安全感,这才是反常。如果为了顺从过去的习惯,在网关默认屏蔽入站连接,那么当需要开放端口时就又得搞出一套适用于 IPv6 的打洞机制。应该没有人希望在 IPv6 时代还要折腾 UPnP 、NAT-PMP 、Hole Punching 之类的事情吧?

需要指出的是,在 IPv6 地址长期固定的服务端场景下,网关防火墙的精细控制还是有意义的。
如果有考虑不周的地方,欢迎交流讨论。

11736 次点击
所在节点    宽带症候群
65 条回复
duke807
2022-02-13 16:02:37 +08:00
> 应该没有人希望在 IPv6 时代还要折腾 UPnP 、NAT-PMP 、Hole Punching 之类的事情吧?

應該有人,那就是現有的互聯網公司,譬如對於
duke807
2022-02-13 16:05:46 +08:00
譬如對於 TeamViewer 這樣的公司,如果 ipv6 可以直連,那麼公司就要倒閉了

ipv6 對應廣大工程師來說是好東西,應該反對給 ipv6 帶來額外麻煩的事情

ipv6 路由器不允許外部主動連接內部的防護機制,而且還關閉不掉,應該是國產垃圾路由器的尿性吧?海外路由器應該不存在的吧?
delpo
2022-02-13 16:52:58 +08:00
>现代操作系统通常自带有防火墙

至少安卓的防火墙默认是允许入站流量的

>SLAAC 和隐私扩展机制使得用户的 IPv6 地址是经常变化的

设备的 ipv6 固定地址一般是由网关下发前缀+EUI64 计算后缀组成的,其中只有前缀会经常变化。linux 下 ip6tables 可以使用诸如“IPv6 地址 /::ffff:ffff:ffff:ffff”的格式进行后缀匹配来指定设备
cwek
2022-02-13 16:55:34 +08:00
不确定,至少 dd-wrt 的 IPv6 默认 ip6tables 是禁止外网 forward (除 Icmpv6 ),也没有页面开关。

openwrt 的防火墙规则好像也默认 REJECT 掉 forward 。

不要太过于信赖终端的防火墙能力,可能很多物联网设备根本没有这玩意(手动狗头)
acbot
2022-02-13 17:18:46 +08:00
@delpo 是这样的。
xxfye
2022-02-13 18:24:29 +08:00
SLAAC 不是安全保障,在临时 IPv6 地址存活周期内发起攻击完全可行。

只提供 iptv6 总开关肯定是不行的,后缀匹配放行一定要有。我看到路由器做的最好的就是 openwrt 和华硕固件。
比如我信任 NAS 防火墙,就把 NAS 全部端口放行在公网上。其他没有完整防火墙的设备,只允许某些端口入站。

ipv4 时代的 UPNP ,端口转发,DMZ 失去了意义,但还需要一个协议允许客户端主动请求防火墙放行 /阻止自身某个端口入站。
fetich
2022-02-13 18:33:41 +08:00
说起 SLAAC ,感觉群晖的 DSM 获取 v6 地址是没有临时地址一说的,后面一半始终没变,就是 mac 地址
datou
2022-02-13 18:41:01 +08:00
我用过的 WiFi 路由器都有 SLAAC 和 DHCPv6 的切换开关

倒是 ipv6 防火墙确实有些路由器没有

所以我选择主路由用 openwrt 桥接 WiFi 路由器
v2tudnew
2022-02-13 18:54:26 +08:00
@duke807 #2

其实禁止连入也是可以 UDP 打洞的,IPv6 因为很少会采用 NAT ,故 IPv4 对称 NAT 打洞不了的情况不常见,因为是打洞,系统已经安装了应用且需要应用主动发送数据包,不是一种风险。

TeamViewer 支持 IPv6 打洞链接,只是没支持输入 IPv6 地址链接。如果愿意暴露端口一大堆远程软件都可以适配这个基本功能。自用 RDP 都可以。

会动手的折腾的自己 DIY 固件就好了,一般人 BT 、游戏联机、傻瓜式远程软件都不需要主动暴露端口。(并不是说不允许关闭防火墙是一种好主意)。
LnTrx
2022-02-13 19:09:42 +08:00
@delpo
安卓设备对防火墙的需要不大( https://www.quora.com/I-know-I-dont-need-antivirus-for-Android-But-do-I-need-a-firewall ),更何况连蜂窝数据的时候也不可能去上级网关配置防火墙
我说的就是后缀的变化,PC 端要把设备的后缀固定成 EUI64 一般需要改配置,移动端则更麻烦
boris93
2022-02-13 19:20:59 +08:00
@fetich #7 群晖默认不开启隐私保护,也就是说默认没有临时地址,得自己改配置文件
fetich
2022-02-13 19:31:53 +08:00
@boris93 当时在网上检索了一阵,好像没人在意这件事。有群晖官方的修改指南么,还是说需要联系支持?
LnTrx
2022-02-13 19:51:47 +08:00
@delpo 顺便一提,固定的后缀也会成为隐私的风险点,特别是个人电脑。
例如用户下载了某个不正经的 BT 种子,那 IP 地址的行为可能被记录甚至公开(比如 iknowwhatyoudownload.com )。一段时间以后,用户又访问了某个正经网站,因为实名制,后台知道了你后缀和身份的关系。这样,之前的行为也可能与用户的真实身份相关联。在隐私扩展下,只有在相近的时间这样干才容易被关联。但如果使用了固定的后缀,那即便隔了一年也可以被关联,直到用户主动更换。
另外,EUI64 后缀包含设备的 MAC 地址,对厂商而言也是一个可用于追踪的信息。
所以如果使用防火墙放通固定后缀的方案,那可能得把需要放通的服务都集中在专门的设备(如 NAS )与个人电脑隔离,并且仅把该设备的地址后缀固定成随机选定的值。
LnTrx
2022-02-13 20:07:58 +08:00
@cwek 物联网设备确实可能根本没有防火墙。不过这种物联网设备通常也没有隐私扩展,后缀是 EUI-64 定死的。
这么说我们需要的其实是黑名单防火墙(误)
LnTrx
2022-02-13 20:17:00 +08:00
@fetich Linux 通常的做法是在 /etc/sysctl.conf 设置

net.ipv6.conf.default.use_tempaddr=2 ( https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt

不过我没有在群晖里试过
fetich
2022-02-13 20:44:22 +08:00
@LnTrx 感謝!我會在嘗試後添加回覆!
duke807
2022-02-13 21:10:07 +08:00
@v2tudnew 既然不想享受 ipv6 帶來的便利,那推廣 ipv6 的意義何在? ipv4 全部改用可以打洞的 nat 就好了啊,也不存在地址不夠的情況了。。。
delpo
2022-02-13 22:22:05 +08:00
@LnTrx 所以现在都是临时地址+EUI64 地址同时存在,临时地址用于访问外网,固定地址用于作为服务器地址
可以看一下 windows 默认就是可以获取多个 ipv6 地址的,linux 一个网卡也可以获取多个 ip
v2tudnew
2022-02-13 22:25:28 +08:00
@duke807 #17 v4 NAT 打洞成功率不高了,到处是 Symmetric NAT ,要么就是 Port
Restricted Cone NAT ,甚至还有端口内外不一致的 Full Cone NAT 。再说又不是不让你用,你路由器问题怪 v6 这不合适吧?
boris93
2022-02-13 23:40:01 +08:00
@LnTrx #15 对,就这个
@fetich 我是把 default 换成 eth0 还是 ovs_eth0 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833550

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX