![设计安全的网络布局](https://linux22.com/image/636041/%E8%AE%BE%E8%AE%A1%E5%AE%89%E5%85%A8%E7%9A%84%E7%BD%91%E7%BB%9C%E5%B8%83%E5%B1%80.png)
过去几年,我积累了大量硬件,目前它们都存在于平面网络上。有许多设备:我的台式机、笔记本电脑、与我同住的其他人的电脑、开发和 git 服务器、备份服务器、在独立的 lxc 容器中运行 httpd 和 mysqld 的服务器,每个容器都有自己的可路由 IP。
我最近刚刚继承了一个(还不错的)管理型交换机,我想建立一个更加安全的网络布局,我并不希望受到攻击,但在不久的将来,我将开始研究比我习惯的更复杂的网络,我想自己深入研究一下,这样我就不会措手不及。
我以程序员的心态来考虑这个问题,自从我小时候开始玩 Linux 以来,我一直在家里的平面网络上工作,我得到了子网和 Vlan(有点……后者较少)和 dhcp 等,但我从未真正深入研究过网络结构,因为做这种事情的硬件成本太高了。
因此,从我非常幼稚的网络安全角度出发,我尝试绘制一张我认为可行的图表
让我解释一下为什么我认为这会起作用,如果你能纠正我的想法或提供更好的解决方案,请这样做!
我希望将我每天使用的所有随机非 Linux 机器以及与我一起生活的人的机器与我的其他东西在一定程度上分离到单独的 VLAN 上,主要是为了减少文件共享等的随机冲突,同时也减少攻击面。
我想要第二个 vlan 来容纳我所有的 linux 机器、git/dev 机器、备份服务器和 lxc 主机,它们需要能够访问外部世界以进行包维护和备份我在外部世界维护的服务器,以及与我的第一个 vlan 通信,以便我的备份服务器可以从我的台式机/笔记本电脑备份,这样我就可以通过我的开发服务器上的 ssh 和 http 连接到我的 dev/backup/lxc 服务器以访问我的 gitlab 界面。
然后我有了第三个 vlan,这就是事情变得奇怪和让我困惑的地方。我的 lxc 主机上有两个容器,每个容器都有自己的可路由 IP,这些 IP 目前可在我的平面网络上访问,我想做的是为它们提供静态 IP,这些 IP 存在于交换机上的 vlan 中,该 vlan 与其他两个 vlan 是分开的。现在我有点困惑,因为它会是一种虚拟 vlan,因为它实际上不会被分配给交换机本身的任何端口(我有点假设某些托管交换机确实有此功能,而且我不是凭空想象的)。这个 vlan 目前只允许从其 vlan 外部进行 http 访问,因为我不需要通过 ssh 进入这些容器,因为我可以通过 lxc 主机启动控制台,而添加 ssh 只会增加另一个攻击面(无论如何,我是这么认为的)...
那么……这一切都说得通吗?请随意把我当白痴,网络管理对我来说是一个超越平面网络的全新话题!谢谢
编辑:如果你想知道我的交换机是 TP-LINK TL-SG2216,但我对理论网络/安全方面更感兴趣
答案1
您实际上并没有提出问题,因此很难确定您想要做什么。
你的设计整体上看起来相当不错,但有一点似乎是错的(它可能还可以,但表现得很糟糕,但结合你的评论,我认为你可能没有很好地理解这个概念),那就是 -
VLAN 是“虚拟交换机”。它们通常不做防火墙。标准做法是让每个 VLAN 位于自己的子网上,然后确保不同的子网通过网关路由。防火墙不是在交换机上完成的,而是在网关/路由器上完成的。
值得注意的是 - 虽然我相信 VLAN 确实提供了一定的安全性,但这种观点并非普遍认同 - 它们是为隔离流量而设计的,而不是为安全性而设计的,而且有关于 VLAN 之间的溢出等的争论可能会削弱它们。因此,“最佳实践”是在每台服务器上额外运行防火墙。