为更安全的 IT 制定“最小权限原则”

最小特权原则是最基本的有用的安全概念之一。它基本上指出,系统的每个部分都必须能够访问其合法目的所必需的信息和资源——但仅此而已。


这对于保护组织的 IT 环境非常重要,它同样适用于应用程序和人员。简而言之:访问的人越少越好。但是这篇博文将更深入地探讨这个概念。

使危险人员远离物理服务器
如果您在内部或外部托管 IT 基础设施,请确保所有服务器机房都受到限制和保护。例如,作为数据中心提供商,我们竭尽全力确保只有经过身份验证且值得信赖的人员才能进入设施。并且即使是值得信赖的人也会受到密切监控,这样客户就可以放心,他们的行为不会产生负面影响。

除了监控和保护物理环境之外,监控和审核用户访问显然也很重要。这可以通过网络服务日志、网站访问日志、数据库服务器日志和操作系统日志等日志来完成。理想情况下,它们应该存储在一个隔离区域,防止篡改,并定期监控和检查可能是攻击证据的异常行为。

通过权限限制访问
文件和网络服务权限在安全性中起着至关重要的作用,因为恶意用户可以利用权限来执行恶意代码或窃取数据。因此,始终为每个特定的网络服务以及每个用户分配最少的权限非常重要。

管理匿名用户权限
经过身份验证的用户在服务器上有一个用户帐户,并且可以提供特定的权限,但是,通常可以选择以匿名用户身份通过​​访客帐户访问服务器。在某些情况下,您可能希望禁用此帐户。在其他情况下,例如面向公众的网站,这些匿名用户是您的网站访问者,应该为他们分配最低权限。

不允许员工共享账户
即使您认为两名员工应该拥有相同的服务器访问权限,也绝不应该多人共享帐户。被授权的个人应该被授予他们自己的账户,以便他们的活动可以被单独审计。为了使权限管理更简单,通常可以将它们放入具有适当权限的组或角色中。并提醒员工切勿共享登录名和密码详细信息。

区分开发、测试和生产环境
今天,我们经常拥有独立的开发、测试和生产环境。这使得它不是直接在生产服务器上开发和测试应用程序,其中早期应用程序(具有可以很容易被恶意用户发现和利用的漏洞)他们拥有一个开发环境,其中私有资源只能由以下人员访问开发商。

理想情况下,Web 应用程序的开发和测试应始终在与 Internet 隔离的服务器上完成,并且永远不应使用或连接到现实生活中的数据和数据库。在内部网络中进行生产和测试使权限仅限于那些应该有权访问的人。

虽然公司的会计师不应该访问开发服务器等问题可能很清楚,但关于开发人员是否应该拥有生产服务器的完全访问权限仍有相当多的争论,这将在下一节中讨论。

限制开发人员对生产服务器的访问
多年前,云基的网站可靠性总监提出了一个很好的案例,即开发人员通常不应该完全访问生产服务器环境。

对于可能将系统管理员视为瓶颈的开发人员来说,这可能会令人沮丧,但有一些非常好的理由说明开发人员不应该直接访问,而且无论如何也不想要它。

一方面,如果管理员必须安装代码并进行更改,这会迫使开发人员和系统管理员进行沟通。如果系统管理员不够快速或知识渊博,无法响应开发人员的请求,那么这是系统管理员没有生产服务器权限的问题。

此外,通过让系统管理员安装代码,它鼓励开发人员创建简单有效的安装或发布过程,为系统管理员提供安装软件的简单方法。而这个打包好的代码意味着生产环境可以在灾难恢复的情况下快速、正确地重建。

这也应该让开发人员感到高兴,因为他们可以编写新代码,而不是花时间部署和安装代码。当然,他们也不必考虑帐户权限、文件权限、Web 服务器配置,这应该是系统管理员的职责。