メインコンテンツへスキップ

ONTAPでKerberosが想定されている場合にNTLMを使用するクライアント

Views:
206
Visibility:
Public
Votes:
0
Category:
ontap-9
Specialty:
nas
Last Updated:

環境

  • ONTAP 9(すべてのバージョン)
  • CIFS / SMB
  • Kerberos認証を使用したWindows Active Directory
  • AFF / FASシステム

問題

クライアントは、Kerberos 認証が想定される場面で認証形式 NTLM を使用しています。これには以下のシナリオが含まれます。

  • クライアント側のパケットトレースには、KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN
  • グループポリシーオブジェクト(GPO)がNTLMをブロックし、Kerberos認証を強制するように構成された後、Windowsクライアントでアクセスエラーが発生します。
  • klist Windowsクライアントでは、CIFSサーバー用のKerberosチケットが取得されていないことが示されます。
  • イベントビューアーは、NetApp CIFSサーバーのNTLMフォールバックがブロックされた、またはKerberosネゴシエーションの失敗イベントをログに記録します。
  • SPN関連のGPO変更を適用した後も、ネットワークドライブのマッピングが引き続き失敗します。

原因

クライアントがキー配布センター(KDC)に連絡してサービスのチケットを要求すると、KDCはCIFSサーバーマシンアカウントのサービスプリンシパル名(SPN)内で一致するホスト名、IPv4、またはIPv6を検索します。一致するものがない場合、KDCはKRB5KDC_ERR_S_PRINCIPAL_UNKNOWNを返し、クライアントはNTLMにフォールバックする可能性があります。

一般的なトリガー:

  • Active Directory の CIFS サーバーマシンアカウントにHOST/<short-hostname>またはHOST/<FQDN>の SPN エントリが存在しない
  • ドライブマッピングでは短いホスト名(例:\\sdf\share)が使用されているが、登録されているのは FQDN SPN のみである
  • Kerberos を強制するために GPO 経由で NTLM がブロックされている場合、SPN が存在しないと Kerberos が失敗し、NTLM フォールバックもブロックされるため、アクセスが完全に失敗する
  • SPN を更新せずにクラスターまたは SVM の名前を変更する

解決策

ストレージへのアクセスに使用されるホスト名、エイリアス、またはFQDNを特定します。このホスト名は、SVMが所有する1つ以上のLIFに解決される必要があります。CIFSサーバーマシンアカウントに、目的のホスト名をSPNとして設定します。

ステップ 1:CIFS マシンアカウントの現在の SPN を一覧表示する

Active Directoryのアクセス許可を持つドメイン参加済みのWindowsホストから:

setspn -L <CIFS-machine-account>

HOST/<short-hostname>HOST/<FQDN> のエントリを確認してください。どちらかが欠けている場合は、手順2に進んでください。

ステップ2:不足しているSPNエントリを追加する

-Sスイッチを使用して、重複チェック付きでSPNを追加します:

setspn -S HOST/<short-hostname><CIFS-machine-account>
setspn -S HOST/<FQDN><CIFS-machine-account>

ステップ3:クライアントのKerberosキャッシュをフラッシュして確認する

Active Directory のレプリケーションが完了するまで数分待ってから、Windows クライアントで次の操作を行います。

klist purge
net use * /delete
net use \\<server>\<share> /persistent:yes
klist

klistの出力には、cifs/<FQDN>のKerberosチケットが表示されるはずです。

注:IPアドレスを使用するドライブマッピングは、常にNTLMにフォールバックします。Kerberosにはホスト名またはFQDNが必要です。ドライブマッピングを適切に更新してください。

パートナーノート

partnerNotes_text

追加情報

SPN に IP アドレスを使用するにはいくつかの要件がありますが、手順は Microsoft が概説しているものと似ています — setspn CLI コマンドの構文

接続クライアントごとの認証方法を ONTAP から確認するには:

vserver cifs session show -fields auth-mechanism

CIFSサーバー名がsetspnで使用されているマシンアカウントと一致することを確認するには:

vserver cifs show -vserver <svm-name>

内部情報

内部情報

Sign in to view the entire content of this KB article.

New to NetApp?

Learn more about our award-winning Support

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.