AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1050158
Accepted
CodyMouse
CodyMouse
Asked: 2021-01-18 07:33:23 +0800 CST2021-01-18 07:33:23 +0800 CST 2021-01-18 07:33:23 +0800 CST

VLAN 直通安全

  • 772

目前我正在设计一个网络。问题是在某个时候我遇到了一个奇怪的请求。客户对她/他自己提出了一些想法。现在我很困扰,因为我对这件事的了解不够深。我无法确定请求本身是否存在固有问题,以及是否有如何将它们传达给客户。该请求特别适用于两台服务器,具体如下:

物理网络(简化):

router.eth0 <--> switch.eth0 | switch.eth1 <--> server1.eth0 | server1.eth1 <--> server2.eth0

逻辑网络:

+----------+      +----------+      +----------+      +----------+
| router   |      | switch   |      | server1  |      | server2  |
| untagged | <--> | untagged |      |          |      |          |
+----------+      | vlan 10  | <----+----------+----> | vlan 10  |
                  |          |      | untagged | <--> | untagged |
                  +----------+      +----------+      +----------+

因此,来自路由器的每个请求首先标记到 vlan 10 并发送到 server1。server1 然后将这些数据包转发到 server2,而 server1 对 vlan 10 数据包没有反应。之后 server2 从 vlan 10 取消标记数据包,并根据数据包的内容将其中一些转发回 server1 或自行处理。最后 server1 可以响应这些数据包,因为它们现在没有标记。

抢先提出一些建议:我知道将 server2 直接连接到路由器并将 server1 连接到 server2 会更容易,但是如果这种方法没有安全问题,客户端会坚持这样做。客户端还将其设置为要求所有指向 server1 的数据包都必须由 server2 处理。

我现在的问题是攻击者是否可以破坏此设置。这样,如果他获得了对其他路由器的控制权。攻击者能否利用通过 server1 的数据包流来发挥自己的优势(不包括拒绝服务)?例如,攻击者能否伪造可以直接发往 server1 且不流经 server2 的数据包?

networking vlan linux-networking
  • 1 1 个回答
  • 114 Views

1 个回答

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2021-01-18T08:32:26+08:002021-01-18T08:32:26+08:00

    如果一切都完全按照描述进行配置,攻击者应该无法伪造数据包或直接到达 server1。可以安全地配置它。

    但这种设置仍然存在严重缺陷:

    最重要的是,它太复杂了。虽然可以这样配置,但为什么要故意这样配置呢?增加复杂性的目的是什么,为什么要做的事情比他们需要的更复杂?有时会说计算机系统的设计质量是用 WTF 来衡量的,WTF 询问审核员的次数越多,系统就越出乎意料地复杂(即设计越差);确实是这样,WTF是这样的吗?

    其次,这种设置引入了一个故障点,使系统更难诊断和修复。观察到失败server1会导致server2无法访问,即使它工作得很好;server2意志的失败server1也无法访问,即使它也很好。您无法真正区分这两种情况。想象一下,您遇到了两台服务器都无法访问的情况。你觉得哪一个失败了?您无法提供任何大致的指示来及早诊断和修复系统。您需要从一开始就仔细检查所有内容,并且无法远程完成任何事情。这样,它需要额外的不合理的维护。您的客户是否愿意为这些额外的工作支付更多费用,而通过适当的网络设计可以轻松避免(或至少降低可能性)这种费用?

    此外,这种设置非常脆弱。其他可能的设置可以证明一些错误是合理的;如果在不明显的地方犯了一个错误,这将显示违规行为。对于一些刚刚面临这种设置的新员工来说,应该启用什么以及在哪里启用并不明显。您需要非常仔细地在 server1 上配置 VLAN,因为它不接受来自交换机端的未标记数据包。如果它错误地接受,则设置有缺陷并且条件 server1 不可访问,除非通过 server2 不再成立;这为伪造的数据包创造了一个洞。

    最后,它效率低下,可能导致 DoS。预计两条链路都是 1Gbps 是正常的。我们不知道将在 server1 上运行哪种服务,但为简单起见,我将描述一个最简单的情况,它具有对称的典型流量分布:传入流量大约等于传出流量。在这种情况下,链接 server1-server2 的加载量始终是链接 switch-server1 的两倍。当链路 switch-server1 上的负载仅超过其容量的 50% 时,如果所有流量都预计通过 server2 到达 server1,则服务器之间的链路将超出其容量并且数据包将被丢弃。另外,server1 必须桥接网络,这将由 CPU 完成;它不是很高的负载,但它仍然会产生中断,上下文切换,所以 server1 必须做一些完全不需要的工作。这是政府一直喜欢的设置类型,它让他们的员工忙碌而没有做任何有用的工作,只是来回移动纸张。

    如果服务器以“正确的顺序”连接并且没有 VLAN,所有这些问题当然都会消失。也可能是星形网络拓扑,在这种情况下,所有设备(路由器、两台服务器)都直接连接到交换机,然后所有 VLAN 处理都在交换机上完成。Star-like 也“有点”没有这些问题。它只描述了链路过载的问题,但在这种情况下更容易解决,在交换机上安全配置 VLAN 自然比在服务器上更容易。

    • 1

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve