家庭路由器防火墙设置讨论

94 天前
 jimmy2010

为什么要设置防火墙

我用的是家庭宽带,pppoe 拨号,有公网 IP ,映射了群晖等一些服务出去,之前在路由器上设置了访问日志观察了一段时间,基本上每时每刻都会有全世界各地的 IP 做端口扫描探测。 下面是国外国内两个著名的 IP 资产测绘平台上搜索 synology 关键词的情况: shodan 20W 结果:

fofa 100W+ 结果:

这其中可能就有你我的 nas ,虽说一般也没那么容易就被攻击,但做些防护措施总没错的,万一哪天群晖曝出漏洞,也没那么快就被利用到。

我的防火墙设置

我用的是 routeros ,目前 filter 表主要做了这么些规则:

1 、fasttrack forward ,没有指定接口,用于快速转发已经建立起连接的流量( establised 和 related ),也就是不需要经过下面的规则了,设置了硬件 offload ,可以减轻路由器计算压力

2 、fasttrack input ,同上,主要区别是一个是转发,一个是路由器本身的服务,比如 VPN 的流量,已经建立连接的 VPN 就不需要继续走下面的防火墙规则了

3 、白名单,在白名单里的 IP 直接放行,通常可以设置一些比较固定的远端管理 IP

4 、丢弃非法流量和黑名单流量,非法流量有可能是一些特殊机制的扫描造成的,直接丢弃;黑名单来自于下面规则中的扫描行为检测

5 、拒绝指定时间段内(例如凌晨 1 点到早上 7 点)对游戏服务器的访问,就几个小伙伴一起玩的 mc 之类的,因为之前发现有小伙伴玩到凌晨 4 点,这很危险,影像身体健康,所以设置了这个手动防沉迷机制。

突然想起这里可能有点问题,因为前面提到已经建立的连接直接就会转发,所以这条规则可能要放到更前面去才能产生效果。

6 、监测端口扫描行为并添加到黑名单,这是 routeros 自带的功能,可以自行调整参数,例如 3 秒中内访问了 5 个以上不同的端口试图新建连接。

7 、允许访问路由器自身开放的服务,例如 VPN 、SSH 等

8 、拒绝其它所有进入流量,这个主要是避免访问到路由器上开放的其它一些不必要的端口。如果有需要开放的话,应该手动添加到第 7 条中去。

接下来的计划:

预计还可以研究一下根据地域来阻止访问,例如禁止所有国外 IP 访问,甚至只允许省内访问,群晖上已经设置了禁止国外 IP 访问,这也能阻挡掉很多扫描和攻击行为,注意前面还要放通内网 IP ,不然局域网都访问不到了。

NAT 表主要是一些内部服务的端口映射,其中有一条值得一提,用于在局域网通过公网 IP 访问内部服务器的,又叫做 IP 回流、发夹效应( Hairpinning )、“NAT 环回” ( NAT loopback ) 等等: 当局域网通过网关访问局域网地址时,对源地址进行转换,这样就能在内网通过域名或者公网 IP 来访问到内部的群晖系统了。

所以大家还有什么其它的防火墙设置策略吗?

2023 次点击
所在节点    宽带症候群
17 条回复
hermanarturo
94 天前
666
hermanarturo
94 天前
设置了如果从外网访问 router 的 22 3389 之类的端口,直接添加 ip 到黑名单里面
ZeroClover
94 天前
访问特定 API w/ OIDC credentials 自动对访问 IP 全服务同步加白 15 分钟

懒得弄的就端口敲门

其实大部分内网服务都直接 Cloudflare Tunnel ,不需要暴露对外端口
totoro625
94 天前
一个固定的白名单 + 访问特定 api 自动加白名单比较好
简单易维护

如访问一个 api 链接,加白名单,直到当天 24 点进行删除
tool2dx
94 天前
公网 IP4 没办法的,你可以把服务改成公网 IP6 ,就没人扫你了。

我自己写了一个 fail2ban ,专门搜集屡教不改的 IP 黑名单,自动化拉到 iptables -j DROP 里关禁闭。
vcn8yjOogEL
94 天前
VPN
dodakt
94 天前
我是特殊端口 +单位 ip 和运营商基站 ip 白名单 然后连接其他肺白名单网络就上 vpn 感觉够用了 毕竟大多数时候需求都是单位网络和流量访问
Jinnrry
94 天前
我是只开一个端口做 vpn ,任何访问都通过 vpn 。自己搞防火墙太维护成本太高了,而且非常容易出错,而且很可能是把自己拦住但是拦不住攻击
Jhma
94 天前
不要把非公共服务端口暴露给外网,各类 VPN 是最优解,网上很多把群晖的端口暴露出来的教程真是害人不浅
iamwin
94 天前
我用 opnsense 默认策略,只开放外网 vpn 端口回家,没了
povsister
94 天前
无论什么防火墙
default deny + 按需 ACL
绝不多配就行了。
glouhao
93 天前
@Jhma 我的群晖用的非标端口+屏蔽国外。
rulagiti
93 天前
用 vpn 连,甚至更严格用楼上的端口敲门及 api 添加源 ip 白名单。
piero66
93 天前
我都是用 ipv6 或者 zerotier ,公网 v4 只有 pt 在用,映射全关了
jimmy2010
92 天前
@Jhma 是的,尤其很多还是默认端口
LnTrx
91 天前
顺便提醒一下,群晖的 docker 可能会绕过群晖的防火墙 /t/915279
Autonomous
90 天前
群晖防火墙规则→所有规则,最后一条“拒绝所有”的规则其实不需要,因为默认就是拒绝兜底,楼主你可以试着删掉,测试一下。

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

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

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

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

© 2021 V2EX