钉钉机器人如何配置 IP 白名单防止 Webhook 地址泄露?

文章导读
配置 IP 白名单是防止 Webhook 地址被滥用最直接的手段,适合出口 IP 固定的服务器场景。
📋 目录
  1. A 快速处理思路
  2. B 为什么会这样
  3. C 分步处理
  4. D 怎么验证是否生效
  5. E 常见坑
  6. F 参考来源
A A

配置 IP 白名单是防止 Webhook 地址被滥用最直接的手段,适合出口 IP 固定的服务器场景。

先说结论:开启 IP 白名单能有效限制调用来源,但需确保服务器出口 IP 稳定,否则会导致机器人不可用。

  • 先判断:确认服务器出口 IP 是否固定,动态 IP 环境不建议开启。
  • 优先做:在钉钉群机器人设置中找到安全设置,添加服务器出口 IP 到白名单。
  • 再验证:使用非白名单 IP 发起请求,确认返回错误提示。

快速处理思路

此配置主要在钉钉客户端界面完成,无需命令行操作,核心流程如下:

  1. 在服务器上查询当前出口 IP 地址。
  2. 进入钉钉群设置,找到机器人管理入口。
  3. 编辑机器人,在安全设置中开启 IP 白名单并填入 IP。

为什么会这样

Webhook 地址本质上是一个公开的接口链接,一旦泄露,任何知道链接的人都可以向群内发送消息。IP 白名单相当于给这个链接加了一把“网络锁”,只有来自指定 IP 的请求才会被钉钉服务器接受,即使链接泄露,攻击者也无法从其他 IP 调用。

分步处理

第一步:获取服务器出口 IP

在需要发送消息的服务器上执行以下命令查看出口 IP:

钉钉机器人如何配置 IP 白名单防止 Webhook 地址泄露?
curl ifconfig.me

如果有多个服务器或经过 NAT 网关,需确认所有可能的出口 IP 地址。

第二步:配置钉钉机器人

1. 打开钉钉 PC 客户端,进入目标群聊。
2. 点击右上角设置图标,选择“群机器人”。
3. 找到对应的自定义机器人,点击“编辑”。
4. 在“安全设置”区域,勾选"IP 白名单”。
5. 将第一步获取的 IP 地址填入,多个 IP 用换行或逗号分隔(以界面提示为准)。

第三步:保存配置

点击“完成”或“保存”,确保设置生效。

钉钉机器人如何配置 IP 白名单防止 Webhook 地址泄露?

怎么验证是否生效

正常请求测试:

在白名单内的服务器上执行 curl 请求,应返回 success:

curl 'https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN' -H 'Content-Type: application/json' -d '{"msgtype":"text","text":{"content":"测试"}}'

拦截测试:

尝试从不在白名单内的网络环境(如本地电脑、其他服务器)发起相同请求,钉钉接口应返回错误码,提示 IP 不在白名单内。

常见坑

  • 服务器 IP 变动:云服务器弹性公网 IP 可能变化,重启或释放后需重新配置。
  • 多出口场景:容器化部署或复杂网络下,出口 IP 可能不一致,需全部添加。
  • 忘记保存:配置后未点击保存按钮,导致设置未生效。

参考来源

钉钉开放平台 - 自定义机器人接入
URL: https://open.dingtalk.com/document/robots/custom-robot-access