大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第5回 ブラウザ設定と認証

大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第5回 ブラウザ設定と認証

こんにちは! 第4回では、プロキシの認証とアクセス制御を整理しました。今回は、ブラウザー側で何を確認し、どう設定を配るかを見ていきます。

同じページでも、ブラウザーや接続方法によって認証画面が出ることがあります。ここで許可先や認証方式を広げる前に、誰が認証を求めているのかを確かめます。

主にWindows上の管理対象Chrome・Edge・Firefoxと、明示的なフォワードプロキシを扱います。漫画は理解のための架空の会話です。設定例は説明用で、実環境へのポリシー配布や認証試験を実施した記録ではありません。

連載の構成

5.1 統合認証が動く条件を分ける

5.1.1 サイトの認証とプロキシの認証を分ける

認証を求めている相手を分ける セリフは直後に掲載。
認証を求めている相手を分ける
  • 開発者「同じページなのに、認証が違うのですか?」
  • 研修講師「サイトとプロキシは、別々に認証を求めます。」
  • 研修講師「まず401か407か、相手を確認します。」
  • 開発者「許可リストを広げる前に、相手を調べます。」

「パスワードを聞かれた」だけでは、変更すべき設定は決まりません。 Webサイトが本人確認を求めた場合と、途中のプロキシが求めた場合では、調べる相手が違います。

応答調べる相手と情報
401 UnauthorizedWebサイト。WWW-Authenticateと、そのサイトへ送るAuthorization
407 Proxy Authentication Requiredプロキシ。Proxy-Authenticateと、プロキシへ送るProxy-Authorization

NegotiateやNTLMでは交換が複数回に分かれます。途中に407があるだけで失敗とは限りません。認証が進まず同じ要求が続くのか、最終的に拒否されるのかを区別します。

Windowsのゾーン設定も、自動認証の許可判断に関係します。ChromeはWindows上で認証サーバーの許可リストが未設定の場合、Windowsのゾーンによる資格情報利用の判断を参照します。「ゾーン設定はEdgeだけのもの」と考えると、原因を取り違えます。

ゾーンへの登録と、ADへのドメイン参加、Kerberosのチケット取得は別の条件です。サイトを信頼済みに移せば、名前や鍵の不一致まで直るわけではありません。まず実際のプロキシ経路と認証相手を記録し、その後で許可範囲を確認してください。

出典

5.1.2 URLの接続名をDNS・SPNとそろえる

接続名とサービス名をそろえる セリフは直後に掲載。
接続名とサービス名をそろえる
  • 開発者「同じIPなら、別名でも同じ認証ですか?」
  • 研修講師「接続する名前は、SPNにも関係します。」
  • 研修講師「DNS、サービス名、許可先をそろえます。」
  • 開発者「IPへの変更で、解決したとは考えません。」

同じサーバーへ届いても、同じ認証条件になるとは限りません。 短い名前、FQDN、別名、IPアドレスでは、名前解決や認証対象の名前が変わります。

認証対象は、誰が認証を求めたかによって変わります。Webサイトの401ならサイト側の接続名とSPN、明示的なフォワードプロキシの407ならプロキシの接続名とSPNを確認します。閲覧先URLとプロキシの名前を混同しないでください。

接続先の表し方確認すること
intranet のような短い名前DNSサフィックスによる解決先と、自動認証の許可判断
intranet.ad.example.com接続名、証明書、認証許可先、ADのサービス名の対応
別名やCNAME実際に組み立てられるSPN。DNS正規化やポート関連ポリシーの影響
IPアドレスWindowsの既定ではIP名へのKerberosを試みない。別方式で開けても同じ認証が成立した証拠にはならない

KerberosのHTTPサービスでは、SPNの名前が重要です。CNAMEの扱いは DisableAuthNegotiateCnameLookup、ポートの付加は EnableAuthNegotiatePort などのポリシーにも左右されます。解決先IPだけで判断せず、実際に生成されるSPNと登録先を確認します。

WindowsにはIPをSPNに使う例外設定もあります。ただしMicrosoftは、DNS名へ変更できない場合の選択肢として説明しています。ここでは例外を広げず、管理者が定めたDNS名を使う構成を基本とします。

URL中に「intranet」という文字が含まれるだけでは、信頼先の証明になりません。許可リストには管理対象の名前を指定し、意図しない外部名まで含むワイルドカードを避けます。

出典

5.1.3 ブラウザーごとの設定と委任を区別する

認証サーバーの許可と、利用者の資格情報の委任は別です。 通常のサインインを直すために、委任の許可先を一律に追加しません。

ブラウザー・設定用途
Chrome / Edge の AuthServerAllowlistWebサーバーへの統合認証を許可する対象。複数の名前はカンマ区切り
Chrome / Edge の AuthNegotiateDelegateAllowlist資格情報の委任先。未設定では委任しない。用途がある場合だけ別途設計する
Firefox の Authentication.SPNEGOKerberosを使うサイトの範囲
Firefox の Authentication.AllowProxiesプロキシ認証の別制御。サイトのSPNEGOリストと混同しない

ChromeとEdgeの仕様では、プロキシからの要求と、許可されたWebサーバーからの要求を区別しています。AuthServerAllowlist にプロキシ名を足すことだけを万能の修正にしません。実際の経路、提示方式、利用可能な資格情報も確認します。

次はFirefoxのサイト認証用 policies.json の最小例です。説明用の名前を使っています。HTTPSの指定先とその配下のホストが対象になるため、サブドメインまで含めた管理範囲を確認してください。プロキシの設定例ではありません。

{
  "policies": {
    "Authentication": {
      "SPNEGO": [
        "https://intranet.ad.example.com"
      ]
    }
  }
}

委任が不要な例なので Delegated は追加していません。プロキシには AllowProxies が別に作用します。通常のHTTP認証を、SAMLやOpenID ConnectのWebサインイン、IEモードの互換設定とも混同しないでください。

出典

5.2 管理対象ブラウザーへ安全に配る

5.2.1 Chromeは初期状態で一律に無効ではない

Chromeも条件に従って自動認証する セリフは直後に掲載。
Chromeも条件に従って自動認証する
  • 開発者「Chromeは、自動認証が最初から無効ですか?」
  • 研修講師「一律に無効、という説明は誤りです。」
  • 研修講師「OS、相手、ポリシーと利用モードを確認します。」
  • 開発者「ブラウザー名だけで、原因を決めません。」

「Chromeは統合Windows認証が初期状態で無効」という説明は正確ではありません。 未設定時の動作、OS、接続相手、通常・シークレットなどの利用モードを分けて確認します。

現行のChrome用管理テンプレートでは、認証サーバーの許可リストが未設定ならイントラネットかどうかを判断すると説明されています。Windows上のNegotiateはSSPIを利用します。ChromeをWindowsの認証機能から切り離されたブラウザーとして説明するのも適切ではありません。

一方、Chrome 81以降のシークレット・ゲストでは、既定の資格情報による認証は初期状態で許可されません。AmbientAuthenticationInPrivateModesEnabled がその動作を制御します。通常ウィンドウとの違いを調べるためだけに、私用モードの制限を一律に解除する必要はありません。

  1. 1同じ端末・ユーザー・URL・プロキシ経路で比較する。
  2. 2ブラウザーとOSの版、通常か私用モードかをそろえる。
  3. 3管理ポリシーの値、適用元、エラーを確認する。
  4. 4必要なチケット、サービス名、提示された認証方式を確認する。
  5. 5差が説明できた後、必要な設定だけを試験対象へ適用する。

Firefoxについても「全環境で初期状態では使えない」とはまとめません。サイトの許可先、プロキシ用の設定、私用モードとOSの認証機能を確認します。ブラウザー名だけから架空の内部実装を推測するより、同じ条件での比較が役立ちます。

出典

5.2.2 GPOの作成からブラウザーの適用確認まで

設定の配布と適用確認を分ける セリフは直後に掲載。
設定の配布と適用確認を分ける
  • 開発者「GPOを作れば、設定は完了ですか?」
  • 研修講師「端末とブラウザーへの適用も確認します。」
  • 研修講師「値、適用元、エラーを見て再起動します。」
  • 開発者「成功と拒否の両方を、検証します。」

GPOを作ることと、利用者のブラウザーに設定が届くことは別です。 最初は少数の検証用端末・ユーザーに絞り、戻せる形で配布します。

  1. 1公式のChrome・Edge・Firefox用管理テンプレートを取得し、利用版に合うことを確認する。
  2. 2ドメイン管理では既存のCentral Storeを確認する。ADMXと対応する言語のADMLを版管理し、共有テンプレートを無計画に上書きしない。
  3. 3対象OU、ユーザー設定かコンピューター設定か、GPOリンクとフィルターを決める。
  4. 4認証を許可する必要な名前を設定する。委任は必要性と対象が確認できた場合だけ別に扱う。
  5. 5クライアントで適用結果を読み、必要なブラウザー再起動の後に動作を確認する。

Central StoreはSYSVOL配下の共有テンプレートです。管理端末のローカル PolicyDefinitions だけを書き換えても、Central Storeを使う編集画面へ反映されるとは限りません。ADMXを置いただけでは端末の設定も変わりません。

以下は検証用Windows端末での例です。gpupdate /force は全ポリシーを再適用するため、他の設定への影響も踏まえて実施します。報告書名は保存先に応じて変更してください。

gpupdate /force
gpresult /h ad-browser-policy-report.html

gpresult はGPOの適用結果を調べるものです。ブラウザー側では chrome://policy、edge://policy、Firefoxの about:policies を開き、値とエラーを確認します。Chromeでは適用元も見て、GPOとクラウド管理のどちらが効いているかを判断します。

設定を配ってから確認する順序。管理側対象と許可先を決める端末側GPOの適用結果を読むブラウザー側値・適用元と実際の動作を確認
設定を配ってから確認する順序。 作図 Qualiteg。

ポリシーの再読込だけでは足りず、再起動を必要とする項目もあります。少なくともEdgeの認証許可リストと委任許可リストは再起動が必要です。成功したページだけでなく、許可外の相手や未認証のアクセスが期待どおり拒否されるかも確かめます。

出典

5.2.3 パスワード保存と認証キャッシュを分ける

認証キャッシュとパスワード保存 セリフは直後に掲載。
認証キャッシュとパスワード保存
  • 開発者「キャッシュを短くすれば、保存も消えますか?」
  • 研修講師「サーバーのキャッシュと、端末の保存は別です。」
  • 研修講師「再検証しても、端末から再送される場合があります。」
  • 開発者「どこに何が残るか、別々に確認します。」

プロキシのキャッシュを短くしても、ブラウザーに保存されたパスワードは消えません。 何を、どこが、どの期間保持しているのかを分ける必要があります。

保持されるもの確認する点
ブラウザーの保存済みパスワード新規保存の制御と、すでに保存された情報の扱いは別
ブラウザーのHTTP認証状態や接続パスワード管理画面だけでは説明できない再利用がある
OSの資格情報やKerberosチケットブラウザープロファイルの表示名だけでは切り替わらない
SquidのBasic認証キャッシュcredentialsttlはSquid側の再検証間隔。端末側の記憶や保存を消す機能ではない

Edgeの PasswordManagerEnabled を無効にしても、保存済みのパスワードは利用できる仕様です。新規保存の禁止だけで「残っている資格情報も消えた」と報告しないでください。HTTP認証ダイアログの見た目や保存機能も、ブラウザーと版によって確認します。

共有端末ではOSのサインアウト・サインイン、ブラウザープロセス、接続、保存状態を含めて、交代後の認証名を検証します。パスワードを保存させないために資格情報を全URLへ注入する独自拡張を作る、といった対策は本記事では勧めません。

Basicを採用する場合は、宛先サイトだけでなくクライアントからプロキシまでの経路を保護する必要があります。宛先のHTTPSを判定するACLだけでは、プロキシへの資格情報の送信が暗号化される保証になりません。

出典

5.2.4 例外を整理して段階的に展開する

例外は方式と経路を確認する セリフは直後に掲載。
例外は方式と経路を確認する
  • 開発者「VPNなら、必ず統合認証できますか?」
  • 研修講師「VPNだけでは、認証の条件はそろいません。」
  • 研修講師「対象端末と経路を決めて、少数で試します。」
  • 開発者「例外を広げず、段階的に展開します。」

社内・VPN・私物端末という区分だけで、使える認証方式は決まりません。 経路がつながっても、チケットや名前、クライアントの対応が不足していれば認証は成立しません。

試験する場面確認する結果
管理対象の通常端末期待した認証名で必要な宛先へ到達する
VPNや別ネットワークDNS、プロキシ経路、必要な認証通信が一致する
共有端末の利用者交代前の利用者の資格情報を再利用していない
未管理端末・対応外クライアント勝手に弱い方式へ落とさず、決めた案内・拒否になる
許可外サイトと例外終了後資格情報を不要な相手へ送らず、例外が残らない

VPNや非ドメイン参加を理由に、無条件でBasicへ切り替える構成にはしません。例外が必要なら、対象者、端末、保護する通信区間、利用期限、取り消し方を決め、対応するクライアントとプロキシで試します。

利用者には、使うブラウザー、正式な接続先、不審な認証要求の報告先を案内します。診断ログにはURL、アカウント名、トークンなどが含まれ得るため、共有前に機密情報を除去します。

パスワードレス方式や別のSSO基盤を検討する場合も、Webログインの機能がそのままプロキシの407認証を置き換えるわけではありません。製品側の対応と認証経路を別に設計します。第6回では、この条件をそろえても失敗する場合の切り分けを扱います。

出典
Qualiteg 技術コンサルティング

全社のAIセキュリティ、基盤から運用まで相談できます。

ID・アクセス管理といった基盤から、LLM 固有のリスク(プロンプトインジェクション・情報漏洩・有害出力)まで——組織で AI を安全に使うには論点が多岐にわたります。

私たちは LLM 監査プロダクト「LLM-Audit」を自社開発・提供しています。その知見を活かし、監査・診断から防御策、安全な運用設計まで実践的に支援します。

LLMセキュリティの支援を見る →

Read more

大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第7回 セキュリティとベストプラクティス - 本番環境での考慮事項

大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第7回 セキュリティとベストプラクティス - 本番環境での考慮事項

こんにちは、今回はシリーズ第7回セキュリティとベストプラクティス - 本番環境での考慮事項 について解説いたします! 連載の構成 * 第1章:基本概念の理解 - Active DirectoryとKerberos/NTLM認証の基礎 * 第2章:ドメイン環境の構築 - 検証環境の構築手順 * 第3章:クライアントとサーバーのドメイン参加 - ドメイン参加の詳細手順 * 第4章:プロキシサーバーと統合Windows認証 * 第5章:ブラウザ設定と認証 - 各ブラウザでの設定方法 * 第6章:トラブルシューティング - よくある問題と解決方法 * 【★今回です★】第7章:セキュリティとベストプラクティス - 本番環境での考慮事項 * 第8章:実践的な構成例 - AIセキュリティツールとの統合事例 第7章:セキュリティとベストプラクティス 第 7 回は、ここまでの回で作った認証基盤を「本番で運用できる状態」にするための話です。 前半の 7.1

By Qualiteg コンサルティング
Ubuntu 24.04 の GPU サーバーが shutdown で固まる。犯人は HWE カーネルだった

Ubuntu 24.04 の GPU サーバーが shutdown で固まる。犯人は HWE カーネルだった

Ubuntu 24.04 の GPU 推論サーバーが shutdown で固まり、電源長押しになった。前回ブートのジャーナルで追うと、HWE カーネル 7.0 系と NVIDIA 595 open の組み合わせで CUDA プロセスの SIGKILL 直後にページ管理の異常が記録されていた。カーネルと対応する NVIDIA モジュールの組を GA 6.8 系に切り替えて正常な停止を確認し、うっかり HWE に戻らない 4 層の防御まで入れた記録。

By Qualiteg プロダクト開発部
ゼロから作るコーディングエージェント【第5回】ローカルLLMを一級市民にする。16GBのGPU2枚でWebシステムを自走で作らせるまで

ゼロから作るコーディングエージェント【第5回】ローカルLLMを一級市民にする。16GBのGPU2枚でWebシステムを自走で作らせるまで

RTX A5000(24GB)1枚で始めて、ローカルモデル7種類が全滅。RTX A4000(16GB)2枚にQwen3.6-35B-A3BをAWQ 4bitで載せ、fp8のKVキャッシュと98kの文脈で、認証つきWebシステムを3本連続93.8〜96.5点で作らせるまでの構成と落とし穴。モデルの癖、量子化の劣化、文脈長、壊れたツール呼び出しの直し方を、測った数字で書きます。

By Qualiteg プロダクト開発部