web-dev-qa-db-ja.com

Exchange 2016およびServer 2016 DC:不明なKDC暗号化タイプ

チーム、

Exchange環境はすべて2016年であり、混在していません。親ドメインと子ドメインは存在しますが、各ドメインとフォレストの機能レベルは2012R2です。すべてのドメインコントローラーは、最近まで2012R2でした。 ADチーム(私とは異なります)がServer 2016ドメインコントローラーを導入し、問題が発生したと思います。症状は次のとおりです。

親ドメインのサーバーでメールがスタックし、宛先が子ドメインになります。キューのエラーは "454 4.7.0 Temporary Authentication error"であり、イベントログの関連イベントはイベントID 2017、ソース:MSExchangeTransport、メッセージは次のとおりです。

「送信認証は送信コネクタIntra-Organization SMTP送信コネクタのエラーKdcUnknownEncryptionTypeで失敗しました。認証メカニズムはExchangeAuthです。ターゲットはSMTPSVC/server fqdnです。」

メールは子ドメインから親ドメインに問題なく流れます。前に言ったように、起こった最も重要な変更は、単にServer 2016 DCを導入することだと思います。一時的に修正するために、メッセージがスタックしているサーバーを再起動すると、しばらくの間動作します。これは本当にKerberosの問題のようです。

編集:ASAもセットアップされていますが、すべてのExchangeサーバー、DC、およびこのASA間でサポートされる暗号化タイプはすべて「28」です。

グーグル検索は時間同期問題を提案します、しかし私はExchangeサーバーとドメインコントローラーの両方をチェックしました、そして、物事は正確に同期しているようです。レプリケーションの状態も確認しましたが、問題はないようです。また、SPNの重複または不正をチェックしたところ、何も見つかりませんでした。ただし、SPNについて調査できることは他にもありますか?彼らが要求/使用しているのはどのような暗号化なのか?ケルベロスについてはあまり知りません。

編集:別のメモとして、GPOを使用して、宛先サーバーからRC4-HMACを削除しました。その結果、klist ticketsコマンドは正しい「AES ...」を表示しましたが、その後、Powershellが壊れました...「考えられる原因」は次のとおりです。

  • "ユーザー名もしくはパスワードが無効です"
  • 「認証方法とユーザー名が指定されていない場合に使用されるKerberos」
  • 「Kerberosはドメインユーザー名を受け入れますが、ローカルユーザー名は受け入れません。」
  • "リモートコンピュータ名とポートのSPNが存在しません"
  • 「クライアントコンピューターとリモートコンピューターは異なるドメインにあり、信頼関係はありません。」

次に、WinRM TrustedHostsリストに宛先コンピューターを追加することをお勧めします。

4
Joseph

RC4は2012 DCで許可されたKerberos暗号化タイプであり、ADチームはRC4を無効にした2016 DCを導入したようです。サーバー2016で推奨されるセキュリティ設定であるため、自信を持ってこれを言います。目標は、環境からRC4を削除することですが、最初にAESをサポートするようにミッションクリティカルなアプリケーションを更新する必要があります。私の提案は、許可されたKerberos暗号化タイプがすべてのDCで同じように構成されていることを確認し、すべてのドメインコントローラーでKerberosサービスチケットの成功の監査を有効にして、RC4を使用しようとしているアプリケーションを確認することです。暗号化タイプが0x17のEventId 4769に表示されます。これが表示された場合は、RC4が使用されています。 AESが機能するためには、関連するすべてのユーザーアカウント、コンピューターアカウント、および各サーバー(DCを含む)のKerberosポリシーが正しく構成されていることを確認する必要があります。

1
twconnell

最初にSPNを確認して、「SetSPN -L <ExchangeServerName>”コマンドを使用して、SPN構成を確認します。含まれている必要があります:

SMTP/<ExchangeServerName>

SMTP/<ExchangeServerName>.example.com

SMTPSVC/<ExchangeServerName>

SMTPSVC/<ExchangeServerName>.example.com

一部が見逃した場合は、「setspn -a <data>" たす。

次に、クライアント側で、CMDで「klistチケット」を実行してチケットタイプを確認します。通常は「AES-256-CTS-xxx」です。

チケットタイプに関する関連ブログを次に示します。 https://blogs.msdn.Microsoft.com/openspecification/2011/05/30/windows-configurations-for-kerberos-supported-encryption-type/

さらに、私の調査によれば、Windows Server 2016以降、KDCはPKInitの鮮度拡張をサポートできます。たぶん、この点を確認することもできます。

2
Shaw