Shopifyは、公開アプリに対するIPアローリスト(許可リスト)の設定を必須とします。これにより、盗まれたアクセストークンでGraphQL Admin APIやREST Admin APIのリクエストを認証できる接続元が制限されます。
提示された施行スケジュールによると、制限は2026年11月12日に始まり、2027年4月1日にはAPIリクエストの全面拒否へと拡大します。この対策は、トークン認証に加えてネットワーク上の接続元も確認することで、認証情報の悪用に対処するものです。
同様のOAuthトークン窃取キャンペーンは、侵害後も有効な認証情報が危険であり続ける理由を示しています。攻撃者は、パスワードを盗まなくても、奪ったトークンを使ってサービスにアクセスできるためです。Shopifyの実装は、このアクセスを地理的条件またはインフラ単位で制限します。
11月12日以降、Shopifyはアローリストを設定していない公開アプリによるバルククエリとバルクミューテーションをブロックします。11月20日には、対象アプリがShopify App Storeから掲載を外されて新規インストールができなくなり、加盟店の「設定>アプリ」画面にも警告が表示されます。ただし、既存のインストール分は引き続き動作します。
加盟店のShopify管理画面には、2027年1月15日から警告が表示されます。4月1日には、これらのアプリによるGraphQLおよびREST Admin APIのリクエストを、Shopifyがすべて拒否します。カスタムアプリはこの要件の対象外ですが、Shopifyはアローリストの設定を強く推奨しています。
施行が有効になると、Shopifyは対象となるすべてのリクエストについて送信元IPアドレスを評価します。承認済みのアドレスやネットワークの外から届いたトラフィックにはHTTP 403を返し、送信元アドレスを確認できないリクエストも失敗します。流出した認証情報を無効化するのではなく、接続元の制限を新たに加える仕組みです。
この違いは、Microsoft Graphのアクセストークンをめぐるインシデントのように、露出した認証情報によって不正なAPIクエリが可能になった事例で重要になります。Shopifyも同様に、ネットワーク制限と有効期限付きのオフラインアクセストークンを組み合わせるよう推奨しています。侵害された認証情報が使える場所と、使える期間の両方を絞り込む狙いです。
固定のインフラでは、最大100個のパブリックIPアドレスまたはCIDR範囲を登録できます。IPv4は/16以下の範囲(/16かそれより狭いプレフィックス)、IPv6は/32以下の範囲(/32かそれより狭いプレフィックス)が対象です。範囲はネットワークアドレスから始める必要があります。
NATゲートウェイの背後にあるアプリケーションはゲートウェイのアドレスを登録する必要があります。IPv6で接続する環境では、そのアドレスも含めなければなりません。
動的なホスティング環境では、代わりに最大10個のパブリックASN(自律システム番号)を許可でき、必要に応じて最大10か国に絞り込むこともできます。プライベートASN、予約済みASN、ドキュメント用ASNは使用できません。アローリストに登録できるのはアドレスかネットワークのどちらかで、両方は登録できません。
ASNによる許可には、共有インフラ特有の限界があります。承認したプロバイダーのネットワーク内で別の顧客が動作していれば、その顧客が盗まれたトークンを使える可能性があるためです。
Shopifyは、可能な限り個別のIPアドレスを使い、ASNが必要な場合は国による制限を併用するよう推奨しています。リクエストごとに、MaxMind GeoLiteがASNと国のマッピング情報を提供します。必要なマッピングデータが欠けている場合、リクエストは拒否されます。
これはAPIキーの露出そのものを防ぐ対策とは異なります。アローリストは、情報が漏えいした後の認証情報の利用を制限しますが、漏えいの根本原因や、承認済みネットワークからの不正な操作をなくすものではありません。
開発者は、施行を有効にする前に、直近30日分のトラフィックに対して設定をテストしてください。そのうえで、外部からのGraphQLリクエストがHTTP 403を返すことを確認する必要があります。
Shopify Flowの「Send HTTP request」アクションと、OxygenストアフロントからのGraphQL Admin API呼び出しは、Shopifyが送信元アドレスを確認できないため、この仕組みに対応していません。開発プレビューのリクエストと、埋め込みによる直接のAPIアクセスは、引き続き拒否の対象外です。
1万6,000以上のSOCチームがANY.RUNを活用し、脅威調査を効率化して手作業を削減しています。チームで試してみる
翻訳元: https://cyberpress.org/shopify-ip-allowlisting-mandatory/