作为承包商,我如何在多个客户端网络上工作而不会泄露数据?

信息安全 数据泄露 tls-拦截 敏感数据暴露
2021-08-13 01:57:33

我是一名承包商,为多个客户进行开发。我们称他们为客户端 A、客户端 B 和客户端 X。
我为所有 3 个客户端使用自己的笔记本电脑。
一整天,我必须为所有 3 个客户处理和回复有关项目的电子邮件和即时消息。

为了处理客户 X 的项目,我必须连接到他们的 VPN。
客户端 X 对其网络上的流量执行 SSL 深度检查。(我从强制锁定密钥的站点/应用程序中收到错误)

我担心有关客户 A 和客户 B 的信息(更不用说我自己的敏感信息)可能会暴露给客户 X。 我该如何防止这种情况,但在处理 X 时仍然保持与 A 和 B 通信的能力网络?

需要明确的是,我所有的客户都明白他们不是我唯一的客户,所以我并没有试图隐瞒我正在从事其他项目的事实,只是试图确保每个客户的“幕后”信息保持私密.

我尝试在我的机器上为每个客户端提供自己的 VM,但是我必须使用的软件 (IDE) 的大量资源需求使得这变得非常缓慢,更不用说许可困难了。

购买额外的硬件(和必要的额外软件许可证)将意味着(对我而言)一笔可观的财务费用,以及管理额外设备的时间和头痛,更不用说物理上很麻烦了,所以我真的很想避免这种情况路线。

4个回答

您可以为每个虚拟机使用一个非常小的虚拟机,但将 IDE 保留在主机上,而不是来宾上。从VM共享一个文件夹到主机,这样您就可以使用主机及其资源进行开发,并使用VM网络访问客户端环境。

大多数 VPN 软件都可以在 Linux 上运行,因此您可以创建一个具有 256MB 内存的非常轻量级的 Linux 客户机,并且只安装 VPN 客户端和 ssh 服务器。要从主机访问环境,请使用 SSH 隧道创建代理(例如 putty,效果很好),因此您不需要主机上的 VPN。

如果您使用支持单独网络命名空间的操作系统,请使用该功能在不同的客户端命名空间中启动每个 VPN 客户端和所有应用程序。

有很多教程如何使用 Linux 实现这一点:例如 thisthis并且还有一个关于 unix stack exchange 的标签

这种方法使用的资源比启动 VM 少得多。

启用拆分隧道,因此通过 VPN 到客户端 X 的唯一流量是发往其服务器的流量。

如果您使用的是 Linux 笔记本电脑,我建议为每个客户端设置一个单独的 Linux 用户。如有必要,这些单独的用户每个人都可以拥有自己的脚本来连接到网络和 VPN

使用这种方法并设置适当的权限,除非您故意su对另一个用户,否则您几乎可以确保不会交叉污染。我建议让另一个用户供您个人使用,并在其下为您打算从所有 Linux 用户访问的文件设置另一个文件夹,例如如果您有耳机,则为音乐。/home/

我自己的/home/看起来像这样,我什至不从事安全工作:

$ ls -l /home
drwxr-x--x  9 dotancohen dotancohen  4096 Mar  6  2020 client_bar
drwxr-x--x  6 dotancohen dotancohen  4096 Mar 29  2019 client_foo
drwxr-xr-x 58 dotancohen dotancohen  4096 Sep 16 11:40 dotancohen
drwx------  2 root       root       16384 Nov 25  2019 lost+found
drwxr-xr-x  7 dotancohen dotancohen  4096 Aug 25 10:04 media

$ ls -l /home/media
total 20
drwxrwxr-x 6 dotancohen dotancohen 4096 Mar 27  2019 audiobooks
drwxrwxr-x 5 dotancohen dotancohen 4096 Jun 18 23:52 books
drwxrwxr-x 2 dotancohen dotancohen 4096 Apr  5  2018 music

请注意,客户的文件夹要求用户在客户的组中,但我的普通用户和媒体文件允许任何人浏览。