安全で便利な Webhook を作る Tweet Webhook をご存知でしょうか。GitHub やその他のサービスで提供されているあの機能です。 今回は弊社の Komoju API で Webhook を提供する際に気づいた、webhook 実装上の注意点について書きます。 内部のサーバーへのアクセスを禁止する 一般的な Webhook はユーザーが送信先となる任意のURLを指定して、サービスはそこに対してPOSTリクエストを送信します。 このときに気をつけないといけないのは「そのURLがサービス内部のホストかどうか」を識別しなければならないということです。 たとえば localhost とか、内部 DNS のドメインとかです。このような宛先への Webhook 送信を許可してしまうと、本来は外部から隔離されてアクセスできないはずのサーバーに Webhook送信サーバー経由でアクセスで