系统管理员负责保障组织内计算机系统的正常运转,并维护业务所需的不间断运行。系统管理员对系统安全漏洞及其对业务影响的认识,是任何一家组织的宝贵资产。然而在履行职责的过程中,系统管理员常常会犯一些可能损害公司安全体系的错误。本文将列举几类看似不起眼、却可能给组织带来风险的失误。
#1 以 root 权限运行脚本
安全的核心原则之一是:将用户或程序限制在其所需的最小权限范围内。这一原则同样适用于在系统中运行的应用程序——只赋予应用程序所必需的权限。一个简单的做法是:在任何情况下都避免以 root 身份运行应用程序。当应用程序获得 root 权限后,便可控制整台服务器;攻击者一旦取得服务器访问权,就能执行任意操作。拥有 root 访问权的应用程序还可能绕过您部署的大部分额外安全控制。某些程序可能存在漏洞,从而把 root 运行权限暴露给不可信程序。
#2 在多个控制系统中复用密码
服务器常常被配置为使用弱管理员密码,或与其他网络机器共用密码。正如许多人的习惯,系统管理员会在多台系统上使用相同密码。弱密码与密码复用正是导致数据泄露的主要原因。攻击者借此可轻易访问整个系统。系统管理员跨系统复用密码是一种风险——黑客只需攻破其中一台,就能访问公司使用的其他系统。暴力破解攻击可轻松猜出被复用的密码,当多台机器使用同一密码时,问题会被进一步放大。与其在多台机器上设置相同的 root 密码,不如改用密钥文件:管理员的 workstation 保存私钥,每台服务器保存对应的公钥,这样攻击者即便横向移动也很难在无有效密钥的情况下登录。
#3 管理员权限与共享账户
管理员账户拥有高权限,可更改关键的配置数据。管理员常常在几乎没有审计跟踪的情况下使用这些账户,甚至多人直接通过共享密码来使用同一账户。当管理员离职时,密码往往保持不变。这类账户没有与具体个人绑定,因此可以被用来做任何事而极难被察觉,也常被用于未经授权地访问系统。组织应当定期更换密码,尤其是服务账户与管理员账户;管理员离职时,必须重置相关密码。
#4 忘记续期 SSL 证书
SSL 证书通常具有有效期限——从签发日期到到期日期。一旦过期,访问网站时连接将不再安全,用户会收到"不安全连接"警告。这意味着 SSL 证书已过期或失效,网站上的交易将不再安全。黑客可能利用此类网站窃取客户数据并用于恶意活动。系统管理员通常负责 SSL 证书,但他们常常忘记续期,导致客户成为这类网站的受害者。
#5 未能监控日志文件
维护系统日志(尤其是多用户或联网系统)对系统管理员至关重要。排查故障时,日志文件能帮助管理员了解网络内部正在发生什么。管理员应当跟踪日志的创建时间与内容。为减轻逐条审阅的负担,可使用内置的日志分析器或审计工具,它们会读取日志文件并以多种形式输出统计摘要。
#6 明文存储密码
将密码以明文形式存储往往会导致系统被攻破并带来漏洞风险。当密码保存在明文配置文件中,任何能读取该文件的人都能获取受密码保护的资源。良好的密码管理原则要求:任何密码都不应以明文存储。使用知名的密码管理器,是以受控访问加密方式保存系统与用户密码的理想选择。
#7 缺陷报告中的信息泄露
当用户通过邮件或缺陷跟踪软件反馈问题时,常常会在描述中附上自己的用户名和密码,这构成安全风险。这些问题随时可能被超出系统管理员范围的人访问。此外,缺陷跟踪软件本身也可能在任何时刻被攻破。发现缺陷后,应由团队评审并转交相关部门,按优先级有序处理。
#8 不及时更新系统
部分管理员在安全更新发布后疏于及时安装。一旦有安全补丁可用,管理员应评估漏洞研究及其对系统与环境影响,并确认系统是否需要该补丁、如需则安装。建议对系统软硬件打补丁,并理解每一项安全漏洞与系统配置之间的关联。
#9 超级用户任务
管理员不应赋予用户访问或使用特权命令的能力。当以 root 登录时,使用者便拥有对系统的完全控制权,这在存储敏感信息时尤为危险——攻击者可以执行任何操作以获取数据。如果没有超级用户任务要执行,就无需以管理员身份登录;用户应使用个人账号登录,并在需要时通过 SUDO(Superuser DO)执行指定命令。
#10 不注销休眠账户
未使用的账户在系统中被视为隐患。攻击者可能盯上这些休眠账户并加以利用,尤其当它们仍使用默认密码时。管理员应通过编辑密码文件并将密码替换为随机字符串来禁用未使用账户。
#11 运行来源不明的脚本
即便管理员信任某个来源,也不应假定从互联网下载的脚本是安全的。管理员应核实即将执行的命令是否会引发恶意行为。
结语
随着互联网与信息基础设施日益复杂庞大,系统管理员必须持续保障系统稳定运行。管理员需要不断更新对所管理和网络的知识。当前黑客不断演化出更精密的技术,审视并加固系统以抵御 hacking 或数据泄露已变得至关重要。