我看到许多Web应用程序防火墙,例如带有OWASP扩展的mod_security
如果我在我的服务器中使用它,我可以确定99%没有人可以使用PHP代码破解我的网站吗?喜欢XSS ......
答案 0 :(得分:2)
总之 - 没有。
正如Bruce Schneier所说,安全是一个过程,而不是一个产品。 Web应用程序防火墙是一个好主意 - 就像锁定前门一样。但是如果后门是敞开的,攻击者就会试图访问你的系统。
它不会保护您免受基础设施漏洞(操作系统,PHP等)的侵害。它不会保护您免受不良密码选择或应用程序级错误的影响。它不会保护您(可能)免受SQL注入攻击,并且可能仍有XSS机会。
答案 1 :(得分:1)
没有99%肯定,99%肯定的唯一方法是“拔掉以太网线”(比喻说,我意识到它都是虚拟的),即便如此,它也不是100%。
我建议运行PCI Compliance scans,它相对便宜,它会让您知道您的服务器/应用程序容易受到哪些已知漏洞。您还可以进行渗透测试,有很多服务,它将提供额外的见解。
答案 2 :(得分:0)
没有自动检测或纠正漏洞的方法,包括XSS。试图阻止“错误”的传入请求本质上是不可靠的,因为如果没有对应用程序的深入了解,就无法确定应用程序会严重解释哪种请求。
默认情况下,WAF不了解应用程序,只能做出愚蠢的猜测。这意味着您将同时阻止(允许通过有害请求)和overblock(妨碍合法用户)。常见的规则集(例如mod_security CRS)有许多可疑的规则,这些规则会导致多种应用程序的操作问题;像这样的天真部署会给你带来比解决更多的问题。
要使WAF做任何有用的事情,你必须配置它以匹配应用程序,这需要深入了解哪些类型的输入是预期的或不期望的。如果您是该应用程序的开发人员,您可能会发现在应用程序层放置输入验证比尝试配置WAF更简单。
WAF很有用:
但是你可以在不考虑安全性的情况下开发应用程序然后通过在前面放弃WAF来神奇地修复所有问题的想法是荒谬的。
答案 3 :(得分:0)
如果使用带有白名单策略的WAF并配置您的个人访问政策,则可以实现。
答案 4 :(得分:0)
安全基础结构是必需的,例如Janusec Application Gateway:
Internet <--->应用程序网关(带有WAF)<--->应用程序前端服务器<--->应用程序集成逻辑<--->应用程序数据访问层<--->数据库服务器
安全基础结构可以帮助降低诸如私钥泄漏,CC攻击,Web漏洞之类的风险,但是它们不能阻止100%。
良好的应用程序体系结构,SDL流(技术审查,代码审查,扫描),缓存机制可能有助于构建健壮的系统。
答案 5 :(得分:0)
答案是否定的。没有任何WAF可以拥有完全证明。这是因为WAF可以处理签名,并且如果那里存在任何新的漏洞,WAF将无法对其进行调查。
此外,还有其他一些问题,例如多重编码,具有更大长度的POST正文,BOT活动等,这些问题在识别时要复杂得多。
还有像Akamai这样的WAF提供程序,它们具有更多的威胁情报和复杂的Bot管理。同样,这不是99%的证明,但是像这样的公司多年来一直涉足WAF业务,他们可能会有更好的见识。
希望这能回答您的查询!