Mat*_*att 64 security linux root
有没有办法让经验丰富的 Linux syadmin 在不给他完全的 root 访问权限的情况下提高工作效率?
这个问题来自保护知识产权 (IP) 的角度,在我的情况下,它完全是代码和/或配置文件(即易于复制的小型数字文件)。我们的秘方使我们比我们的小规模所暗示的更成功。同样,我们曾经被一些试图窃取 IP 的前任肆无忌惮的员工(不是系统管理员)咬了一口,两次害羞。高层管理人员的立场基本上是,“我们信任人们,但出于自身利益,不能承担给任何人比他们完成工作绝对需要的更多访问权限的风险。”
在开发人员方面,划分工作流和访问级别相对容易,这样人们就可以提高工作效率,但只能看到他们需要看到的内容。只有顶级人才(实际公司老板)有能力将所有原料组合起来,制作出特别的酱汁。
但是我还没有想出一个很好的方法来在 Linux 管理端维护这个 IP 保密。我们广泛使用 GPG 来处理代码和敏感文本文件……但是有什么可以阻止管理员(例如)向用户发出警告并跳转到他们的 tmux 或 GNU Screen 会话并查看他们在做什么?
(我们还在可能接触敏感信息的任何地方禁用 Internet 访问。但是,没有什么是完美的,聪明的系统管理员可能会漏洞或网络管理员方面的错误。甚至是旧的 USB。有当然还有许多其他措施,但这些超出了本问题的范围。)
我能想到的最好的方法基本上是使用带有sudo 的个性化帐户,类似于以root 身份工作的多个 Linux 系统管理员中描述的内容。具体来说:除了公司所有者之外,没有人实际上拥有直接的 root 访问权限。其他管理员将拥有个性化帐户和sudo进入 root的能力。此外,将建立远程日志记录,并将日志发送到只有公司所有者才能访问的服务器。看到日志记录关闭会引发某种警报。
一个聪明的系统管理员可能仍然会在这个方案中找到一些漏洞。除此之外,它仍然是被动的而不是主动的。我们 IP 的问题在于,竞争对手可以非常迅速地利用它,并在很短的时间内造成大量损害。
所以最好是一种限制管理员可以做什么的机制。但我承认这是一个微妙的平衡(特别是考虑到目前需要解决的故障排除和生产问题)。
我不禁想知道其他拥有非常敏感数据的组织如何管理这个问题?例如,军事系统管理员:他们如何在无法看到机密信息的情况下管理服务器和数据?
编辑:在最初的帖子中,我打算先发制人地解决开始浮出水面的“招聘实践”评论。一,这应该是一个技术问题,IMO 的招聘实践更倾向于社会问题。但是,二,我会这样说:我相信我们会尽一切合理招聘人员:面试多个公司人员;背景和参考调查;所有员工都签署了大量法律文件,其中一份声明他们已阅读并理解我们的手册,其中详细介绍了知识产权问题。现在,它超出了这个问题/网站的范围,但如果有人可以提出“完美”的招聘做法,过滤掉 100% 的坏演员,我全都在听。事实是:(1)我不相信有这么完美的招聘流程;(2) 人在变——今天的天使可能是明天的恶魔;(3) 企图窃取代码在这个行业似乎有些司空见惯。
Tim*_*ham 50
到目前为止,这里所说的一切都是好东西,但有一种“简单”的非技术方法可以帮助否定一个流氓系统管理员 -四眼原则基本上要求两个系统管理员在场以进行任何提升的访问。
编辑:我在评论中看到的两个最大的项目是讨论成本和勾结的可能性。我考虑过的避免这两个问题的最大方法之一是使用仅用于验证所采取措施的托管服务公司。如果做得好,技术人员不会互相认识。假设 MSP 应具备的技术实力,很容易对所采取的行动进行签字......甚至可能就像对任何邪恶的事情做出是/否一样简单。
Rob*_*oir 27
如果人们真的需要对系统进行管理员访问,那么您几乎无法限制他们在该框上的活动。
大多数组织所做的是信任,但要验证- 您可以让人们访问系统的某些部分,但您使用命名的管理员帐户(例如,您不让他们直接访问root),然后将他们的活动审计到他们的日志中不能干涉。
这里有一个平衡的行为;您可能需要保护您的系统,但您也需要信任人们来完成他们的工作。如果公司以前被不道德的员工“咬”,那么这可能表明公司的招聘做法在某种程度上很糟糕,而这些做法可能是由“高层管理人员”创造的。信任始于家;他们正在做什么来修正他们的招聘选择?
Sob*_*que 19
你所说的被称为“Evil Sysadmin”风险。它的长短是:
这些因素的结合使得阻止恶意行为基本上是不可能的。甚至审计也变得困难,因为你没有“正常”可以比较。(坦率地说 - 一个破碎的系统很可能也破坏了审计)。
有很多缓解措施:
syslog审计-以及对他们没有特权访问的相对防篡改系统的事件级审计。但是收集它是不够的,您需要对其进行监控 - 坦率地说,有很多方法可以“窃取”可能不会出现在审计雷达上的信息。(偷猎者与猎场守卫)但从根本上说 - 你需要接受这是一个信任的事情,而不是一个技术问题。作为这场完美风暴的结果,您的系统管理员对您来说总是具有潜在的危险。
Gra*_*avy 18
不要让自己陷入疯狂的技术思维扭曲中,试图想出一种方法来赋予系统管理员权力而不赋予他们权力(这可能是可行的,但最终会在某些方面存在缺陷)。
从商业实践的角度来看,有一组简单的解决方案。不是便宜的解决方案,但很简单。
你提到你关心的IP是分块的,只有上层的人才有权力看到。这基本上就是你的答案。您应该有多个管理员,并且他们中的任何一个都不应该是足够系统上的管理员来组合完整的图片。当然,每件作品至少需要 2 或 3 名管理员,以防管理员生病或发生车祸或其他事情。甚至可能让他们错开。假设您有 4 个管理员和 8 条信息。admin 1 可以访问有piece 1 和2 的系统,admin 2 可以进入pieces 2 和3,admin 3 可以进入3 和4,admin 4 可以进入4 和1。每个系统都有一个备份admin,但没有管理员能够妥协全貌。
军方也使用的一种技术是移动数据的限制。在敏感区域,可能只有一个系统可以刻录磁盘,或者使用 U 盘,所有其他系统都受到限制。并且使用该系统的能力极其有限,并且在允许任何人将任何数据放在可能导致信息泄漏的任何事物上之前,需要得到上级的具体文件批准。出于同样的原因,您可以确保不同系统之间的网络流量受到硬件防火墙的限制。控制防火墙的网络管理员无法访问他们正在路由的系统,因此他们无法专门访问信息,并且您的服务器/工作站管理员确保所有进出系统的数据都配置为加密,
所有笔记本电脑/工作站都应该有加密的硬盘驱动器,每个员工都应该有一个私人储物柜,他们被要求在晚上结束时将驱动器/笔记本电脑锁在里面,以确保没有人早到/晚离开并获得一些东西他们不应该这样做。
每台服务器至少应该在自己上锁的机架中,如果不是自己上锁的房间,那么只有负责每台服务器的管理员才能访问它,因为在一天结束时,物理访问胜过一切。
接下来是一种可以伤害/帮助的练习。有限的合同。如果你认为你可以支付足够的钱来吸引新的人才,那么只在预定的时间(即 6 个月、1 年、2 年)内保留每个管理员的选项将允许你限制某人拥有的时间尝试将您 IP 的所有部分放在一起。
我的个人设计将是...将您的数据分成许多部分,假设为了拥有数字 8,您有 8 个 git 服务器,每个都有自己的一组冗余硬件,每个由一组不同的管理员。
所有将接触 IP 的工作站的加密硬盘。在驱动器上有一个特定的“项目”目录,这是唯一允许用户放入他们的项目的目录。在每晚结束时,他们需要使用安全删除工具清理他们的项目目录,然后移除硬盘驱动器并锁定(只是为了安全)。
项目的每一部分都分配了不同的管理员,因此用户只能与分配给他们的工作站管理员交互,如果他们的项目分配发生变化,他们的数据将被擦除,他们会被分配一个新的管理员。他们的系统不应该具有刻录功能,并且应该使用安全程序来防止使用 USB 闪存驱动器在未经授权的情况下传输数据。
从中获取你想要的。
Wad*_* M. 11
这将类似于为建筑物雇用看门人的挑战。看门人拥有所有钥匙,可以打开任何门,但原因是看门人需要它们来完成工作。与系统管理员相同。人们可以对称地思考这个古老的问题,并看看历史上授予信任的方式。
尽管没有明确的技术解决方案,但事实上没有任何解决方案不应成为我们不尝试任何解决方案的理由,不完美的解决方案的聚合可以产生一些很好的结果。
赢得信任的模型:
实施多层次的行政权力:
始终创建一个人不可能完全访问的环境:
在进行高级核心更改时使用两人规则:
信任并验证:
文书工作: