最近セキュリティ関連で色々物騒な世の中です。
なので、StripeをWebアプリ等に組み込んでいる場合には、APIシークレットキーにIPアドレス制限もかけておいたほうがいいと思います。

漏れたら一発アウトのコワイ事態です。
「Stripe使っているけど、やってなかった!」と思ったら、見て下さいね。
Stripe API シークレットキー漏洩により起こりうること
まずStripe の シークレットキー が漏洩すると何が起こるかですが、第三者があなたのアカウントを “ほぼ管理者権限” で操作できてしまいます。
たとえば、不正決済の大量発行、顧客情報の流出、不正な返金の実施、、、おそろしいですね。
Stripe 公式ページでも次のように、シークレットキーの重要さを明記しています。
公開可能キーはウェブページやアプリに含めるのが安全ですが、シークレット API キーはサーバー環境に限定し、漏洩から保護する必要があります。攻撃者がシークレットキーを取得すると、そのキーを使用してビジネスや Stripe エコシステムの他の関係者に損害を与える可能性があります。
APIシークレットキーの流出経路
APIシークレットキーの流出経路としては色々ですが、次のようなものが挙げられます。
- キーをハードコード(そのままコード内にいれる)してしまった
- GitHubなどの公開アクセス可能な場所に置いてしまった。
実はGitHub上では、2024年に3,900万件のAPIキーと認証情報が流出したといった報告もあります。
その中にはStripeのキーが含まれていた可能性もありますね。
ただStripe側では顧客側には通知するものの、漏洩そのものは公にしないと考えられます。

それはそうですよね。
万が一漏洩した場合に備えてIPアドレス制限を
もちろん漏洩に備えるのは大事ですが、万が一漏洩した場合に備えて、APIシークレットキーにIPアドレス制限を設けておくと良いでしょう。
これにより、万が一シークレットキーが漏洩しても、許可された IP 以外からの API リクエストは全て拒否されます。攻撃者のサーバーからは Stripe API にアクセスできません。
方法は簡単です。
IP制限のかけかた
Stripe Dashboard →「開発者メニュー」 → 「API キー」画面を表示します。
制限したいシークレットキーの行にあるオーバーフローメニュー(…)をクリック。「IP制限を管理」(Manage IP restrictions)を選択します。

許可するIPアドレス(Webアプリを設置したサーバーのIPアドレスなど)をいれます。
また、併せてフロントエンドでは シークレットキー を一切扱わないようにチェックしておくと安心です。さらに、何か不審な動きがあったときは、「キーのローテーション」を行っておきましょう。

備えあれば憂いなし体制を構築していきましょう!

さいごに
生成AI時代は、AIによって、悪意ある人たちの業務効率化が進んでいきます。セキュリティがますます大事な時代です。
何かある前に守る意識、大事にしていきましょう。

セキュリティ関連記事も色々書いております。新しい記事を書くとXに投稿しています。よかったらフォローしてくださいね。


によるRSCの重大脆弱性-120x68.png)
