Web 服务器安全:主动防御

安全资讯 小布 293浏览 0评论

介绍

主动防御是一种防止对手攻击的方法。在本文中,我们将讨论可以强制执行的各种主动防御和对策,以防止对手对Web 服务器和 Web 应用程序进行攻击。这些对策将包括您可以用来保护您的 Web 服务器免受 Internet 上对手攻击的工具。

概述

主动防御是从安全防御中借用的术语。它是指为取得优于对手的优势而采取的行动和步骤。在寻求主动防御时,我们会寻找混淆对手甚至浪费他们时间的方法,以便我们有足够的时间正确配置我们的防御并挫败对手。

以下是一些可以采取的对策:

  1. 配置蜜罐以浪费对手的时间
  2. 安装一个警报系统,可以提醒您注意攻击
  3. 配置防火墙以检测和阻止攻击

上述对策的意图可以是达到以下目的:

  1. 浪费对手的时间
  2. 捕获攻击以防止进一步妥协
  3. 通知安全团队有关攻击的信息
  4. 协助发现攻击源

如果正确执行主动防御,那么它将能够挫败攻击者的竞选计划。请记住,黑客攻击过程从侦察开始,攻击者试图收集尽可能多的目标信息。当我们在这个阶段限制黑客的成功时,他们最有可能放弃。

让我们考虑一些在执行主动防御时可以派上用场的资源。

用于 Web 服务器安全的蜜罐

蜜罐可以配置为在 Web 服务器上作为虚假服务工作。目的是欺骗攻击者,甚至警告安全人员有关即将到来的攻击。

以下是一些可以配置为蜜罐的工具:

  1. OpenCanary:此解决方案运行多个 Canary 版本服务的守护进程,这些服务将报告这些服务何时被连接或滥用
  2. WebTrap:此工具允许安全团队克隆现有的登录网页(门户)并将访问者从真实页面重定向
  3. HoneyBadger:此工具获取攻击者所在的地理位置,可用于将攻击归因于攻击者
  4. BeeF:该框架可用于“挂钩”攻击者的 Web 浏览器,目的是发现攻击者在其浏览器上进行的活动

安全团队可以在其 Web 服务器上使用许多蜜罐进行主动防御。可以在此处找到按类别列出的各种蜜罐的列表。

用于 Web 服务器安全的 WebLabyrinth

WebLabyrinth是一种用于创建多个虚假网页的工具,这些网页可以在网络攻击期间将攻击者拒之门外。这些网页旨在延迟 Web 扫描程序,以便安全团队可以检测正在进行的扫描并在访问或扫描任何敏感文件之前阻止它。理论上,你可以安装这个工具来迷惑对手;不幸的是,它在很大程度上已经过时,可能无法很好地与当今的技术配合使用。

用于 Web 服务器安全的 fail2ban

fail2ban是一个入侵检测框架,可用于保护 Web 服务器免受暴力攻击。

考虑您尝试登录以登录 SSH 服务但失败的次数。您很可能收到以下错误:

在上面的错误中,我们可以看到由于几次登录尝试,登录尝试不成功。在这种情况下,进行了 942 次登录尝试。如此多的尝试表明存在蛮力攻击的可能性。我们通过安装 fail2ban 来防止此类攻击。

我们将在 Ubuntu 16.04 服务器上安装 fail2ban。安装步骤如下:

  1. $ apt-get 更新
  2. $ apt-get install fail2ban -y
  3. $ sudo 服务 fail2ban 重启
  4. $ sudo 服务 fail2ban 状态

一旦它开始运行,您应该能够看到“active (running)”。

您可以按照此处概述的步骤配置 fail2ban 。配置完成后,您可以运行fail2ban。

您可以使用如下所示的命令查看fail2ban 的状态。这还将向您显示当前配置的 jails:

如下所示,SSH 只有一个监狱。

我们还可以查看有关配置的 jails 的更多信息。以下是用于探测配置的 jails 的命令。

由于我们还没有任何被阻止的 IP,因此会收到以下输出:

现在让我们尝试登录,但故意失败了几次。在这种情况下,我们进行了五次错误的登录。请参阅下面的登录尝试。

当我们评估fail2ban时,我们可以获得以下信息:

我们可以在上面看到,在多次登录尝试失败后,fail2ban 阻止了一个 IP 地址。

将禁止的 IP 地址列入白名单很简单。您只需要发布监狱名称和禁止的 IP:

加入白名单后,上述 IP 将被解除封禁。我们再次检查服务器状态并遇到以下情况:

从上面的截图中,我们可以看到有 6 次失败的登录尝试和 1 个被禁止的 IP。

使用 fail2ban 进行主动响应

fail2ban 可以根据您的意愿和喜好进行配置。该程序简单明了。

首先,您需要创建文件“jail.local”。当您启动fail2ban 时,它会继续加载它。要创建此文件,请使用以下命令:

然后您需要编辑该文件并添加以下内容,或者至少使其看起来相似。

第一行告诉fail2ban 忽略IPv4 和IPv6 上的本地主机。第二行指定禁止时间。这是必须禁止违规 IP 地址的时间(以秒为单位)。在本例中,它是 3600 秒,也就是一小时。

第三行指定了 findtime,它指定了发出错误尝试的时间。在这种情况下,600 秒是五分钟。五分钟后,如果进行无效登录尝试,违规IP将被封锁一小时。

第四行指定了maxretry,即登录尝试的最大重试次数。在这种情况下,在发布禁令之前只允许五次尝试。

最后一行指定监狱。在这种情况下,我们正在监控 SSH。需要注意的是,您可以在您的 Web 服务器上监控各种协议。

结论

主动防御是一项重要的技术,如果实施得当,可以帮助保护您的 Web 基础设施并防止进一步的攻击。

讨论的工具引入了主动防御概念,但我们的探索绝不是详尽无遗的。因此,我们鼓励您尝试识别具有类似功能的任何工具,并确定哪些工具最适合您。我们希望所涵盖的概念有助于保护您的服务器。

转载请注明:布尔云安的博客 » Web 服务器安全:主动防御

头像
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址