コンテンツにスキップ

Dex OIDC & ドメイン SSO セーフガード

AegisMesh は、認証基盤として Dex OIDC(https://app.aegismesh.kusa-cloud.com/dex)を標準統合しています。

日本国内のビジネス利用に最適化された LINE Login コネクタ を実装するとともに、ドメイン名に基づく自動テナント参加(Auto-Join / Auto-Provisioning)において個人契約メールの混入を防ぐ 「国内プロバイダ・キャリア除外セーフガード」 を備えています。


1. LINE Login コネクタ & 日本語認証 UI

スマートフォンや現場端末での簡易認証、および日本国内のコンシューマー/小規模ビジネス向けに、Dex OIDC 基盤へ LINE Login(LINEヤフー公式 API)コネクタ を独自統合しています。

  • 専用エンドポイント: https://app.aegismesh.kusa-cloud.com/dex
  • ブランド統一 UI: AegisMesh のエメラルドグリーン & ダークテーマに最適化された専用ログイン画面を提供。
  • アカウント紐付け: LINE アカウントの内部ユーザー識別子(sub)を安全に AegisMesh アカウントへバインド。

2. ドメイン SSO セーフガード (email_domains.go)

企業ドメイン(例: @example.co.jp)に基づくシングルサインオン(Domain-based SSO)を有効化すると、該当ドメインのメールアドレスを持つユーザーが初回ログインした際、自動的に企業のテナントへ所属させることができます(Auto-Join)。

しかし、この仕組みを悪用したり誤設定したりすると、「Gmail や携帯キャリアメール、自宅プロバイダのメールでログインしたユーザーが、他人の個人メールと同じ偽テナントに相乗りしてしまう」 という重大なセキュリティ事故が発生します。

AegisMesh は、管理サーバー(email_domains.go)において 国内・海外のパブリックメール・個人回線ドメインを完全網羅した拒絶リスト(Denylist) を保持し、これらでの企業テナント自動生成・自動参加をシステム的に 100% 遮断します。


網羅的に除外されるドメイン一覧

以下のドメイン群を使用した自動テナント生成・Auto-Join は無条件で拒否されます。

① グローバル Web メール

gmail.com, googlemail.com, yahoo.com, yahoo.co.jp, ymail.com, hotmail.com, outlook.com, outlook.jp, live.com, msn.com, icloud.com, me.com, mac.com, protonmail.com, proton.me, zoho.com, aol.com 等

② 国内ポータル系フリーメール

infoseek.jp, excite.co.jp, goo.jp, livedoor.com, nifty.com, mail.goo.ne.jp 等

③ 携帯キャリア(MNO / キャリアメール)

  • NTTドコモ: docomo.ne.jp
  • au (KDDI): ezweb.ne.jp, au.com
  • ソフトバンク: softbank.ne.jp, vodafone.ne.jp, i.softbank.jp
  • 楽天モバイル: rakumail.jp, rakuten.jp

④ サブブランド & 主要 MVNO(格安SIM)

  • Y!mobile: ymobile.ne.jp, yahoo.ne.jp
  • UQ mobile: uqmobile.jp
  • mineo: mineo.jp
  • IIJmio: iijmio-mail.jp

⑤ 大手固定プロバイダ & 地方 CATV(個人契約ドメイン)

個人が自宅回線として契約する以下の ISP ドメインは、法人ドメインと誤認されないようすべて除外されます:

  • 大手 ISP: ocn.ne.jp, plala.or.jp, biglobe.ne.jp, so-net.ne.jp, asahi-net.or.jp, dion.ne.jp
  • 電力系 / 地方回線: eonet.ne.jp (オプテージ), commufa.jp (コミュファ), bbiq.jp (QTnet), pikara.ne.jp (ピカラ), megaegg.ne.jp (メガ・エッグ)
  • CATV: jcom.zaq.ne.jp, zaq.ne.jp, itscom.net

3. 端末側 SSO 許可ドメイン制限(クライアント・ドメイン縛り機構)

サーバー側のドメイン除外セーフガードに加え、AegisMesh クライアント(バージョン v0.80.0-1 以降)には、端末レベルでログイン可能な SSO アカウントのメールドメインを限定する 「端末側 SSO 許可ドメイン制限(allowedSSODomains)」 が実装されています。

会社から支給した PC やリモート端末において、社員が私用の Google / Microsoft アカウントで勝手にログインすることをクライアント側で確実に防止します。

sequenceDiagram
    autonumber
    participant User as 社員 (端末)
    participant Client as AegisMesh クライアント
    participant OS as OS管理者領域 (HKLM / root)
    participant IdP as 企業 IdP (Google / Entra ID)
    participant Mgmt as AegisMesh 管理サーバー

    Note over Client,OS: 【起動・認証開始】
    Client->>OS: allowedSSODomains 設定を取得 (例: "company.com")
    User->>Client: トレイから「Sign in」をクリック
    Client->>IdP: 認可URL生成 (hd=company.com / domain_hint=company.com を自動付与)
    Note over IdP: 社用アカウントへのログイン画面へダイレクト誘導

    Note over User,IdP: 【認証コールバック受取】
    IdP-->>Client: ID トークン発行
    Note over Client: 【Fail-Closed 検証 (domain_validator.go)】
    Client->>Client: IDトークンのクレーム (email, upn 等) を検証
    alt 許可ドメインに合致 (例: [email protected] / sub.company.com)
        Client->>Mgmt: 認証完了・トンネル接続確立
        Mgmt-->>Client: Connected
    else 不一致または私用アカウント (例: [email protected] / [email protected])
        Client--xClient: トークンを即座に破棄 (Fail-Closed)
        Client-->>User: 画面表示「Access denied by organization policy」
    end

コア機能とセキュリティ特性

① OS管理者権限境界(Tamper Protection)

一般ユーザー(非管理者)が端末上でドメイン制限を勝手に書き換えたり無効化したりできないよう、保護領域を採用しています:

  • Windows: HKLM\Software\Policies\AegisMesh\allowedSSODomains(Active Directory GPO や Microsoft Intune と同一の保護領域)
  • Linux / macOS: 管理者(root)所有の設定ファイル(/etc/aegismesh/config.json 等)

② IdP 誘導パラメータの自動付与

単一の許可ドメインが設定されている場合、ブラウザ認証開始時に以下のパラメータを認可 URL へ自動付与します:

  • Google Workspace: hd=company.com
  • Microsoft Entra ID (Azure AD): domain_hint=company.com

これにより、ブラウザ上で個人の Google/Microsoft アカウント選択画面をバイパスし、社用アカウントのログイン画面へ直接誘導します。

③ Fail-Closed(安全側に倒した拒絶)トークン検証ロジック

認証完了時に受け取った ID トークン(JWT)を検証します:

  • 複数クレーム対応: IdP ごとの仕様差を吸収し、email, upn, preferred_username, unique_name, name を自動走査。
  • サブドメイン許可: company.com を指定した場合、[email protected] などのサブドメインも正規所属として許可。
  • 偽装・部分一致の排除: @notcompany.com や @mycompany.com.attacker.com などは厳格に拒否。
  • メール情報欠落時の拒絶: トークンにメール/ユーザー名が含まれない場合は即座にアクセスを遮断。

④ 個人利用との共存(オプトイン設計)& クリーンアップ

  • 個人利用(制限OFF): インストーラーでドメイン欄を空欄のまま進めるか、設定を行わない場合は、ドメイン制限は完全に OFF(Gmail、Yahoo、独自ドメインなどあらゆるアカウントで自由にログイン可能)となります。
  • アンインストール時の完全削除: Windows のアプリと機能からアンインストールすると、ポリシー用レジストリキーおよび値は自動的に綺麗にクリーンアップされます。