GitHub組織のWebhookでTLS証明書の検証が無効になっている

Webhook受信サーバーのTLS証明書を検証してください。

説明

github_organization_webhookでconfiguration.insecure_ssl = trueにすると、HTTPS受信先の証明書検証が無効になります。通信は暗号化されていても、正しい受信先であることを確認できません。

想定される影響

通信経路上の攻撃者が受信先を装い、イベントデータを傍受したり改ざんしたりするおそれがあります。

対処方法

configuration.insecure_ssl = falseを設定し、受信サーバーに有効な証明書を導入してください。受信側ではWebhook署名も検証してください。

例

以下は同じHTTPS受信先で証明書の検証を有効にする例です。署名用の共有シークレットは別途安全に管理してください。

変更前

hcl
resource "github_organization_webhook" "webhook" {
  name = "web"

  configuration {
    url          = "https://example.com/webhook"
    content_type = "form"
    insecure_ssl = true
  }

  events = ["issues"]
}

変更後

hcl
resource "github_organization_webhook" "webhook" {
  name = "web"

  configuration {
    url          = "https://example.com/webhook"
    content_type = "form"
    insecure_ssl = false
  }

  events = ["issues"]
}

参考資料