远程Linux管理员顾问-最佳做法


19

我们正在聘请印度的一名顾问作为Linux管理员。我们不太了解他,他需要Root访问我们所有的服务器才能完成他的工作(包括安全审核)。

使远程顾问从事此类工作以使我们免受任何恶性活动侵害的最佳实践是什么?

提前致谢。


66
如果您不信任某人,请不要让他们访问您的服务器。期。雇用可以信任的人。
EEAA

6
不禁怀疑这是否是上级命令所要求的,而您正在寻找弹药/反对它的好理由?
马特

5
大声笑...这是个好主意吗?
ewwhite '17

5
如果您要授予某人根目录访问服务器的权限,则绝对没有办法系统地保护自己免受个人具有根目录访问权限的计算机上的恶意活动的侵害。
Craig

3
希望您有良好的脱机备份
CaffeineAddiction'Feb9''17

Answers:


55

不要。此外,你在为多危险,不称职恶意从我所看到的典型方式公司处理这个问题。

我想说的是,印度可能有很棒的系统管理员,但是许多公司做事的方式很糟糕。

如果您要去一家汽车修理厂,也很可能会发现他们受了很大的好处,其中许多人不太可能正确地审查过他们的员工。我已经与三个人进行了交谈,其中一个我曾为之工作,但没有一个人进行过任何技术面试。

因此,如果您必须远程雇用某人,为了上帝的缘故,请亲自面谈他,并确保他知道他的工作。系统管理太重要了,不能盲目地交给别人

现在,我已经处理了其中的“无知”部分,

管理是一个相当宽泛的词。具有root访问权限的人可以执行任何操作。现在,就我个人而言,我认为为管理员创建一个帐户,并赋予他通过sudo提升自己的能力是一个更好的主意(如果您有许多服务器,则配置管理系统应处理)。就是说,即使这还取决于一定程度的信任。关于不满的系统管理员可以造成的巨大破坏,这里有很多故事。更改所有密码?当然,您可以最终获得成功,但它并非微不足道,而且可能比您节省的费用还要多。

因此,请考虑当地人。如果不是,请考虑您曾审查过自己直接雇用的人


35
我有足够的时间让特权特权的人从我向下一扇门进入,更不用说12个时区之外的人了。我的想法让所有人感到震惊,甚至有人会认为这是一个选择。
EEAA

7
如果您要去一家汽车修理厂,甚至不知道谁真正拥有这些根证书,则无法保证今天在系统上工作的人与明天在系统上工作的人是同一个人,您无法保证这些人确实不会以明文的方式(例如,我见过太多次)通过电子邮件将您的根级密码互相发送给对方。
Craig

2
没有人应该以root用户身份登录到现代Linux发行版。根帐户甚至都没有密码。相反,应该有一些su有权提升自己到root 用户的用户。当有人说他们需要“ root用户访问权限”时,这就是他们应该要求的。如果此人说他需要“ root密码”,那么他无论如何都无能为力。
蒙蒂·哈德

@MontyHarder您的意思是(某些)用户应该sudo有权提升自己的根权限?如果不是,您能否概述一下su在不拥有和分发root密码的情况下将自己提升为root的最佳做法?
MadHatter支持Monica

2
@MontyHarder很有意义,这不是您第一次说的;sudosu是完全不同的两件事。感谢您的澄清。
MadHatter

33

如前所述,不要这样做。

保护自己的唯一方法是执行以下操作:

  1. 坚持让顾问使用您选择的配置管理系统。
  2. 顾问将为您需要完成的操作编写配置管理清单。
  3. 顾问将在测试系统上测试清单。
  4. 准备就绪后,顾问会将配置提交到代码存储库。
  5. 所有更改都将由您的员工或与第一位员工毫无关系且无法联系他们的另一位顾问审核。
  6. 更改被注销后,您或您的职员将它们应用到服务器。原始顾问不应访问您的任何系统。

应当清楚的是,这是一个非常笨拙且效率低下的过程,但是如果您坚持要接受不受信任的个人的工作,则这是处理问题的一种方法。

但是,按照我的建议,最好聘请一个知名的,值得信赖的人。


为什么不?我正在远程工作,管理着约300台专用服务器,如果需要,一小时之内我就可以销毁一切。但是,即使我被解雇了,我当然也不会那样做。我负责进行备份,拥有最高特权(不仅是我,还有我们中的几个),我们随时都可能变得恶意。我们不这样做的原因-是道德和伦理。我们爱公司,员工和我们的工作。这里最主要的是要信任某人,并找到这份工作的道德人。
逃犯

@fugitive您正在谈论另一种情况。我认为您所咨询的公司对您的信任,否则他们将不会授予您所拥有的权限。对于OP,很明显他们不信任该顾问,这就是为什么我建议不要在任何重要的系统上授予该人员权限的原因。
EEAA

好吧,必须赢得信任。:)
逃亡者

10

使远程顾问从事此类工作以使我们免受任何恶性活动侵害的最佳实践是什么?

从法律的角度来看:事前要进行尽职调查,并对违反合同的行为严加处罚。

您从通常的良好雇用惯例开始,这些惯例在雇用内部人员(和/或服务提供商)时也适用,其中包括事实核实所提供的简历,索取教育成绩单和证书编号,检查并致电他们的推荐人,面试,甚至背景检查或安全检查等。

然后涂上胡萝卜:支付公允价值,提供有吸引力的工作,出色的同事,良好的工作条件和福利等。(如果您支付花生,您会得到猴子。

:违反您的工作/服务合同的条款,我们就会生病我们对你的律师,让你破产了!

不幸的是,当跨越边界和时区时,上述两种情况变得越来越困难。

一旦您决定雇用某人:

  • 明确的指令和政策,人们应该意识到应该做什么和不应该做什么。
  • 最小访问的原则适用,使人们很难(偶然或故意)做他们不应该做的事情。对于典型的系统管理员而言,这通常仍意味着完全访问权限,但是例如安全审核员不需要完全管理员访问权限,而是可以简单地请求现有管理员代表他运行脚本,该脚本收集其报告所需的详细信息。这样的脚本可以很容易地事先检查。
  • 信任但要验证。只需让现有员工检查新入职人员的工作,然后一如既往地收集审核信息。
  • 等等等

这个问题详细说明了我通常要求我的客户为我建立远程访问所要做的事情,这也可能是您的起点。


3
“如果您付花生米,您就会得到猴子”或大象。尽管想到了,但我不确定这是比猴子好还是坏。
CVn

只需补充一点,如果另一方在另一个国家/地区,您答案的“坚持”部分可能很难执行。您应该先咨询有经验的/有经验的律师,以防万一出问题了。
user121391'2

同样,事发后的执法可能比与您可以信任的一方合作更难。同样,有些人完全可以相信您,他们可能不会自动地倾向于他们,而您本能地将其吸引到您根本不应该信任的人。
Craig

7

我想到的是一种保护您自己的系统方法,我从未提到过。

在虚拟化管理程序(VMware,Xenserver,Hyper-V等)上将Linux实例作为VM托管。

不要授予远程管理员对管理程序的管理访问权限。远程管理员只能获得对VM本身的root访问权限。

不要实施基于虚拟机监控程序的备份系统(Unitrends,Veeam,vSphere Data Protection等)

每天至少要为每个Linux VM保留一个快照,并根据需要进行备份。

不要授予远程管理员对备份存储库的写权限。

如果执行这些操作,您将拥有远程管理员无法控制的每个Linux实例的备份快照。如果远程管理员有意或无意地执行了一些棘手的操作,则始终可以从发生铰接之前安装一个备份,以评估发生的情况并可能恢复到干净状态。

这将无法抵御虚拟机管理程序侧信道攻击,该攻击有可能从攻击者具有根访问权限的VM内安装。

如果您的备份不能及时恢复,那将无法保护您。

您需要完全信任控制虚拟机管理程序和备份基础结构的任何人。

如果您在云(AWS,Azure等)中进行此操作,则实现细节会有所不同,但是总体概念是相同的。

本质上,除了仅雇用您信任的人之外,还应将责任划分给彼此之间不是业务合作伙伴的各方。


1
当您完成所有这些操作时,您已经是系统管理员,并且正在聘请远程库房或PFY。
Criggie'2

3
不完全是。您只管理虚拟机管理程序和备份。诚然,这并不是什么。但这不一定是相同的技能或管理负担。很有可能,如果您正在进行虚拟化(我们正在进行),那么您将由不同的人来负责各个VM上正在发生的一切。
Craig

1
尽管总体思路是好的,但是它只能帮助解决能力不足/错误(删除生产数据库等),而不是帮助恶意(除非您每天检查每个更改并比较更改内容,基本上是每天进行一次全面审核)。另外,损坏可能与技术无关,例如,无法以这种方式包含窃取的客户数据或商业机密,因为它只是反应性的。
user121391'2

@ user121391:我不能完全不同意,特别是在数据泄露问题上。数据一旦获取,将完全不受您的控制。
Craig

-1

给他自己的用户帐户。然后准确地找出他需要访问的内容,并仅授予该访问权限,而无需授予其他任何权限。例如,如果他需要重新配置Apache Web服务器,请使用ACL授予他对Apache配置文件的写访问权,并配置sudo为允许他重新启动Apache服务,但不能以root用户身份执行任何其他命令。与往常一样,请保留您要授予他访问权限的所有内容(在本例中为Apache配置文件)的备份。


3
拥有配置和重新启动以root用户身份运行的Apache的权限实际上是在授予root用户特权。由apache进程执行任意二进制文件非常容易,例如,将日志传送到该二进制文件。更好地设置Apache,以便它可以以非root用户身份运行并仍然绑定到特权端口。这就是我过去在这种情况下所做的。
MvG
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.