
当社の Exchange サーバーは、しばらくの間、内部署名された証明書を使用して実行されていました。今日、信頼できる SSL 証明書 (ワイルドカード) を購入し、サーバーにインストールしました。
https://mail.example.no/owa
証明書は *.example.no に発行され、 Web ブラウザーからWeb インターフェイスにアクセスしてもセキュリティ例外は発生しません。
現在、Outlook を開くと、この証明書検証エラーが発生します。提供されている標準的な解決策をすべて試しましたが、そのほとんどは外部 URL を内部 URL として設定することでした。
- 内部 FQDN:
mx.example.local
- 外部FQDN:
mail.example.no
- エラーメッセージ: プロキシ サーバーのセキュリティ証明書に問題があります。セキュリティ証明書の名前が無効であるか、ターゲット サイト mx.example.local の名前と一致しません。Outlook はプロキシ サーバーに接続できません。(エラー コード 10)
私がしたこと:
Set-WebServicesVirtualDirectory –Identity ‘mx\EWS (Default Web Site)’ –ExternalUrl https://mail.example.no/ews/exchange.asmx
Set-WebServicesVirtualDirectory -Identity "mx\EWS (Default Web Site)" –InternalUrl https://mail.example.no/EWS/Exchange.asmx
Set-OABVirtualDirectory -Identity “mx\OAB (Default Web Site)” -InternalURL https://mail.example.no/OAB
Set-ActiveSyncVirtualDirectory -Identity “mx\Microsoft-Server-ActiveSync (Default Web Site)” -InternalURL https://mail.example.no/Microsoft-Server-Activesync
Set-ClientAccessServer -Identity mx -AutodiscoverServiceInternalUri https://mail.example.no/autodiscover/autodiscover.xml
結果:
[PS] C:\>Get-WebServicesVirtualDirectory | Select InternalUrl, BasicAuthentication, ExternalUrl, Identity | Format-List
InternalUrl : https://mail.example.no/ews/exchange.asmx
BasicAuthentication : True
ExternalUrl : https://mail.example.no/ews/exchange.asmx
Identity : mx\EWS (Default Web Site)
[PS] C:\>Get-OabVirtualDirectory | Select InternalUrl, ExternalUrl, Identity | Format-List
InternalUrl : https://mail.example.no/oab
ExternalUrl : https://mail.example.no/OAB
Identity : mx\OAB (Default Web Site)
[PS] C:\>Get-ActiveSyncVirtualDirectory | Select InternalUrl, ExternalUrl, Identity | Format-List
InternalUrl : https://mail.example.no/Microsoft-Server-ActiveSync
ExternalUrl : https://mail.example.no/Microsoft-Server-ActiveSync
Identity : mx\Microsoft-Server-ActiveSync (Default Web Site)
[PS] C:\>Get-ClientAccessServer | Select Fqdn, AutoDiscoverServiceInternalUri, Identity | Format-List
Fqdn : mx.example.local
AutoDiscoverServiceInternalUri : https://mail.example.no/autodiscover/autodiscover.xml
Identity : mx
その後私は
- IIS アプリケーション プール MSExchangeAutoDiscoverAppPool をリサイクルしました (それでもメッセージは消えなかったので...)
- メール サーバー全体を再起動しました (それでもメッセージは消えなかったので...)
- コントロール パネル -> メール -> 電子メール アカウントに移動し、自分のアカウントの修復を選択しました (この投稿をしていることから、これも効果がなかったことはご想像のとおりです)
- クライアント コンピュータの DNS をフラッシュしました (自動検出 URL が無視された場合)
- メールアカウントを再度修復しました
- アカウントを編集して、パブリック FQDN、mail.example.no をサーバーアドレスとして設定しようとしました
- 編集: アカウントを削除して再作成しようとしました。メール プロファイル全体、%AppData%\Local\Outlook、および %AppData%\Local\Outlook フォルダーを削除しました。それでも成功しません。
もうアイデアが尽きてしまいました... Web 上でアクセスしたすべてのサイトで、私が今行ったことと同じことを行うように提案されており、結果は私の結果と同じになると予想されます...
アップデート: ユーザーの 1 人が、ワークステーションから Outlook を使用してログインすることすらできません。アカウントは正常 (携帯電話のメールと Web クライアントは機能) ですが、Outlook はパスワード プロンプトを繰り返し表示し続け、オフライン モードを終了しません。
アップデート: Digicert の Web サイトで SSL チェックを実行し、証明書が正常にインストールされているかどうかを確認しました。サーバーはすべてのチェックに合格しましたが、SSL 3.0 プロトコルの使用についてのみ警告されました: プロトコル サポートは TLS 1.1、TLS 1.0、SSL 3.0 です。SSL 3.0 は、既知の脆弱性がある古いプロトコル バージョンです。
更新 150709:
免責事項:このアップデートによって実際の内部IPアドレスは損なわれていません
- DNSに新しい前方参照ゾーンを設定し、
mail.example.no
メールサーバーの仮想IPアドレス192.168.1.1を指す空白の(A)レコードを1つ追加しました。 - 192.168.1.in-adds.arpaの逆引き参照ゾーンに、mail.example.noを指す192.168.1.1という名前のe(PTR)レコードがあります。
- ダウンロード済みMicrosoft Exchange 向け DigiCert® 内部名ツール
- ツールを実行したところ、アドレスはほぼ正しかったのですが、OWAVirtualDirectory ECPVirtualDirectory はまだ mx.example.local を参照していたため、mail.example.no に変更しました。
nslookup出力は有望そうです:
D:\>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
D:\>nslookup mail.example.no
Server: dc1.example.local
Address: 192.168.1.2
Name: mail.example.no
Address: 192.168.1.1
D:\>nslookup 192.168.1.1
Server: dc.example.local
Address: 192.168.1.2
Name: mail.example.no
Address: 192.168.1.1
Outlook は.....
小さなテスト:
- アカウント設定 -> 詳細設定 -> 接続 -> Exchange プロキシ設定に移動しました。
- 接続URLを次のように変更しました
https://mail.example.no
- 許可されたプリンシパル名を
msstd:*.example.no
- Outlook を再起動しました。証明書エラーは表示されなくなりましたが、接続されていないことに気付きました...
- アカウント設定をもう一度、今回は自動修復を選択しました
- Outlookを再起動しました
- ここで、Exchange プロキシ設定に戻ると、内部 URL が戻っています...
答え1
サード パーティ発行者からの証明書は、IIS または Exchange 上に配置されているため、Outlook を使用する LAN ユーザーがアクセスしようとしているローカル自動検出と連携できるように、サブジェクト別名として内部 FQDN を持っている必要があります。
そうでない場合、ユーザーには「SSL 証明書名の不一致」というプロンプトが表示され、場合によってはパスワードを何度も入力するよう求められます。
答え2
私はまさにこの問題と戦っています。コメントするだけのポイントがありません。
しかし、気になるのは、EXCH Outlook プロバイダーの CertPrincipalName が設定されているかということです。
Get-OutlookProvider
ワイルドカード証明書では、通常、EXPR プロバイダーを設定する必要があります。ただし、RPC クライアントの場合は EXCH プロバイダーも設定する必要があるようです。
Set-OutlookProvider EXCH -CertPrincipalName msstd:*.domain.com