列入白名单,不要列入黑名单

列入白名单,不要列入黑名单

传统上,所有防病毒程序和入侵防御系统系统使用基于签名的技术。然而,这并不能很好地防止零日攻击

那么,我们可以做些什么来防止零日攻击呢?

答案1

我认为你承认了一个有趣的系统管理员事实,那就是

除非你能减少被黑客攻击的概率为零然后最终, 在某一点,你将被黑客入侵

这只是数学和概率的基本事实,即对于任何非零概率的事件,该事件最终都会发生……

所以2条黄金法则为减少此次“最终被黑客入侵”事件的影响,采取了以下措施:

  1. 最小特权原则

    您应该将服务配置为以具有完成服务任务所需的最少权限的用户身份运行。这样即使黑客闯入计算机后也能阻止他们。

    例如,黑客利用 Apache Web 服务器服务的零日漏洞入侵系统,很可能只能访问该进程可以访问的系统内存和文件资源。黑客可以下载您的 html 和 php 源文件,并可能查看您的 mysql 数据库,但他们无法获得 root 权限或将入侵范围扩大到 apache 可访问的文件之外。

    许多默认的 Apache 网络服务器安装默认创建“apache”用户和组,您可以轻松配置主 Apache 配置文件(httpd.conf)以使用这些组运行 apache。

  2. 权限分离原则

    如果您的网站只需要对数据库的只读访问权限,则请创建一个仅具有只读权限且仅对该数据库具有只读权限的帐户。

    SElinux 是创建安全环境的良好选择,应用程序装甲是另一种工具。巴士底狱是先前的硬化选择。

    通过将受到攻击的服务功能分离到其自己的“盒子”中,减少任何攻击的后果。

银规则也不错。

使用可用的工具。(您不太可能做得像安全专家那样好,因此请利用他们的才能来保护自己。)

  1. 公钥加密提供了极好的安全性。请在任何地方使用它。
  2. 用户都是白痴,强制密码复杂度
  3. 了解为什么您要对上述规则做出例外。定期审查您的例外情况。
  4. 让某人为失败负责。它会让你保持警惕。

答案2

列入白名单,不要列入黑名单

你描述的是黑名单方法。白名单方法会更安全。

一个专属俱乐部永远不会试图列出所有不能进来;他们会列出所有人进入并排除那些不在名单上的人。

同样,尝试列出所有不应该访问机器注定会失败。将访问限制在一小部分程序/IP 地址/用户可能会更有效。

当然,像其他任何事情一样,这需要权衡。具体来说,白名单非常不方便,而且需要不断维护。

为了进一步权衡,您可以通过断开机器与网络的连接来获得极大的安全性。

答案3

检测比预防更容易(也更可靠)

从定义上讲,你无法阻止零日攻击。正如其他人指出的那样,你可以做很多事情来减少零日攻击的影响,而且你应该这样做,但这并不是故事的结束。

我要指出的是,此外,您还应投入资源来检测攻击发生的时间、攻击者做了什么以及攻击者如何做。全面、安全地记录黑客可能进行的所有活动,不仅能更轻松地检测攻击,更重要的是,还能确定造成的损害以及从攻击中恢复所需的补救措施。

在许多金融服务环境中,安全成本(包括执行交易的延迟和开销)非常高,因此将资源集中在检测和逆转欺诈交易上比采取旨在首先预防欺诈交易的广泛措施更有意义。理论上,再多的措施也不会 100% 有效,因此无论如何都需要建立检测和逆转机制。此外,这种方法经受住了时间的考验。

答案4

Grsecurity 或 SELinux 可以通过强化内核来帮助防止零日攻击。

引用网站内容“只有 grsecurity 能够提供针对零日和其他高级威胁的防护,从而为管理员赢得宝贵的时间,同时将漏洞修复发布到发行版并进行生产测试。”

相关内容