如何保护现成的 Web 应用程序?

信息安全 Web应用程序 攻击预防
2021-08-21 07:18:19

作为练习,请考虑以下事项:

如果您必须部署现成的 Web 应用程序,而您不确定供应商的安全编码实践,那么哪些技术或技术值得应用或部署以提供某种保护?

假设如下:

  • 您无权访问源代码或无法轻易影响更改。
  • 您没有资源、资金或技能来对单个应用程序进行渗透测试或漏洞评估,但可能有资金用于可用于一系列 Web 应用程序的保护技术。
  • 您无权否决应用程序的部署。

更新:想想 SysAdmin 而不是 InfoSec 专业人士,那是您对安全性有一些了解,但这不是您的主要工作。

在没有安全团队的情况下,应该在系统管理员级别考虑哪些方法、技术或技术可以帮助他们晚上睡得更好?

4个回答

首先,我的哀悼。这听起来真的很糟糕 - 事后不得不在很少或没有分析时间的情况下加强安全性,使用黑匣子商业产品,没有办法得到修复,并且在选择什么产品以及何时部署它方面被迫采取措施是类似于安全书呆子的噩梦。如果这是一个真实的情况,我很抱歉——这不是我想要的职位,我的第一个建议是想办法在政治上让自己摆脱这种情况。这对于一个安全性严重落后于 IT 需求的组织来说是一个响亮的说法。这对于良好的安全实践总是不利的,它可能是您组织的第一大安全问题。

在改变游戏规则方面未能采用组织方法,这是我的常识性想法。

  1. 了解产品提供的身份验证和访问控制不是一个完整的渗透测试,只是进行它,测试它,阅读你可以获得的文档,并了解它是如何组合在一起的。这至少会提供一些关于具有一定保护作用的弱点的线索。
  2. 可以监视和检测传入和传出 HTTP 流量中的问题的 应用程序级防火墙。挑战- 这些通常并不便宜,而且它们需要时间和精力来调整。开箱即用的误报数量很可能令人无法接受,您需要时间来正确设置它。在部署之前计划充足的测试平台时间,并尽可能多地处理有效的用例来设置测试场景,以便在部署时在操作功能方面的风险很小。
  3. 良好的备份策略- 找出一种快速部署的方法,并在此过程中尽可能少地释放数据。从您所说的来看,新应用程序是不可信的,但却是必要的——因此请确定它会被黑客入侵,并找出一种恢复方法,以便将停机时间降到最低,同时对您的业务使命产生尽可能小的影响。
  4. 隔离它。 不要将这个不受信任的应用程序放在同样拥有经过严格审查的系统的机器上。同样,如果可以的话,保持数据一定程度的隔离,如果你已经将这些数据与其他业务数据结合起来,请使用某种带外传输机制。当您必须做类似的事情时,还要考虑数据可能已损坏并在那里建立保护机制。如果它是在公司其他部门使用的访问控制系统基础上构建的,请确保 Web 应用程序有自己的帐户用于权限查找功能,并且该帐户的功能保持在最低限度,没有更改/修改权限。另外 - 记录该系统与其他系统接触时发生的任何事情,以便您拥有良好的记录。
  5. 缓慢而可靠地建立您的知识库。 如果安全对他们来说不是一个高优先级,我可以看到一家公司在安全审查上犹豫不决,但似乎没有人反对管理员在他们去的时候更多地了解系统。从小而便宜的网络开始,然后看看你能做些什么来从提供产品的公司那里获得免费支持。一些公司会对免费的客户反馈和安全问题的诊断感到高兴。仅仅通过迷人、自信和不带偏见,我就设法获得了相当可观的免费技术支持。

这些是我的想法。我的基本前提是——把这个东西当作你系统中一个潜在的危险漏洞,尽你所能保护系统,保持所有功能正常运行,并建立足够的知识和保护机制,最终你可以提升你对产品的信心。

我认为您可以采取的最重要的行动是扩展/提高监控和观察能力。

如果您知道或怀疑存在漏洞而没有适当的控制措施来防止利用,那么您真正想要的是在发生不良情况时尽快了解。

擅长记录。计划花时间查看日志。你越熟悉相关系统的行为,你就能越快识别奇怪的活动——你的大脑是最终的模式匹配器。(顺便说一句,考虑到所有预防技术/工具/产品在某个时候失败的公认信念,无论如何这都是件好事)

您可以从利用流行的开源工具开始便宜:

  • ModSec(已经提到)效果很好——查看 Ivan Ristic 的书(modsec 的作者)https://www.feistyduck.com/books/modsecurity-handbook/Ivan 将 ModSec 描述为“其他时候我会称它为 HTTP 入侵检测工具,因为我认为这个名称更好地描述了 ModSecurity 的作用。” 您调整 ModSec 并获得熟练度需要时间,但它可以为您提供所需的可见性。
  • 用于 HIDS 的OSSEC 。您甚至可以将 OSSEC 配置为在 ModSec 事件上发出警报。
  • 如果需要,存储 netflow 记录以帮助您进行事件分类/取证。您可以查看免费的网络行为分析工具,例如FlowMatrix
  • 如前所述,网络分段以防止成功的攻击者横向移动是明智的。

基本上,积极监控不良活动。否则,您可能永远不知道系统是否受到威胁。让企业主了解攻击的数量(源自监控)也可以帮助您赢得预算。

如果您必须盲目地保护 Web 应用程序,可以使用 Web 应用程序防火墙(例如 Apache 上的 mod_security)。

不幸的是,除非这是处理金融交易的关键核心系统,否则即使在审计中也可能不会作为问题提出。我和 Iszi 在一起——交叉你的眼睛、手指等。

您可以等到发生非常大的数据泄露,然后告诉企业所有者,保护其 Web 应用程序的唯一方法是应用涵盖第三方、contrib 和外包软件包/组件的安全应用程序部署标准。

是的,ModSecurity 与 OSSEC 的集成,以及与 OSSIM 等 SIEM 的额外集成是一个很好的起点。但这不是最终的目标——您需要做更多的事情。

OWASP AppSensor 是 ModSecurity 无法处理的一些问题的一种可能解决方案,例如 Web 应用程序安全中的身份验证和授权。

但是,如果没有应用程序安全专家创建的关于软件组件使用的标准和策略——每个大型安装组织都将继续发生重大数据泄露事件。应用层是最大的弱点。