这是对是否有正当理由要求我使用我公司的计算机的后续行动。主要是因为我在几个特定情况下看到了一个巨大的问题。
如果我担任某个组织的安全工程师,我肯定会制定一项政策,即只能使用公司计算机。这确实是有道理的,并且不仅保护了公司数据,而且保护了员工的责任。
然而,有一种情况让我感到厌烦:一个称职的开发人员(我不是在谈论初级开发人员,我是在谈论中高级开发人员)可能会在他的工作机器上:
- 17个数据库引擎;
- 20个码头集装箱;
- 10 个测试虚拟机(假设使用类似的东西
qemu
)。
这是初创公司和初创公司(一家成功生存了几年的初创公司)中非常常见的情况。此外,这位开发人员每周都会更换他的 docker 容器和虚拟机,因为他可能会测试新技术。
要求此开发人员每次都请安全工程师安装新软件是完全不切实际的。此外,由于一家公司会有多个这样的开发人员,因此为每个人使用典型的公司管理计算机会带来一些缺点:
- 例如,维护六个这样的开发人员的计算机对于一个称职的安全工程师来说是一项全职工作。
- 这些开发人员的经理会非常生气,因为他的团队 50% 的工作时间都是在等待安全工程师。
另一方面,允许开发人员自由使用机器是危险的:一个流氓 docker 容器或虚拟机,而你有一个内部人员。我什至会说,这些开发人员的计算机比普通用户(例如,使用电子表格软件的经理)的计算机更危险。
您如何为有能力的开发人员制定明智的政策?
以下是我能想到的(或过去看到的)其他一些解决方案,其中大部分都很糟糕:
禁止从开发机器访问互联网:
- 您需要互联网访问才能阅读文档;
- 您需要访问通常在 Internet 上找到的存储库。
给开发者两台电脑,一台上网,一台开发机:
- 抱怨生产力损失:输入
Alt+2
浏览器比切换到另一台电脑要快; - 存储库访问很麻烦:在一个地方下载,复制到另一个地方。
- 鼓励开发人员绕过安全性并在两台机器之间建立基于 USB 的连接,这样他就可以在一台计算机上工作(不止一次看到这种情况发生)。
- 抱怨生产力损失:输入
将开发转移到服务器上(即不在台式机上进行开发):
- 这只是将同样的问题更深地移动,现在流氓容器在服务器上;
- 可以说比允许开发人员在自己的机器上做他想做的事情更糟糕。
一定会有更好的办法。