我们正在考虑使用来自网络外部各种供应商的webhooks。他们会将事件发布给我们。我们将成为Webhook侦听器/接收器,而不是推送事件。我们已经完成了创建Azure函数以接收事件的概念证明。通过研究,我们大多数人都可以通过sha1 / sha256 / sha512哈希来确保我们是我们想要接收事件的对象。 POC Azure功能可以按预期完成所有工作。
从企业网络安全的角度来看,还有其他可用的方法吗?上面的过程将安全性置于功能中。我确定我们的网络安全小组不希望我们拥有10个功能,每个供应商都需要担心这些功能。我已经读过将要发送事件的IP列入白名单的信息,但是我们的大多数供应商都是基于云的,因此我不确定这将有多容易获得。也许有一项功能可以验证所有进入的事件,然后让它们通过?那是可以接受的解决方案吗? Azure API网关或API管理能够以某种方式解决?还有其他专门处理webhook安全性的网络类型的产品吗?
最受赞赏的任何见解或链接。
谢谢。
哇,那真的很开放。
您可以在附有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
您也可以使用APIM创建高级策略
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。
祝你好运!
关于WAF路线:WAF通常带有自己的签名。由于缺少JSON,XML和其他数据协议格式的解析,Azure,梭子鱼和其他WAF无法保护您的API。您必须为API禁用这些WAF,以避免误报。如果您的目标是保护REST,GraphQL,XMLRPC,SOAP或其他API,则必须使用云原生WAF,例如产品:Advanced Cloud-Native WAF
谢谢。