服务器监控以确保安全

信息安全 linux 视窗 监控
2021-08-25 13:52:16

我们做了很多网络托管管理,并开始涉足销售服务器管理包。但是,我们希望开始监控服务器以发现与安全相关的威胁。

我们的客户可能会将他们的服务器用于网络托管以外的东西,而且有些可能会随着时间的推移而改变,因此这将要求他们保持持续的通信,这样我们就可以微调我们所有的监控服务以检查未列入白名单的东西,但这可能会证明如果不遵循协议,尤其是如果我们将 LFD 配置为终止任何未列入白名单的进程以及另一个工具在监视袜子时所做的事情,那将是一个很大的麻烦。

所以问题是双重的:

  • 我们应该尝试检测什么样的问题?
  • 您将如何设置通用监控来识别它们?最好不必经常让我们的客户参与进来。
1个回答

What do we look for?-安全专家雇用

这是一个 100% 认真的答案——如果你问这个问题,你需要一个可以回答的人。在没有专家的情况下出售“安全监控服务”是个坏主意。您会犯错误,可能会导致客户受到威胁,而您将没有专业知识来处理它。所有这些都让你看起来很糟糕,而且大部分情况都可以通过让具有良好安全知识的员工来避免。
(还希望您的客户需要向他们解释他们的安全评估——如果您不掌握用于进行评估的技术,这将很难做到。)


找到您的安全专家后,您可以继续决定要查看的内容以及如何进行安全评估和管理。

最简单和最容易做的事情是什么都不看,只是将所有可用补丁自动应用到所有托管机器作为您的策略。
(对于“最简单”和“最简单”的适当广泛定义:您需要某种方式来推出这些更新。WSUS 或 Citadel/Hercules 等商业解决方案是 Windows 上的常见解决方案,Puppet 或 RedHat Network 卫星服务器非常常见在 Linux 世界中。)

这是一种霰弹枪方法:缺少任何其他信息,您只是安装每个可用的补丁并希望填补一些漏洞。它适用于很多环境,但是当您应用的补丁无法为您修复任何特定漏洞,但会以扰乱本地软件的方式更改您的系统时,它也会引入神秘的破坏。

我的其余答案分两个阶段着眼于安全评估——由外而内和由内而外。它绝不是全面的,但应该给你一些好主意。


由外而内的评估

由外而内评估的第一个重要项目是开始主动检查您的房东是否存在潜在问题。

Tenable Networks Nessus 漏洞扫描程序是该领域的旗舰产品,OpenVAS是一种流行的开源替代方案。
这些程序扫描主机以寻找“签名扫描”识别的易受攻击的服务——有时它们会发出误报,但通常它们会发现您可能不知道的真正问题。如果定期运行,它们可以帮助您定位需要安装在系统上的特定补丁,并允许您确定是否符合补丁策略(如果每个人都应该在上个月使用 FooServer 1.2.3 并且有人在仍在运行 1.2.0 存在需要解决的问题)。

这些工具基本上自动化了“黑客”自黑客出现以来所做的事情:


另一个主要的“Outside-In”工具是网络 IDS(和/或 IPS)——它位于您的网络上并寻找“看起来不正确的东西”。
Snort(Snort IDS)是这里的旗舰,被广泛认为是一款相当不错的产品。一个好的网络监控系统还可以帮助您捕捉“有趣的”流量模式,以便您可以进一步研究它们以了解正在发生的事情。

一个好的 IDS/IPS 可能无法防止系统受到威胁,但如果配置得当,它们可以隔离行为可疑的机器,并防止它们被用来破坏网络上的其他系统。适合您情况的理想配置在很大程度上取决于您的环境,上述专家可以提供帮助。


由内而外的评估

由内而外评估的第一步是配置系统的安全性——确保停止不必要的服务、更改默认密码、SSH 切换到仅密钥登录、配置Fail2Ban等绝对基础知识。
任何有能力的系统管理员都应该死记硬背习惯,所以我不会详细说明。

接下来的步骤实际上可以按任何顺序执行,但它们都比主动更被动(通知您可能发生了违规行为):

  • 日志分析和集中式日志记录
    如今,大多数 Linux 系统都配备了 LogWatch——它有它的问题,但有时它会有所帮助。Windows 网络也存在类似的概念:在系统记录“异常”事件时让您知道的东西。
    理想情况下,您应该在一个集中的、安全的日志服务器上运行它(这样,如果一台机器遭到破坏并且日志被删除,您仍然有记录)。

  • 基于校验和和签名的系统检查
    在每台主机上运行的程序,如果不应该更改的文件发生更改,则会向您发出警报这里的旗舰产品是Tripwire,但有很多类似的东西可用,在现代 Linux 系统上,您甚至可以挂钩 FAM 守护程序,以便在文件被触摸时提醒您(只要攻击者不杀死守护程序) .

  • “看起来不正确”的工具
    这将是CHKRootKit及其同类——寻找可能已经进入您系统的已知恶意软件、rootkit、特洛伊木马等的东西。
    同样,许多现代系统都附带此工具或预配置的等效工具。

  • 严厉的措施
    这包括诸如“杀死不在此白名单上的任何进程”之类的东西——它们可以增强安全性,但便利性(和/或可用性)的影响通常超出您的用户所能承受的范围。


最后的想法

就像我说的那样,这个答案中的所有内容都只是表面上的。“托管安全”是一个定义模糊的术语,这些是一些更常见的事情。你会想到其他人——仔细评估他们的风险、回报和人力,以决定你是否愿意提供他们(以及他们应该花多少钱)。

一些经验提示:

  1. 不要接受用户的机器进入托管环境。
    让它们让您从头开始构建新系统,否则您将永远到处寻找小问题。 (实际上这几乎不会发生,但请确保客户的财务痛苦至少等于您的系统团队在您接受管理其他人构建的现有环境时试图解开他们继承的混乱所花费的时间)

  2. 当您承担管理职责时,请取消 root/admin 访问权限。
    如果您的客户仍然可以执行管理任务,他们可能会破坏您所做的一切。在您提供管理即服务之前,请制定明确的政策,为客户提供 root 权限(暂时终止管理服务),以及在恢复管理他们拥有 root 权限的机器之前必须做的事情。
    (当(不是如果)您最终违反提示#1时,您将使用相同的程序来接受您正在继承的灾难的管理......)

  3. 也管理防火墙
    如果您还没有,请在网络级别提供托管防火墙服务,并在可行的情况下限制主机防火墙的使用。
    控制防火墙可以更轻松地解决以后可能出现的问题。

  4. 投入足够的员工来执行您承诺的任务
    安全是一项全职工作。在更大的范围内,它变成了几个全职工作。确保您有足够的人力和专业知识来处理您正在接受的工作量。慢慢放大。