我在本地网络中有一台 Linux 机器,它使用 OpenVPN 连接来访问外部世界。但是,我对 VPN 服务器本身一无所知,因此我假设操作它的人可能怀有恶意。Linux 机器被认为足够安全,可以在公共网络中使用(没有开放端口或服务运行,软件是最新的等),并且通过 VPN 传输的数据本身也是加密的或无害的。
我很好奇的是,如果其他设备(可能没有得到很好的保护)与 Linux 机器在同一个本地网络上运行,它们是否安全。VPN 连接是否可以用来访问本地网络上的其他设备(在客户端)?VPN 服务器是否可以向客户端注入允许此类访问的路由规则?如果可以,如何防止这种情况发生?
答案1
路由注入和本地 PC 的入侵是两个不同的主题。
首先,让我们确定谁是危险:危险肯定是控制 OpenVPN 服务器的人。OpenVPN 之外的任何人都会发现几乎不可能攻破 OpenVPN 精心构建的相互认证和密钥交换程序。换句话说,如果您使用证书连接到服务器,外部攻击者就无能为力。截至今天,我还没有发现任何针对 OpenVPN 的 RSA 加 Diffie-Helman 加分组密码安全性的漏洞。
即使不使用路由推送,恶意的服务器所有者也可以对你造成很大的损害。事实上,她控制着你的最终路由,她可以使用恶意 DNS 服务器,重新路由到损坏的网站,等等。她自己的网站,无需向客户端推送无关的路由。这样,您甚至不会知道是什么导致了损坏。
她能用被入侵的 PC 攻击你吗?答案是:如果她已经拥有直接访问你 PC 的通道,她为什么要这么做呢?
最后一个问题是:假设有人在您的 LAN 上有一台被入侵的 PC,他能攻击您吗?PC 是如何被入侵的并不重要,它可能是一台在其他地方被入侵的笔记本电脑,也可能是在通过常规渠道浏览 OpenVPN 时被入侵的。这台 PC 攻击您不会有问题:拥有被入侵 PC 访问通道的攻击者会将您视为本地 PC,无需参考 OpenVPN 即可访问。所有 PC,无论操作系统是什么,都有本地路由,否则就不可能连接到打印机、电视、本地共享等。但本地连接不会通过 VPN,无论是哪种 VPN。因此,被入侵的 PC 对您来说是一种危险,确实如此。
VPN 应该提供隐私和安全,也就是说,没有人可以从外部强行访问它,而 OpenVPN 却做得很糟糕。但是,如果局域网上的某人下载并安装了恶意软件,则没有任何防御措施,本地局域网就像清水一样透明。事实上,攻击者唯一的问题就是确定你的真实 IP 地址;我在此网站上的早期回答之一,而我后悔的正是关于如何做到这一点。除此之外,对于攻击者来说,这是一帆风顺的。
答案2
我假设你无法控制你连接的网络,所以这不是 VPN 是否安全的问题。问题是管理网络的一方是否值得信赖。对于你的问题的个别回答
- 不可以,VPN 服务器无法向客户端注入任何客户端路由。但可以将您的流量路由到不同的路由。
- 是的,VPN 服务器可以授予对本地网络的访问权限,也可以授予对可以将您连接到互联网的任何其他设备的访问权限(为公共网络提供 NAT 连接)
这些都不会使您的设备变得更安全或更不安全。