Security 对于GitLab WebHook,如何确保请求来自GitLab?

Security 对于GitLab WebHook,如何确保请求来自GitLab?,security,gitlab,webhooks,Security,Gitlab,Webhooks,Gitlab文档如下所示: 我尝试的是: request.hostname:主机名可以伪造吗 request.ip:但是我不知道gitlab的ip,而且它们将来可能会改变 我试图找到类似github的Secret的东西,在创建webhook时,Secret可以用来验证请求体,但什么都没有 https:有帮助吗 那么如何确保请求来自GitLab呢?有什么好办法吗?您可以包含一个秘密令牌,该令牌只在gitlab前端输入,其他人不知道,然后在每个请求中检查该令牌 当与https一起使用时,可以将其作为

Gitlab文档如下所示:

我尝试的是:

  • request.hostname:主机名可以伪造吗
  • request.ip:但是我不知道gitlab的ip,而且它们将来可能会改变
  • 我试图找到类似github的
    Secret
    的东西,在创建webhook时,Secret可以用来验证请求体,但什么都没有
  • https:有帮助吗

  • 那么如何确保请求来自GitLab呢?有什么好办法吗?

    您可以包含一个秘密令牌,该令牌只在gitlab前端输入,其他人不知道,然后在每个请求中检查该令牌


    当与https一起使用时,可以将其作为cgi参数添加到webhook URL的末尾,如
    ?token=somesecretvalue

    您可以包含一个秘密令牌,该令牌只在gitlab前端输入,其他人不知道,然后在每个请求中检查该令牌


    当与https一起使用时,可以将其作为cgi参数添加到webhook URL的末尾,如
    ?token=somesecretvalue

    你不能只查看源地址吗?@agilob你是说ip地址吗?据我所知,gitlab在他们的文档中没有告诉我他们的ip范围,他们的ip将来可能会改变,这看起来不是一个好的做法。根据您的实现,您应该能够看到发送请求的IP和域。是的,HTTPS确实有帮助,它绑定到一个域。@agilob,谢谢,但它很复杂,我会按照MrTux所说的方式尝试。你不能只看源地址吗?@agilob你是说ip地址吗?据我所知,gitlab在他们的文档中没有告诉我他们的ip范围,他们的ip将来可能会改变,这看起来不是一个好的做法。根据您的实现,您应该能够看到发送请求的IP和域。是的,HTTPS确实有帮助,它绑定到一个域。@agilob,谢谢,但它很复杂,我将尝试MrTux所说的方法。谢谢,这是一种可行的方法。尽管如此,该令牌可以在gitlab存储库设置页面意外(或有意)发现,它可以用于伪造对webhook的请求。我想最好的方法是使用令牌+源ip地址验证…谢谢,这是一种可行的方法。尽管如此,令牌可以在gitlab repository设置页面意外(或有意)发现,它可以用来伪造对webhook的请求。我想最好的方法是使用令牌+源ip地址验证。。。