这个问题来自保护知识产权(IP)的观点,在我看来,IP是完全代码和/或配置文件(即易于复制的小型数字文件).我们的秘密酱使我们比我们的小尺寸建议更成功.同样地,我们曾经被一些曾经试图窃取IP的前无良雇员(不是系统管理员)羞辱,两次害羞.高层管理人员的立场基本上是“我们相信人,但出于自身利益,不能承担给任何一个人提供比他们绝对需要的工作更多的风险.”
在开发人员方面,对工作流和访问级别进行分区相对容易,这样人们可以高效工作,但只能看到他们需要查看的内容.只有顶级人物(实际的公司所有者)才能将所有成分组合在一起并创造出特殊的酱汁.
但是我还没有想出一个在Linux管理员端保持这种IP保密的好方法.我们广泛使用GPG代码和敏感文本文件…但是什么是阻止管理员从(例如)suing到用户并跳过他们的tmux或GNU Screen会话并看到他们正在做什么?
(我们也可以在任何地方禁用可能与敏感信息接触的互联网访问.但是,没有什么是完美的,并且可能会在网络管理员方面打开聪明的系统管理员或错误.或者甚至是旧的USB.当然还有许多其他措施,但这些措施超出了这个问题的范围.)
我能想到的最好的基本上是使用带有sudo的个性化帐户,类似于Multiple Linux sysadmins working as root中描述的内容.具体来说:除了公司所有者之外,除了公司所有者之外,没有人会直接访问root用户.其他管理员将拥有个性化帐户和sudo到root的能力.此外,将建立远程日志记录,并且日志将仅发送给公司所有者可以访问的服务器.看到日志记录关闭会引发某种警报.
一个聪明的系统管理员可能仍然会在这个方案中找到一些漏洞.除此之外,它仍然是被动的而不是主动的.我们的IP存在问题,竞争对手可以非常快速地使用它,并在很短的时间内造成很多损害.
所以更好的是一种限制管理员可以做什么的机制.但我认识到这是一种微妙的平衡(特别是考虑到故障排除和修复需要立即解决的生产问题).
我不禁想知道其他拥有非常敏感数据的组织如何管理这个问题?例如,军事系统管理员:他们如何管理服务器和数据而无法查看机密信息?
编辑:在最初的帖子中,我打算先发制人地解决开始浮出水面的“招聘实践”评论.一,这应该是一个技术问题,招聘实践IMO更倾向于社会问题.但是,其中两个,我会说:我相信我们会为招聘人员做一切合理的事情:在公司面试多个人;背景和参考检查;所有员工都签署了许多法律文件,其中包括一份说明他们阅读并理解我们的手册的文件,详细介绍了知识产权问题.现在,它超出了这个问题/网站的范围,但如果有人可以提出“完美”的招聘做法,过滤掉100%的坏人,我全都听见了.事实是:(1)我不相信有这么完美的招聘流程; (2)人们改变 – 今天的天使可能是明天的魔鬼; (3)在这个行业中,尝试代码盗窃似乎有些常规.
解决方法
>系统管理员是具有提升权限的人
>技术上娴熟,达到使他们成为一个好’黑客’的水平.
>在异常情况下与系统交互.
这些事情的结合使得基本上不可能阻止恶意行为.即使是审计变得很难,因为你没有“正常”可供比较. (坦率地说 – 一个破碎的系统也可能会破坏审计).
有一堆缓解措施:
>权限分离 – 你无法阻止有root用户在系统上做任何事情.但是你可以让一个团队负责网络,另一个团队负责“操作系统”(或单独的Unix / Windows).
>将工具包的物理访问权限限制为不同的团队,他们不会获得管理员帐户……但要照顾所有“手”工作.
>分离出’桌面’和’服务器’的责任.配置桌面以禁止删除数据.桌面管理员无法访问敏感信息,服务器管理员可以窃取它,但必须跳过箍才能将其移出大楼.
>审核受限制的访问系统 – 系统日志和事件级别审核,以及他们没有特权访问权限的相对防篡改系统.但收集它是不够的,你需要监控它 – 坦率地说,有很多方法可以“窃取”可能没有出现在审计雷达上的信息. (偷猎者与守门员)
>应用’静止’加密,因此数据不会“以明文”存储,并且需要实时系统才能访问.这意味着具有物理访问权限的人员无法访问未被主动监控的系统,并且在系统管理员正在处理的“异常”情况下,数据暴露程度较低. (例如,如果数据库不工作,数据可能不可读)
>两个人的统治 – 如果你的生产力被削弱了,你的士气也同样如此. (说真的 – 我已经看到它完成了,持续的工作状态和被监视使得工作条件非常困难).
>审核您的系统管理员 – 根据国家/地区可能存在各种记录检查. (犯罪记录检查,您甚至可能会发现在某些情况下您可以申请安全许可,这将触发审查)
>照顾你的系统管理员 – 你要做的最后一件事就是告诉一个你不信任他们的“信任”的人.而且你当然不想损害士气,因为这会增加恶意行为的机会(或者“不是过度疏忽,而是在警惕性下滑”).但是根据责任和技能组合付费.并考虑“特权” – 比工资便宜,但可能更有价值.像免费咖啡,或每周一次披萨.
>您也可以尝试使用合同条件来禁止它,但要注意上述情况.
但从根本上说 – 你需要接受这是一个信任的东西,而不是技术的东西.由于这场完美风暴,你的系统管理员对你来说总是非常危险.