Linux:无需 root 权限即可开展工作的系统管理员(保护知识产权)?

Linux:无需 root 权限即可开展工作的系统管理员(保护知识产权)?

有没有什么方法可以让经验丰富的 Linux 系统管理员高效工作,而无需授予他完全的 root 访问权限?

这个问题是从保护知识产权 (IP) 的角度提出的,在我看来,知识产权完全是代码和/或配置文件(即易于复制的小型数字文件)。我们的秘诀让我们取得了比我们规模小得多的成功。同样,我们一朝被蛇咬十年怕井绳来自一些试图窃取 IP 的前任不道德员工(不是系统管理员)。高层管理人员的立场基本上是:“我们信任员工,但出于自身利益,我们不能承担向任何一个人提供超出其工作所需权限的风险。”

开发商另一方面,划分工作流和访问级别相对容易,这样人们就可以高效工作,但只能看到他们需要看到的内容。只有高层人员(实际的公司所有者)才有能力将所有成分组合在一起,创造出特殊的酱汁。

但是我还没能想出一个好办法来在 Linux 管理员端保持 IP 保密性。我们大量使用 GPG 来保存代码和敏感文本文件……但是如何才能阻止管理员(例如)起诉用户并跳转到他们的 tmux 或 GNU Screen 会话并查看他们在做什么?

(我们还禁用了所有可能接触敏感信息的互联网访问。但是,没有什么是完美的,可能会有漏洞让聪明的系统管理员或网络管理员犯错。甚至是老式的 USB。当然还有许多其他措施,但这些超出了这个问题的范围。)

我能想到的最好的办法就是使用个性化账户须藤,类似于多个 Linux 系统管理员以 root 身份工作。具体来说:除了公司所有者之外,没有人真正拥有直接的 root 访问权限。其他管理员将拥有个性化帐户,并能够须藤变成 root。此外,还会启用远程日志记录,日志将发送到只有公司所有者才能访问的服务器。关闭日志记录会触发某种警报。

聪明的系统管理员可能仍能在这个计划中找到一些漏洞。除此之外,它仍然反应性而不是积极主动的。我们的知识产权存在这样的问题:竞争对手可以很快地利用它,并在很短的时间内造成很大的损失。

因此,更好的办法是建立一种限制管理员权限的机制。但我认识到,这是一种微妙的平衡(尤其是考虑到需要解决的生产问题和故障排除)。现在)。

我不禁想知道其他拥有高度敏感数据的组织如何处理这个问题?例如,军事系统管理员:他们如何在无法看到机密信息的情况下管理服务器和数据?

编辑:在最初的帖子中,我打算先发制人地解决开始浮现的“招聘实践”评论。首先,这应该是技术的问题和招聘实践在我看来更倾向于社会的问题。但是,第二,我要说的是:我相信我们为招聘人员做了一切合理的事情:面试多种的公司人员;背景和推荐信检查;所有员工都签署了大量法律文件,其中一份文件表明他们已经阅读并理解了我们的手册,其中详细介绍了知识产权问题。现在,这超出了这个问题/网站的讨论范围,但如果有人能提出“完美”的招聘做法,可以 100% 地过滤掉不良行为者,我愿意听取。事实是:(1) 我不相信有如此完美的招聘流程;(2) 人会变——今天的天使可能是明天的魔鬼;(3) 试图窃取代码似乎在这个行业中很常见。

答案1

您所谈论的就是所谓的“邪恶系统管理员”风险。简而言之就是:

  • 系统管理员是具有提升权限的人
  • 技术熟练,达到可以成为一名优秀“黑客”的水平。
  • 在异常场景中与系统交互。

这些因素的结合使得阻止恶意行为变得几乎不可能。甚至审计也变得困难,因为没有“正常”的事物可以与之比较。(坦率地说 - 一个有缺陷的系统很可能也会有缺陷的审计)。

有很多缓解措施:

  • 权限分离 - 你不能阻止一个有 root 权限的人做任何事物在系统上。但是你可以让一个团队负责网络,另一个团队负责“操作系统”(或分别负责 Unix/Windows)。
  • 将工具包的物理访问权限限制给没有管理员帐户的不同团队……但会负责所有的“手工”工作。
  • 分离“桌面”和“服务器”职责。配置桌面以阻止数据删除。桌面管理员无权访问敏感信息,服务器管理员可以窃取这些信息,但必须费尽周折才能将其带出大楼。
  • 对受限制访问系统进行审计 -syslog以及对他们没有特权访问的相对防篡改系统进行事件级审计。但收集信息是不够的,你需要监控它 - 坦率地说,有很多方法可以“窃取”可能不会出现在审计雷达上的信息。(偷猎者与猎场看守人)
  • 应用“静态”加密,因此数据不会“明文”存储,需要实时系统才能访问。这意味着具有物理访问权限的人无法访问未主动监控的系统,并且在系统管理员正在处理的“异常”情况下,数据暴露较少。(例如,如果数据库不工作,数据可能无法读取)
  • 双人规则 - 如果您不介意自己的生产力和士气受到削弱的话。(认真地说 - 我见过这种情况,持续的工作和被监视的状态使工作条件变得极其困难)。
  • 审查你的系统管理员——不同国家可能存在不同的记录检查。(犯罪记录检查,你可能在某些情况下,你甚至可以申请安全许可,这将触发审查)
  • 照顾好你的系统管理员——你最不想做的事情就是告诉一个“值得信任”的人你不信任他们。你当然不想损害士气,因为那增加恶意行为的可能性(或“不完全是疏忽,但警惕性下降”)。但要根据责任和技能支付报酬。并考虑“福利”——比工资便宜,但可能更有价值。比如每周一次免费咖啡或披萨。
  • 您也可以尝试应用合同条件来抑制它,但要警惕上述情况。

但从根本上讲,你需要接受这是一个信任问题,而不是技术问题。由于这场完美风暴,你的系统管理员对你来说永远都是潜在的危险。

答案2

到目前为止,这里所说的一切都是好东西,但有一种“简单”的非技术性方法可以帮助否定流氓系统管理员 -四眼原则这基本上要求任何提升的访问权限都需要两个系统管理员在场。

编辑:我在评论中看到的两个最大的问题是讨论成本和勾结的可能性。我认为避免这两个问题的最大方法之一是使用托管服务公司,该公司仅用于验证所采取的行动。如果做得好,技术人员就不会互相认识。假设 MSP 拥有技术实力,那么签署所采取的行动就很容易了……甚至可能像对任何邪恶行为的“是”或“否”一样简单。

答案3

如果人们确实需要系统的管理员访问权限,那么您几乎无法限制他们在该系统上的活动。

大多数组织的做法是信任但要验证- 你可能授予人们访问系统部分内容的权限,但你使用指定的管理员账户(例如,你不授予他们直接访问),然后将他们的活动审计到他们无法干扰的日志中。

这里有一个平衡问题;你可能需要保护你的系统,但你也需要信任人们能够做好他们的工作。如果公司以前被不道德的员工“坑过”,那么这可能表明公司的招聘做法在某种程度上很糟糕,而这些做法可能是由“高层管理人员”创造的。信任始于内部;他们正在做什么来修正他们的招聘选择?

答案4

这类似于为建筑物雇用一名看门人所面临的挑战。看门人拥有所有钥匙,可以打开任何门,但原因是看门人需要他们来完成工作。系统管理员也是如此。我们可以对称地思考这个古老的问题,并看看历史上授予信任的方式。

虽然没有明确的技术解决方案,但事实上没有解决方案不应该成为我们不去尝试的理由,不完善的解决方案的集合可以产生相当好的结果。

赢得信任的模式

  • 首先授予较少的权限
  • 逐渐增加权限
  • 放置蜜罐并监控未来几天发生的事情
  • 如果系统管理员报告它而不是试图滥用它,那是一个好的开始

落实多级行政权力

  • 级别 1:可以修改较低层的配置文件
  • 级别 2:可以修改稍高级别的配置文件
  • 级别 3:可以修改稍高级别的配置文件和操作系统设置

始终创建一个人无法完全访问的环境

  • 将系统拆分成集群
  • 赋予不同组集群管理权限
  • 至少 2 组

进行高层核心变更时使用双人规则

信任并验证

  • 记录一切
  • 日志监控与报警
  • 确保所有操作均可区分

文书工作

  • 让他们签署文件,让法律系统能够帮助你,如果他们伤害了你,可以起诉他们,这会让你更有动力不这样做

相关内容