提供root权限的服务器pipe理员承包商的最佳做法(在CentOS上)?

我雇用了一个自由职业的服务器pipe理员(他比我更有经验 – 这就是为什么我雇用他们)在运行我的CentOS的VPS上做一些工作。 他们需要根级别访问服务器,因为他们需要安装服务器守护进程等。

在这种情况下最好的做法是什么:我怎么能确定是否承包商去安装根套件或做一些其他方面讨厌? 我所做的是为用户创build一个新帐户,将新帐户添加到“wheel”组中,然后使用visudo启用组轮运行所有命令。

我应该采取其他措施吗? 我承认,通过提交sudo特权,承包商几乎可以做任何他们想做的事情,并且我需要信任他们的一天结束。 我想我至less要确保自己有logging,以防万一。

谢谢

一种select是使用像木偶这样的系统configuration工具,以便他们可以明确地概述要对服务器执行什么操作。 当然,这需要有人在应用之前审查他们的工作。

另一种select是build立networkingsyslog服务。 通过将logging的消息转发给他们不能控制的另一台服务器,至less可以保证日志的完整性。 确保系统logginglogin/注销,理想情况下限制对sudo的访问,这样所有的root命令都可以被发送给特定的用户。 再一次,这个服务器需要root权限,只有尽可能less的人可以访问。

技术解决scheme :对服务器进行映像,以便在发生更改后进行比较。 保持这个副本远离他们。

政治解决scheme :让他们签署一份工作声明,聘请您可以信任的承包商。

你可以阻止他做任何他想做的事情,你应该监视系统。 最好的方法是将日志导出到外部位置,并使用HIDS(主机入侵检测系统)。

您可以一起使用splunk和OSSEC并监视pipe理员使用sudo。

OSSEC也将通知文件系统的变化和软件包的安装。

在正常情况下,你所要求的是很难的。 你已经表示,他们比你更了解他们,所以当他们对你具有相同的权利时,监督他们实际上是不可能的。 (他们实际上是否需要全面的特权?也许不是。)

如果这些人不是你信任的人,那么你真的不应该和他们一起工作。 正如matt.j.alexander正确指出的那样,这不是一个技术问题。

质量系统pipe理员由于这个原因对他们的声誉高度关注。 我保持清洁 ,因为我的工作需要太多的隐性信任。 如果我失去个人的信任,这是一个严重的职业问题。

我通常会给用户一个帐户,其屏幕作为他们的shell和一个.screenrclogging他们所做的一切。 这样,我可以通过在日志中使用tail -f来实时监控用户,并保留所有操作的日志。

在继续之前,请向vps提供商提供快照

那里有开源监视器,使用客户端 – 服务器技术来监视客户端状态。 其中之一是Xymon(以前称为Hobbit),这是着名的Big Brother监控软件的一个分支,但随后用C语言实现。一个很好的function是能够检查文件或目录的MD5散列。 它可以监视更多,但你可以创build几个MD5散列/ etc / passwd,/ etc / shadow,/etc/syslog.conf或任何你不希望他们默默地改变。 在服务器上,您可以定义这些哈希以定期检查(默认为5分钟)。 他们不应该访问这个监控服务器offcourse。 您也可以在正在运行的服务器上为正在运行的客户端创build一个检查。 你可能不知道他们做了什么,但是如果他们改变了你没有要求他们改变的东西,你至less可以得到通知。

到目前为止还没有提到的一件事情:创build服务器的临时副本,以便他们无法访问活动站点。 让他们在临时副本上工作。 然后定期或者一旦完成比较两个站点并同步更改。 这样你有机会审查或回复他们做的任何事情。