家庭网络设计 - 第2部分
作者:Ethan Robish
为什么需要网络分段?
在第一部分的基础上快速回顾:典型的家庭网络是扁平化的,这意味着所有设备都连接到同一个路由器并处于同一子网。每台设备都可以在网络层面无限制地与其他设备通信。
这种网络的第一道防线是消费级路由器[1][2]。它还包括你的智能门铃[3]、门锁[4][5][6]、灯泡[7]以及所有其他物联网设备[8][9]。更不用说所有PC、平板和智能手机,你当然会及时打上最新的安全补丁[10],对吧?Windows 7现已不再支持,大多数移动设备最多只能获得2-3年的操作系统和安全更新。客人带来的设备呢?你能确保它们也都更新到最新吗?
一旦攻击者在你的网络上获得立足点,他们传播到其他设备的难度有多大?许多路由器漏洞可供攻击者从防火墙内部利用。你的路由器是所有其他设备互联网流量的网关,使你面临恶意DNS、恶意路由甚至TLS剥离中间人攻击的风险。一些最具破坏性的勒索软件攻击[11]通过利用SMB等服务漏洞或通过密码认证在同一网段可访问系统上传播。说到密码,你的密码至少15个字符(最好是随机的),对吧[12]?勒索软件还以尝试默认或常见密码甚至暴力破解[13]而闻名。你最好确保在可能的地方启用多因素认证,因为恶意软件也可以从浏览器和电子邮件中窃取密码[14]。
分段意味着分离设备,使它们不能自由相互通信。这可能是完全隔离它们,或只允许特定流量但阻止其他所有流量。
分段如何帮助解决上述问题?首先要认识到没有人是完美的。即使你有安全意识并积极解决问题,总会有安全漏洞和弱点。
深度防御策略
一旦意识到我们无法完美,拥有不同安全层和实践深度防御的理念就开始有意义了。 https://en.wikipedia.org/wiki/Defense_in_depth_(computing)
你可能已经实施了一些层次:
- 家庭路由器上的边缘防火墙阻止随机入站流量
- 个人设备可能激活了软件防火墙
- 设备可能强制执行身份验证以防止匿名使用
- 可能有防病毒软件防止常见和已知恶意软件感染系统
每一层都可能出错,但添加更多层使攻击者越来越难以构建绕过所有层的利用路径。它们还可以限制一层被攻破时的损害。
网络分段方法
你可以将分段视为一个线性尺度:
- 一端:每台设备都在同一网络上(无分段)
- 另一端:每台设备完全相互隔离
Google在BeyondCorp中实现了这种方法: https://cloud.google.com/beyondcorp
Cloudflare创建了基于类似理念但可在任何地方使用的产品: https://blog.cloudflare.com/introducing-cloudflare-access/
网络分段概念
要实现分段,你需要数据包经过可以应用某种过滤的设备。这发生在OSI模型的不同层,不同概念重叠或协同工作。
交换机 - 管理型交换机可以通过软件配置实现独立的LAN段(称为VLAN)
路由器 - 路由器必须配置路由,允许IP流量在不同网络子网之间传递
防火墙 - 这是最灵活的选项,可以在OSI第3-7层运行
决定每个段的内容
同一网络段上的设备可以自由通信,没有(网络)防火墙限制。而不同段上的设备可以在路由器路由和防火墙规则范围内使用单播流量通信。
分段方法
自上而下方法:从一个段开始,逐步分离最重要的设备
自下而上方法:从每台设备独立开始,基于相似的资源访问需求进行分组
跨段访问服务
允许设备跨段通信有多种原因。一种情况是有独立的访客网络,但仍希望让他们访问不同段上的特定服务。
警告:你不知道客人带来的设备是否已感染恶意软件,或者连接后它们会做什么。让它们连接到你的任何设备都是有风险的。
选项包括:
- 直接拒绝访问
- 添加允许所需服务的防火墙规则
- 设置Chromecast访客模式
- 使用Google云打印
- 使用IGMP配置组播路由
- 使用mDNS中继器
收集硬件
实施分段需要:
- 防火墙和路由器(或第3层交换机)
- 具有VLAN功能的管理型交换机
- 足够的管理型以太网端口
- 支持创建具有VLAN标签的虚拟接入点的无线接入点
进一步资源
本系列至少还有一篇文章,将介绍如何使用自己的硬件实施分段。如果你急于开始,以下资源可以帮助你走上正确的道路。
Mikrotik资源: https://www.youtube.com/channel/UC_vCR9AyLDxOlexICys6z4w
Ubiquiti资源: https://www.youtube.com/playlist?list=PL-51DG-VULPqDleeq-Su98Y7IYKJ5iLbA
Pfsense资源: https://www.youtube.com/user/TheTecknowledge/search?query=pfsense