大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第5回 ブラウザ設定と認証
こんにちは! 第4回では、プロキシの認証とアクセス制御を整理しました。今回は、ブラウザー側で何を確認し、どう設定を配るかを見ていきます。
同じページでも、ブラウザーや接続方法によって認証画面が出ることがあります。ここで許可先や認証方式を広げる前に、誰が認証を求めているのかを確かめます。
主にWindows上の管理対象Chrome・Edge・Firefoxと、明示的なフォワードプロキシを扱います。漫画は理解のための架空の会話です。設定例は説明用で、実環境へのポリシー配布や認証試験を実施した記録ではありません。
連載の構成
- 第1章:基本概念の理解 - Active DirectoryとKerberos/NTLM認証の基礎
- 第2章:ドメイン環境の構築 - 検証環境の構築手順
- 第3章:クライアントとサーバーのドメイン参加 - ドメイン参加の詳細手順
- 第4章:プロキシサーバーと統合Windows認証
- 【★今回です★】第5章:ブラウザ設定と認証 - 各ブラウザでの設定方法
- 第6章:トラブルシューティング - よくある問題と解決方法
- 第7章:セキュリティとベストプラクティス - 本番環境での考慮事項
- 第8章:実践的な構成例 - AIセキュリティツールとの統合事例
5.1 統合認証が動く条件を分ける
5.1.1 サイトの認証とプロキシの認証を分ける

- 開発者「同じページなのに、認証が違うのですか?」
- 研修講師「サイトとプロキシは、別々に認証を求めます。」
- 研修講師「まず401か407か、相手を確認します。」
- 開発者「許可リストを広げる前に、相手を調べます。」
「パスワードを聞かれた」だけでは、変更すべき設定は決まりません。 Webサイトが本人確認を求めた場合と、途中のプロキシが求めた場合では、調べる相手が違います。
| 応答 | 調べる相手と情報 |
|---|---|
| 401 Unauthorized | Webサイト。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 の AuthServerAllowlist | Webサーバーへの統合認証を許可する対象。複数の名前はカンマ区切り |
| Chrome / Edge の AuthNegotiateDelegateAllowlist | 資格情報の委任先。未設定では委任しない。用途がある場合だけ別途設計する |
| Firefox の Authentication.SPNEGO | Kerberosを使うサイトの範囲 |
| 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は、自動認証が最初から無効ですか?」
- 研修講師「一律に無効、という説明は誤りです。」
- 研修講師「OS、相手、ポリシーと利用モードを確認します。」
- 開発者「ブラウザー名だけで、原因を決めません。」
「Chromeは統合Windows認証が初期状態で無効」という説明は正確ではありません。 未設定時の動作、OS、接続相手、通常・シークレットなどの利用モードを分けて確認します。
現行のChrome用管理テンプレートでは、認証サーバーの許可リストが未設定ならイントラネットかどうかを判断すると説明されています。Windows上のNegotiateはSSPIを利用します。ChromeをWindowsの認証機能から切り離されたブラウザーとして説明するのも適切ではありません。
一方、Chrome 81以降のシークレット・ゲストでは、既定の資格情報による認証は初期状態で許可されません。AmbientAuthenticationInPrivateModesEnabled がその動作を制御します。通常ウィンドウとの違いを調べるためだけに、私用モードの制限を一律に解除する必要はありません。
- 1同じ端末・ユーザー・URL・プロキシ経路で比較する。
- 2ブラウザーとOSの版、通常か私用モードかをそろえる。
- 3管理ポリシーの値、適用元、エラーを確認する。
- 4必要なチケット、サービス名、提示された認証方式を確認する。
- 5差が説明できた後、必要な設定だけを試験対象へ適用する。
Firefoxについても「全環境で初期状態では使えない」とはまとめません。サイトの許可先、プロキシ用の設定、私用モードとOSの認証機能を確認します。ブラウザー名だけから架空の内部実装を推測するより、同じ条件での比較が役立ちます。
5.2.2 GPOの作成からブラウザーの適用確認まで

- 開発者「GPOを作れば、設定は完了ですか?」
- 研修講師「端末とブラウザーへの適用も確認します。」
- 研修講師「値、適用元、エラーを見て再起動します。」
- 開発者「成功と拒否の両方を、検証します。」
GPOを作ることと、利用者のブラウザーに設定が届くことは別です。 最初は少数の検証用端末・ユーザーに絞り、戻せる形で配布します。
- 1公式のChrome・Edge・Firefox用管理テンプレートを取得し、利用版に合うことを確認する。
- 2ドメイン管理では既存のCentral Storeを確認する。ADMXと対応する言語のADMLを版管理し、共有テンプレートを無計画に上書きしない。
- 3対象OU、ユーザー設定かコンピューター設定か、GPOリンクとフィルターを決める。
- 4認証を許可する必要な名前を設定する。委任は必要性と対象が確認できた場合だけ別に扱う。
- 5クライアントで適用結果を読み、必要なブラウザー再起動の後に動作を確認する。
Central StoreはSYSVOL配下の共有テンプレートです。管理端末のローカル PolicyDefinitions だけを書き換えても、Central Storeを使う編集画面へ反映されるとは限りません。ADMXを置いただけでは端末の設定も変わりません。
以下は検証用Windows端末での例です。gpupdate /force は全ポリシーを再適用するため、他の設定への影響も踏まえて実施します。報告書名は保存先に応じて変更してください。
gpupdate /force
gpresult /h ad-browser-policy-report.htmlgpresult はGPOの適用結果を調べるものです。ブラウザー側では chrome://policy、edge://policy、Firefoxの about:policies を開き、値とエラーを確認します。Chromeでは適用元も見て、GPOとクラウド管理のどちらが効いているかを判断します。
ポリシーの再読込だけでは足りず、再起動を必要とする項目もあります。少なくとも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回では、この条件をそろえても失敗する場合の切り分けを扱います。
全社のAIセキュリティ、基盤から運用まで相談できます。
ID・アクセス管理といった基盤から、LLM 固有のリスク(プロンプトインジェクション・情報漏洩・有害出力)まで——組織で AI を安全に使うには論点が多岐にわたります。
私たちは LLM 監査プロダクト「LLM-Audit」を自社開発・提供しています。その知見を活かし、監査・診断から防御策、安全な運用設計まで実践的に支援します。
LLMセキュリティの支援を見る →