Webhook侦听器/接收器安全性

问题描述 投票:0回答:2

我们正在考虑使用来自网络外部各种供应商的webhooks。他们会将事件发布给我们。我们将成为Webhook侦听器/接收器,而不是推送事件。我们已经完成了创建Azure函数以接收事件的概念证明。通过研究,我们大多数人都可以通过sha1 / sha256 / sha512哈希来确保我们是我们想要接收事件的对象。 POC Azure功能可以按预期完成所有工作。

从企业网络安全的角度来看,还有其他可用的方法吗?上面的过程将安全性置于功能中。我确定我们的网络安全小组不希望我们拥有10个功能,每个供应商都需要担心这些功能。我已经读过将要发送事件的IP列入白名单的信息,但是我们的大多数供应商都是基于云的,因此我不确定这将有多容易获得。也许有一项功能可以验证所有进入的事件,然后让它们通过?那是可以接受的解决方案吗? Azure API网关或API管理能够以某种方式解决?还有其他专门处理webhook安全性的网络类型的产品吗?

最受赞赏的任何见解或链接。

谢谢。

security azure-functions webhooks azure-api-management azure-application-gateway
2个回答
1
投票

哇,那真的很开放。

您可以在附有Azure Front Door的情况下使用Web Application Firewall。因此,AFD和WAF可以防止任何SQL注入,DDoS或类似攻击。

但是,我要说的最安全的方法就是设置IP限制。因此,您需要强制供应商获取其IP地址。可能是数百个。但这没关系。您可以实施CIDR IP地址格式,以便覆盖所有网络。而且,您可以使用Azure PowerShell脚本在CI / CD管道中轻松设置这些IP地址限制。

您还可以在Azure Functions前面使用API Management,并且可以创建访问限制策略。您可以限制基于IP或基于JWT。 APIM可能有点贵,]

https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies

您也可以使用API​​M创建高级策略

https://docs.microsoft.com/en-us/azure/api-management/api-management-advanced-policies

此外,AFD和WAF和IP限制在网络层上。但是,您也可以在代码端实现基于令牌的身份验证。

https://docs.microsoft.com/en-us/azure/app-service/overview-authentication-authorization

您可以为此使用Azure Active Directory,IdentityServer或JWT。

祝你好运!


1
投票

关于WAF路线:WAF通常带有自己的签名。由于缺少JSON,XML和其他数据协议格式的解析,Azure,梭子鱼和其他WAF无法保护您的API。您必须为API禁用这些WAF,以避免误报。如果您的目标是保护REST,GraphQL,XMLRPC,SOAP或其他API,则必须使用云原生WAF,例如产品:Advanced Cloud-Native WAF

谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.