2

我看到许多 Web 应用程序防火墙,例如带有 OWASP 扩展的 mod_security

如果我在我的服务器中使用它,我能确定 99% 没有人可以用 PHP 代码入侵我的网站吗?喜欢 XSS ...

4

6 回答 6

2

一句话—​​—不。

正如 Bruce Schneier 所说,安全是一个过程,而不是一个产品。Web 应用程序防火墙是个好主意——它就像在前门上放了一把锁。但是,如果后门是敞开的,那么攻击者就会尝试访问您的系统。

它不会保护您免受基础设施漏洞(操作系统、PHP 等)的影响。它不会保护您免受错误的密码选择或应用程序级错误的影响。它不会(可能)保护您免受 SQL 注入攻击,并且可能仍然存在 XSS 机会。

于 2014-01-29T07:35:14.010 回答
1

没有 99% 的确定,唯一的 99% 确定的方法是“拔下以太网电缆”(形象地说,我意识到这都是虚拟的),即使这样也不是 100%。

我建议运行PCI 合规性扫描,它相对便宜,它会让您了解您的服务器/应用程序容易受到哪些已知漏洞的影响。你也可以做渗透测试,有很多服务可以提供更多的洞察力。

于 2014-01-29T07:27:46.427 回答
0

没有自动检测或纠正漏洞的方法,包括 XSS。试图阻止“坏”的传入请求本质上是不可靠的,因为如果没有深入了解应用程序,就无法判断应用程序会错误地解释哪种请求。

默认情况下,WAF 不了解应用程序,只能做出愚蠢的猜测。这意味着您将同时阻止(允许通过有害请求)和过度阻止(妨碍合法用户)。常见的规则集(例如 mod_security CRS)有许多有问题的规则,这些规则会导致多种应用程序出现操作问题;像这样幼稚的部署会给你带来比它解决的问题更多的问题。

要使 WAF 做任何有用的事情,您必须对其进行配置以匹配应用程序,这需要深入了解哪些类型的输入是预期的或不预期的。如果您是应用程序的开发人员,您可能会发现在应用程序层进行输入验证比尝试配置 WAF 更简单。

WAF 很有用:

  1. 强制执行基本的 HTTP 有效性,您还没有其他前端服务器这样做;
  2. 作为入侵检测系统,在可能发生攻击时提醒您(超过正常数量的可疑流量);
  3. 当您不是应用程序的开发人员并且没有办法修复它时,应用变通方法来阻止外部层中的已知应用程序漏洞;
  4. 在学习模式下,收集有关未知应用程序的信息,然后您可以使用这些信息更适当地对其进行配置。

但是,您可以在不考虑安全性的情况下开发应用程序,然后通过在前面放置 WAF 神奇地解决所有问题的想法是荒谬的。

于 2014-01-29T14:03:13.763 回答
0

如果使用带有白名单策略的 WAF 并配置您的个人访问策略,这是可能的。

于 2016-12-26T09:04:31.460 回答
0

安全基础设施是必要的,例如 Janusec 应用程序网关:

Internet <---> 应用程序网关(带 WAF)<---> 应用程序前端服务器 <---> 应用程序业务逻辑 <---> 应用程序数据访问层 <---> 数据库服务器

安全基础设施可能有助于降低私钥泄漏、CC 攻击、Web 漏洞等风险,但它们不能 100% 阻止。

良好的应用架构、SDL 流程(技术审查、代码审查、扫描)、缓存机制可能有助于构建健壮的系统。

于 2018-08-06T03:44:08.437 回答
0

答案是不。没有任何 WAF 的完整证明。这是因为 WAF 在签名上工作,如果有任何新漏洞,WAF 无法调查。

此外,还有其他一些问题,例如多重编码、更长的 POST 正文、BOT 活动等,这些问题的识别要复杂得多。

还有像 Akamai 这样的 WAF 提供商,他们拥有更多的威胁情报和复杂的机器人管理。同样,这不是 99% 的证据,但像这样的公司多年来一直从事 WAF 业务,他们可能有更好的洞察力。

我希望这能回答你的问题!

于 2019-11-18T21:48:39.243 回答