アカウントとログインのセキュリティ
3.8.1 では、会員と管理者の両方に向けたアカウントのセキュリティ機能が加わりました。
| 対象 | 新機能 |
|---|---|
| 会員 | 2段階認証、資金操作の追加認証、ログイン端末の管理、セキュリティログ、パスキーでのログイン |
| 管理者 | パスキーでのログイン、自動ロック、新しいログイン画面 |
3.8.2 では連携用 IP ホワイトリストが加わりました。IP を登録すると、連携用のインターフェースは登録したサーバーからの残高注文だけを受け付けます。資金操作の追加認証がオンのアカウントが連携注文を出すにも、これが必要です。
アップグレード時の注意
3.8.1 にアップグレードすると次の変化がありますが、いずれも想定どおりの動作です。アップグレードの方法はアップグレードと移行を参照してください。
- 会員は全員、一度ログインし直す必要があります。 セキュリティのため会員のログイン情報を作り直したので、それまでのログイン状態は切れます。
- パスワードはより強いハッシュで保存されます。 会員と管理者のパスワードは、次にパスワードでログインした時点で自動的に変換されます。作業は不要です。管理者のパスワードが変換されたときは、その管理者がほかの端末で開いていた管理画面のログインが切れるので、もう一度ログインしてください。
- 管理画面の自動ロックが既定で有効です。 時間は 15 分です(下の「自動ロック」を参照)。アップグレードしただけで管理者がログアウトされることはありません。
- データベースの変更はオンラインアップグレードが自動で適用します。 SQL を手で実行する必要はありません。
アップグレード後は旧バージョンに戻さないでください。 パスワードが変換済みのアカウントは、旧バージョンではパスワードでログインできなくなります。
会員向け
会員センターのセキュリティ用ナビ(プロフィール、パスワード設定、メール設定、携帯番号設定が並ぶ列)に、次のページが加わりました。
| ページ | 用途 |
|---|---|
| 2段階認証 | ログイン時、パスワードに加えて認証アプリのコードを求めます。資金操作の追加認証のスイッチもここにあります |
| ログイン端末 | このアカウントでログインしている端末を確認し、ログアウトさせます |
| 連携用ホワイトリスト | 3.8.2 で追加。連携用のインターフェースで残高を使って注文できるサーバーの IP を登録します。独立したページがあるのは既定のテーマだけで、ほかのテーマでは「2段階認証」ページにあります |
| セキュリティログ | ログイン、パスワード変更、出金など重要な操作の記録 |
| パスキー | パスワードの代わりに指紋・顔・端末の PIN でログインします |
2段階認証
有効にする手順:
- 2段階認証 ページを開き、有効にするボタンをクリック
- 認証アプリ(Google Authenticator、Microsoft Authenticator など)で QR コードを読み取る
- アプリに表示された 6 桁のコードとアカウントのパスワードを入力して確定
- 8 個のリカバリーコードが表示されます。表示はこの 1 回だけなので、必ず保存してください
有効にすると:
- ログイン時、パスワードのあとに 6 桁のコードが必要になります。コードが手元にないときは、リカバリーコード 1 個で代用できます
- ほかの端末のログインは解除され、今使っている端末だけが残ります
- 資金操作の追加認証も自動で有効になります(次の節を参照)
リカバリーコードは 1 個につき 1 回しか使えません。スマートフォンをなくした、認証アプリが開けないといったときは、これでログインするか、2段階認証を無効にします。
| 操作 | 必要なもの |
|---|---|
| 2段階認証を無効にする | アカウントのパスワード + 認証コードまたはリカバリーコード 1 個。資金操作の追加認証も一緒に無効になります |
| リカバリーコードを作り直す | アカウントのパスワード + 認証コード。古いリカバリーコードはすべて無効になります |
シークレットキーとリカバリーコードが表示されるのは設定時の 1 回だけです。それ以降はどのページ・一覧・エクスポートにも出てこず、管理画面からも見えません。
資金操作の追加認証
2段階認証 ページにあるスイッチです。2段階認証を有効にすると自動でオンになり、切り替えにはアカウントのパスワードと認証コードが必要です。
オンの間、会員は次の操作の前に、その時点の 6 桁のコードを入力する必要があります。
- 残高払いでの注文
- 出金(換金)の申請
- 下位会員への送金
- 残高での販売者ランクの購入
一度認証に成功すると、その後 5 分間は再入力を求められません。2段階認証を使っていない会員には一切影響しません。
連携時の注意: ストア連携も API も連携用のインターフェースを使っています。サーバー同士が自動で呼び出すため、認証コードは入力できません。そこで、資金操作の追加認証がオンのアカウントが連携用のインターフェースで残高を使うときは、呼び出し元サーバーの IP だけで判断します。その IP がアカウントの連携用 IP ホワイトリストにあれば通し、リストが空ならすべて拒否します。下流のサイトがこのアカウントであなたの店と連携している場合も、あなたが上流の店の自分のアカウントで連携している場合も同じです。
3.8.1 にはホワイトリストがありません。このアカウントは連携用のインターフェースを通じて残高をまったく使えず、そのアカウントで資金操作の追加認証をオフにするしかありません(2段階認証自体はオンのままで構いません)。
連携用 IP ホワイトリスト
3.8.2 で追加された機能で、2段階認証の有無にかかわらず、すべての会員が使えます。1 件目を登録した時点で有効になり、それ以降、連携用のインターフェースがこのアカウントの残高で注文するときは、リストにある IP または範囲からの呼び出しだけを受け付けます。対象は注文だけで、商品・在庫・注文状況の取得には影響しません。
| リスト | 資金操作の追加認証がオン | 資金操作の追加認証がオフ |
|---|---|---|
| 登録あり | リストにある接続元だけを受け付けます | リストにある接続元だけを受け付けます |
| 空 | すべて拒否します(連携用のインターフェースでは認証コードを入力できないため) | 制限なし(3.8.2 より前と同じ) |
資金操作の追加認証がオフのアカウントでも、設定しておく価値があります。加盟店キー(app_key)が万一漏れても、リストにない IP からはあなたの残高で注文できません。
設定する場所:
- 既定のテーマ(原初之力):会員センターのセキュリティ用ナビにある 連携用ホワイトリスト ページです(「セキュリティログ」の左隣)。2段階認証がオンのときは、2段階認証 ページの資金操作の追加認証のスイッチの下にも 1 行の案内が出ます。資金操作の追加認証がオンでリストが空のときは黄色の注意と追加用のリンク、リストに登録があるときは許可している接続元の件数と管理用のリンクが表示されます
- ほかのテーマ:ホワイトリストは 2段階認証 ページに直接表示されます。2段階認証がオンのときは資金操作の追加認証のスイッチの下、オフのときはページの一番下です
| 項目 | 内容 |
|---|---|
| 登録できるもの | IPv4 または IPv6 のアドレス 1 つ、または CIDR 表記の範囲(例:203.0.113.0/24) |
| 範囲の上限 | IPv4 は /16、IPv6 は /48 まで。0.0.0.0/0 のようにそれより広い範囲は登録できません |
| 件数とメモ | 1 アカウントにつき最大 20 件。各件にメモ(32 文字まで)を付けられます |
| 追加 | 本人確認が必要です。2段階認証がオンなら認証アプリの 6 桁のコード、オフならアカウントのパスワードを入力します |
| 削除 | 確認は不要です。削除しても許可の範囲が狭まるだけだからです |
| 最終許可日時 | 各件に、最後に連携注文を通した日時が表示されます |
既定のテーマの 連携用ホワイトリスト ページでは、上部に現在の状態が表示されます。
| 状態 | 意味 |
|---|---|
| 有効 | リストに登録があり、リストにある接続元だけを受け付けます |
| リストが空 | 資金操作の追加認証がオンでリストが空のため、連携注文はすべて拒否されます |
| 無効 | 資金操作の追加認証がオフでリストも空のため、制限はありません。IP を 1 件登録すると有効になります |
最近拒否された接続元: 連携注文が拒否されたとき、呼び出し元に返すエラーにはあえて IP を含めません。下流のサイトが上流のエラーを顧客にそのまま見せることがあり、IP を含めると下流サーバーの実 IP が公開されてしまうためです。拒否された IP は、ホワイトリストの下の「最近拒否された接続元」に表示されます(直近 7 日間、最大 5 件)。ワンクリックでホワイトリストに追加できますが、同じ本人確認が必要です。拒否のたびにセキュリティログにも「リスク高」として記録されます(同じ IP は 10 分に 1 件まで)。ここに見覚えのない IP があれば、誰かがこのアカウントの加盟店キー(app_key)で注文しています。すぐに加盟店キーをリセットしてください。
サーバーの IP が分からないとき: 連携注文を 1 件出してみてください。その注文が拒否されれば(資金操作の追加認証がオン、またはリストにほかの IP がある場合)、サーバーの IP が「最近拒否された接続元」に表示されるので、それを追加します。そうでない場合は、API を呼び出すサーバーで外向きのグローバル IP を調べて追加します(1 件目を登録すると、ほかの接続元からの連携注文は拒否され、「最近拒否された接続元」に表示されます)。
サイト運営者の方へ: 呼び出し元の IP は、サイト設定 → セキュリティ設定の「IP 取得方式」と「信頼するプロキシ IP」に従って判定します。サイトが CDN やリバースプロキシの背後にあるのに、それを信頼するプロキシとして設定していないと、連携のリクエストはすべて CDN の IP から来たように見えます。会員は CDN の IP をホワイトリストに入れるしかなくなり、ホワイトリストが意味をなしません。先に信頼するプロキシを設定してください。
ログイン端末
3.8.1 から、1 つのアカウントで複数の端末に同時にログインしたままにできます。旧バージョンでは、新しい端末でログインすると前の端末はログアウトされていました。
ログイン端末 ページには、ログイン中の端末が一覧表示されます。端末の種類、OS とブラウザ、ログイン時と最終操作時の IP・時刻が分かります。今使っている端末には「現在の端末」と表示されます。
端末ごとにログアウトさせるほか、「他の端末からログアウト」「すべての端末からログアウト」も使えます。見覚えのない端末があれば、まずログアウトさせてからパスワードを変更してください。
セキュリティログ
アカウントの重要な操作が、時刻・IP・ブラウザ付きで記録されます。
| 分類 | 記録される操作 |
|---|---|
| ログイン | ログイン成功(パスキーでのログインを含む)、ログイン失敗、ログアウト |
| アカウント情報 | パスワード、メールアドレス、電話番号、プロフィールまたは受取方法の変更 |
| 認証の設定 | 2段階認証のオン/オフ、資金操作の追加認証のオン/オフ、資金操作の追加認証の通過、リカバリーコードの作り直し |
| 端末とキー | 端末のログアウト、パスキーの追加・削除、加盟店キー(app_key)のリセット |
| 資金 | 出金の申請、下位会員への送金 |
| 連携用ホワイトリスト | 連携用 IP ホワイトリストへの IP の追加・削除、連携注文の拒否(呼び出し元の IP がホワイトリストにない) |
リスクの高い操作には「リスク高」が付きます。たとえば前回と違う IP からのログイン、ログイン失敗、2段階認証の無効化、加盟店キーのリセット、連携用 IP ホワイトリストへの追加、連携注文の拒否などです。「リスクのみ」で、これらだけに絞り込めます。
ログにはメールアドレス、電話番号、受取口座などは保存されません。
管理者が見る場合: 管理画面の 会員管理 で、各会員の行にある「セキュリティログ」ボタン(盾のアイコン)を押すと、その会員のログが開きます。種類・詳細・IP・時刻で絞り込めます。管理者が管理画面で会員のパスワードをリセットした操作も記録されます。3.8.2 からは、このボタンを使えるのはメインの管理者アカウント(インストール時に作成したもの)だけです。スーパー管理者・日勤・夜勤のアカウントでは、権限がない旨のメッセージが表示されます。
パスキー
パスワードの代わりに、指紋・顔・端末の画面ロック(PIN)でログインします。パスキーは会員自身の端末やパスワードマネージャーに保存されるため、フィッシングサイトに盗まれることもありません。
追加: パスキー ページ →「パスキーを追加」をクリック → アカウントのパスワードを入力 → 端末の指示に従って認証。1 アカウントにつき最大 10 個で、名前の変更と削除ができます。
ログイン: ログイン画面で「パスキーでログイン」をクリックするか、アカウント欄をクリックして自動入力の候補からパスキーを選び、指紋・顔・PIN で確認します。
2段階認証を有効にしている会員でも、端末上で指紋・顔・PIN による確認を済ませたパスキーなら、6 桁のコードは不要です。その確認がない場合(PIN を設定していない物理セキュリティキーなど)は、引き続きコードが必要です。
パスキーには利用条件があります。
| 条件 | 内容 |
|---|---|
| HTTPS とドメイン | サイトを https://ドメイン で開く必要があります。http や IP アドレスでは使えません |
| 標準のブラウザ | WeChat、QQ、Alipay などのアプリ内ブラウザには対応していません |
| 同じドメイン | パスキーは追加したときのドメインでしか使えません。www 付きと www なしは別のドメインとして扱われ、サブストアのドメインもそれぞれ別です |
最初の 2 つを満たしていないと、ログイン画面に「パスキーでログイン」ボタンは表示されません。
ほかのテーマ
既定のテーマ(原初之力)には、これらのページがすべて入っています。ロサンゼルス、富士山、ニューヨーク、シアトル、渋谷、ルーデウスなど会員センターを持つテーマは、それぞれのテーマの更新で対応します。アプリストアでテーマを最新版に更新してください。これらのテーマには独立した「連携用ホワイトリスト」ページはなく、ホワイトリストは「2段階認証」ページに表示されます。2段階認証がオンのときは資金操作の追加認証のスイッチの下、オフのときはページの一番下です。
どのテーマを使っていても、2段階認証を有効にした会員は問題なくログインできます。
管理者向け
パスキーでログイン
管理者は、パスワードの代わりにパスキーで管理画面にログインできます。
- 右上のアバターをクリックして 個人設定 を開く
- 「パスキー」の欄で「パスキーを追加」をクリック
- 現在のログインパスワードを入力
- 指紋・顔・Windows Hello・スマートフォン・セキュリティキーのいずれかで確認
以後は、管理画面のログイン画面で「パスキーでログイン」をクリックするだけです。パスワードでのログインもそのまま使え、パスキーは自動ロックの解除にも使えます。こちらも HTTPS が必要で、追加したときのドメインでしか使えません。
Google 認証システムを有効にしている管理者の場合:
| パスキー | ログイン時 |
|---|---|
| 端末で指紋・顔・PIN による確認をした | そのままログイン。Google 認証コードは不要 |
| その確認がない(PIN のない一般的なセキュリティキーなど) | 引き続き Google 認証コードが必要 |
管理者のパスワードを変更しても、その管理者のパスキーは無効になりません。 管理画面へのアクセス権を取り上げたいときは、その管理者アカウントを停止するか削除してください。
自動ロック
アップグレード後は既定で有効になっており、時間は 15 分です。サイト設定 → セキュリティ設定 の「管理画面の自動ロック」で 0〜1440 分の範囲で変更でき、0 にすると無効になります(サイト設定参照)。
- マウス・キーボード・タッチの操作がその時間ないと、管理画面がロックされます
- 解除はログインパスワードかパスキーで行います。「別のアカウントでログイン」も選べます
- ロックするかどうかはサーバー側で判定します。ページが自動でデータを更新しても操作とは見なされず、「ログイン状態を保持」でログインした端末もロックされます
- ロックされると今のページから移動するので、編集中の内容は先に保存してください
- アップグレードしただけで管理者がログアウトされることはありません
新しいログイン画面
管理画面のログイン画面は、macOS のロック画面のようなデザインになりました。時計と、ガラス風の入力欄で構成されています。
- 右上で言語と外観(ライト/ダーク/システムに従う)を切り替えられます
- エラーは該当する入力欄のすぐ下に表示され、Caps Lock がオンのときは注意が表示されます
- Google 認証システムを使うアカウントでは、コードの入力欄がフォームの中にその場で開きます
- カスタム背景を設定していない場合(または既定の画像のままの場合)は、内蔵の壁紙がライト/ダークに合わせて切り替わります。カスタム背景はこれまでどおり使えます
既定の背景画像そのものが新しくなりました。 既定の「PC背景画像」を使っているサイトでは、ストアフロントと会員センターの背景も新しい画像に変わります。以前の画像を残したい場合は、アップグレード前にサイトの
/assets/admin/images/login/bg.jpgを保存しておき、アップグレード後に サイト設定 → 基本設定 で「PC背景画像」としてアップロードしてください。
よくある問題
| 症状 | 対処 |
|---|---|
| ログイン画面に「パスキーでログイン」ボタンがない | https://ドメイン で開き、標準のブラウザを使ってください。WeChat・QQ・Alipay のアプリ内ブラウザでは使えません |
| 会員がスマートフォンをなくし、コードを確認できない | リカバリーコードでログインして 2段階認証を無効にし、新しいスマートフォンで有効にし直します |
| 管理画面がすぐロックされる | サイト設定 → セキュリティ設定 で「管理画面の自動ロック」の時間を延ばすか、0 で無効にします |
| 連携の注文が「该账号已开启资金二次验证,必须先登记对接白名单 IP 才能通过对接接口用余额下单。请登录该账号的会员中心,在「对接白名单」(或「两步验证」页)把服务器 IP 加入白名单;被拒的 IP 会列在那里」(資金操作の追加認証が有効なため、先に連携用ホワイトリストへ IP を登録する必要がある)で失敗する | 上流は 3.8.2 以降で、このアカウントは資金操作の追加認証がオンなのにホワイトリストが空です。そのアカウントの会員センターにログインし、連携用ホワイトリスト ページ(ほかのテーマでは 2段階認証 ページ)で、「最近拒否された接続元」にあるサーバーの IP を連携用 IP ホワイトリストに追加します |
| 連携の注文が「调用方 IP 不在该账号的对接白名单内。请登录该账号的会员中心,在「对接白名单」(或「两步验证」页)把服务器 IP 加入白名单;被拒的 IP 会列在那里」(呼び出し元の IP がこのアカウントの連携用ホワイトリストにない)で失敗する | 上流は 3.8.2 以降で、このアカウントにはホワイトリストがあり、呼び出し元サーバーの IP がそこに入っていません。同じく「最近拒否された接続元」から追加します。見覚えのない IP なら加盟店キーが漏れている可能性があるので、先に加盟店キーをリセットしてください |
| 連携の注文が「该账号已开启资金二次验证,无法通过对接接口消费余额」(連携 API では残高を使えない)で失敗する | 上流は 3.8.1 で、ホワイトリストがありません。そのアカウントの 2段階認証 ページで資金操作の追加認証をオフにするか、上流に 3.8.2 へのアップグレードを依頼してホワイトリストを使います |
| 管理画面で会員の「セキュリティログ」を開くと権限がないと表示される | 3.8.2 からは、会員のセキュリティログを見られるのはメインの管理者アカウント(インストール時に作成したもの)だけです |
| アップグレード後、会員が全員ログアウトされた | 想定どおりの動作です。各会員がもう一度ログインすれば済みます |
| ドメインを変えたらパスキーが使えない | パスキーは追加したときのドメインに結び付いています。新しいドメインで追加し直してください |
