RDPを壊さずにTLS 1.0を無効にするにはどうすればよいですか?


48

クレジットカードプロセッサは最近、2016年6月30日現在、PCI準拠を維持するためにTLS 1.0を無効にする必要があることを通知しました。Windows Server 2008 R2マシンでTLS 1.0を無効にすることで予防的にしようとしましたが、リブート直後にリモートデスクトッププロトコル(RDP)を介して完全に接続できなかったことがわかりました。調査の結果、RDPはTLS 1.0のみをサポートしているようです(こちらまたはこちらをご覧ください)。少なくとも、RDP over TLS 1.1またはTLS 1.2を有効にする方法は明確ではありません。RDPを壊さずにWindows Server 2008 R2でTLS 1.0を無効にする方法を知っている人はいますか?MicrosoftはRDP over TLS 1.1またはTLS 1.2のサポートを計画していますか?

注:RDPセキュリティレイヤーを使用するようにサーバーを構成することでそれを行う方法があるように見えますが、ネットワークレベル認証無効にします

更新1:マイクロソフトは現在、この問題に対処しています。関連するサーバーの更新については、以下回答を参照してください。

更新2:Microsoftは、PCI DSS 3.1のSQL Serverサポートに関するチュートリアルをリリースしました。


皆に謝罪-私が投稿した指示はWin8 / Server2012 / 2012R2に対してのみ有効です... 2008R2 / Win7では機能しません。2008R2をテストしましたが、同じではありません。申し訳ありません。
ライアンリース

また、2012でopが言及しているように、TLS 1.0を削除すると、RDPはRDPセキュリティレイヤーに強制的にダウングレードされることに注意してください。
ジムB

同じことをしましたが、サーバー(AWS)にアクセスできませんが、物理的なアクセスなしでアクセスする方法を見つけられましたか?
トーマスペイン

1
このサポート記事によると、Microsoftは最近、TLS 1.1および1.2 support.microsoft.com/en-us/kb/3052404で
です-CarlR

1
@CarlRの記事では、サーバーへのRDPについて特に言及していないようです。実際、「この更新プログラムは、トランスポート層セキュリティ(TLS)プロトコルバージョン1.2 のサポートをSQL Server 2014およびSQL Server用Microsoft ODBCドライバーに追加します」と述べているように、データベース接続自体に固有のようです。
k1DBLITZ

回答:


19

マイクロソフトはこの問題のパッチを2015年9月15日にリリースしました

https://support.microsoft.com/en-us/kb/3080079を参照してください


どうもありがとう。この更新プログラムをインストールした後、tsconfig.msc画面にはTLS 1.1またはTLS 1.2の兆候が表示されません。誰かがRDP over TLS 1.2を使用してサーバーに接続していることを確認できましたか?サーバーで初期のTLSプロトコルを無効にすることで確認できることを知っています。ただし、動作しない場合は、RDPを使用してサーバーにリモート接続することはできません。
-Nirlep

「ネゴシエート」オプションを選択すると、可能な限り最高レベルの通信が行われる可能性があります
。TLS1.2

1
schannelロギングを有効にして、使用されているバージョンを確認できます。これを行う方法のリンクは私の答えに示されています。
CarlR

私はそれが古いスレッドであることを知っていますが... ...私は嗅ぎタバコを育てている古いWindows Server 2008 R2を持っています。KB3080079をインストールし、TLS 1.0を無効にします。しかし、RDPサーバーの設定が「ネゴシエート」に設定されるべきか「TLS」に設定されるべきかはわかりません。
クリスハリントン

15

TLS 1.0を無効にする必要があるPCI-DSS 3.1に準拠する必要があるので、私はこれを数日間検討しています。

また、主要なセキュリティ上の懸念事項であるRDPセキュリティレイヤーにフォールバックしたくありません。

最終的に、TLS 1.1およびTLS 1.2がRDPでサポートされていることを確認するドキュメントを見つけることができました。このドキュメントは、SChannelロギングRDPの非常に詳細な仕様に隠されています。

Technetやその他のMicrosoftサイトにはメインストリームのドキュメントが完全に欠けているので、ここでドキュメント化することで一部の人に役立つと思われます。

提供されるリンクからの関連する抜粋:

MSDNリンクから:

"RDP supports four External Security Protocols: TLS 1.0 ([RFC2246]) TLS 1.1 ([RFC4346])<39>, TLS 1.2 ([RFC5246])<40>"

RDP仕様PDFから:

"When Enhanced RDP Security is used, RDP traffic is no longer protected by using the techniques
described in section 5.3. Instead, all security operations (such as encryption and decryption, data
integrity checks, and Server Authentication) are implemented by one of the following External
Security Protocols:
TLS 1.0 (see [RFC2246])
TLS 1.1 (see [RFC4346])
TLS 1.2 (see [RFC5246])
CredSSP (see [MS-CSSP])"

"<39> Section 5.4.5: TLS 1.1 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista and Windows Server 2008.
<40> Section 5.4.5:  TLS 1.2 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista, and Windows Server 2008"

したがって、このドキュメントに従って、Windows Server 2008 R2でTLS 1.1または1.2を使用できると結論付けられます。

ただし、TLS 1.0が無効であり、RDPセキュリティオプションがTLS 1.0を要求するように設定されている場合、Windows 7 RDPクライアント(バージョン6.3.9600)からはこれが機能しないことがテストにより証明されています。

これはもちろん、2008R2ではデフォルトでオフになっているTLS 1.1および1.2を有効にすることです-偶然にも、Nartac Softwareの非常に便利なIIS Crypto Toolを使用してこれを行います

この問題を見るときは、SChannelのログを有効にして、セッションが開かれたときに何が起こっているかの詳細を確認すると便利です。

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLoggingキーを5に変更して再起動することにより、SChannelのログを設定できます。

これが完了すると、RDP接続が行われたときに使用されているTLSバージョンを示すSChannelイベントを観察できます。ロギングを有効にすると、RDPクライアントがTLS 1.0を無効にしてWindows 2008 R2で接続を確立しようとしたときに、SChannelエラーを観察できます。

A fatal error occurred while creating an SSL server credential. The internal error state is 10013.

また、Windows Server 2012および2012 R2でTLS 1.0を無効にすることもテストしました。これは、Windows 7 RDPクライアントを使用して完全に機能することを確認できます。SChannelログエントリは、TLS 1.2が使用されていることを示しています。

An SSL server handshake completed successfully. The negotiated cryptographic parameters are as follows.

   Protocol: TLS 1.2
   CipherSuite: 0xC028
   Exchange strength: 256

これが説明を求めている人に役立つことを願っています。

Windows Server 2008 R2でTLS 1.1およびTLS 1.2を介してRDPがどのように機能するかを引き続き調べます。

更新日:2015年8月5日

Server 2008 R2でRDPが動作しないという問題を、マイクロソフトのサポートで再現手順を含めて提起しました。

数週間前から後まで、サポートチームから本日電話を受け取り、実際にそれを再現できることを確認し、バグとして分類されました。更新パッチがリリースされます。これは2015年10月に予定されています。KBの記事またはその他の詳細があり次第、この投稿に追加します。

願わくば、Windows Server 2008 R2にこだわったユーザーが、パッチがリリースされた2016年6月の期限までに少なくともこの問題を解決できることを願っています。

更新:2015年9月19日

マイクロソフトはついにこの問題に関するKBサポート記事をここにリリースしましたが、問題なく動作することを確認できます。


最後の更新では、「windows 7およびwindows 2012 r2を試しましたが、動作しません。まだTLS1を使用して接続します。」これを機能させることができましたか?
ダグS

他の誰かがそのコメントを入れましたが、TLS1.2上で私たちにとってうまく機能するので、私はそれを削除しました。
CarlR

うーん。これらの変更や更新、その他すべてのことを見つけても、私はそれを機能させることができませんでした。
ダグS

SChannelログはシステムログにあります。
イヴァンチャウ

8

文書が推奨するように、代わりにIPsecを使用します。「最初に強力に暗号化されたセッション(IPsecトンネルなど)をセットアップし、次に安全なトンネル内でSSLを介してデータを送信します」

RDP用のTLSの構成でこれを行う主な理由は、ファイアウォールポリシーがコンプライアンスについて簡単に監査され(多くのレジストリの変更が準拠していることを証明する)、IPsecはWindowsで非常に簡単に構成できるためです。

スイートBに完全に準拠する必要がある場合は、適切な証明書の長さに適用する唯一の方法はIPSECでIPSECを使用することです


SSH経由のトンネリングも、私が言及するオプションです。(もちろん、Windows用のSSHサーバーソフトウェアが必要です。)
クリスW.レア

IPsecはSSHではない
ジムB

3
正しい、そして、私はそれらが同じであることを意味するつもりはなかった。むしろ、SSHはサーバーへの安全なトンネルを確立するための代替方法です。
クリスW.レア

@JimBごめんなさい、あなたは正しかった。
ライアンリース

1
@RyanRies Np、私はまだ他の12人がそれが機能することを知らずにそれを投票する方法を考えています。
ジムB

8

これは質問に対する答えではなく、サブ質問「物理アクセスなしでTLS 1.0を無効にした仮想マシンへのリモートアクセスを復元するにはどうすればよいですか?」に対する答えです。

IISCryptoを使用してTLS 1.0を無効にしました。これにより、RDPがTLSに設定されている場合にRDPが動作しなくなるという副作用について有用な警告が表示されました。だから私はチェックインしました:

Admin Tools\Remote Desktop Services\Remote Desktop Session Host Configuration, RDP-Tcp, General Tab, Security Layer

そして、私のセキュリティレベルは「ネゴシエート」に設定されました。これは、TLSが使用できない場合、RDPセキュリティに適切に低下することを意味すると想定しました。

しかし、いいえ、Negotiateはそのようには機能しません。TLS 1.0を無効にする前に、セキュリティレベルをNegociateではなくRDP Securityに設定する必要があります。

そのため、AWSインスタンスにリモート接続する機能を失いました!

再接続するために、別のAWSインスタンスを使用しました。

  1. SecurityGroupを更新して、そのマシンから「失われた」マシンへのファイアウォール接続を許可しました。
  2. 管理者ユーザーとパスワードを使用して、DOSで管理ネットワーク共有を開きました。

net use \\lost_machine_ip\c$

  1. 次に、Regeditを開き、[ファイル]メニューで[ネットワークレジストリに接続]を選択し、「失われた」サーバーのIPを入力します。リモートサーバーレジストリが表示されます。に行く:

\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\

SecurityLayerを0に設定します(0はRDPセキュリティです)。

その後、リモート接続し、必要に応じてIISCryptoでTLS 1.0を再度有効にすることができます。


おかげで、サーバーを再作成する手間が省けました。マシン間の接続を許可するためにセキュリティグループをどのように変更したかわからない--- "失われた"マシンへのすべてのアクセスを2番目のマシンのIPアドレスにオープンし、それが機能した。もっと良い方法はありますか?
ガルバード

@Gullbyrdのいずれか、または両方のマシンが属するセキュリティグループにALL TCPを設定します。同じことをします。
デイブビール

3

Windows 7コンピューターとWindows Server 2008 R2サーバーにRDP 8.0をインストールしてから、ローカルコンピューターポリシーまたはグループポリシーでRDP 8.0を有効にする必要があります。

RDP 8.0のMicrosoft KBは次のとおりです。 https://support.microsoft.com/en-us/kb/2592687

これが完了すると、このtechnetの記事の指示に従ってレジストリを編集することにより、コンピューターとサーバーでTLS 1.0を無効にできるようになります。 https://technet.microsoft.com/en-us/library/dn786418.aspx

RDP 8.0をインストールした後、RDP 8.1もインストールできますが、RDP 8.1をインストールする前にRDP 8.0をインストールする必要があります。RDP 8.0にはクライアント側とサーバー側の両方のプロトコルコンポーネントが含まれていますが、RDP 8.1にはクライアントのみが含まれています。RDP 8.1のMicrosoft KBはKB2830477です。

Windows 7ワークステーションの1つでこれらの変更を行い、「リモート(RDP)接続に特定のセキュリティレイヤーの使用が必要」グループポリシー設定を有効にし、「SSL(TLS 1.0)」に設定してRDP接続をテストしました。 RDP暗号化にフォールバックしません。

更新日2015年6月19日:

Windows Server 2008 R2サーバーの1つでこれをテストする機会がようやく得られ、サーバーへのRDP接続が確実に切断されます。RDP 8.0サーバー側コンポーネントはWindows 7コンピューターにのみインストールされ、Windows Server 2008 R2サーバーにはインストールされないようです。


参照されているサポートナレッジベースの記事は現在機能していません(リダイレクトループ)が、Googleキャッシュバージョンを使用してコンテンツを表示できます。興味深いことに、この記事にはまだTLS 1.1またはTLSサポートの記述がまったくないのに、だれもがこの質問を見る主な理由だと思います!また、リモート管理停止ユーザーグループに特に追加されない限り、ローカル管理者がログインできなくなるなど、多数の警告があります。これを試している場合は注意してください。
CarlR

2008サーバーに接続しようとしたときに、サーバーのUDPポート3389を開きましたか?
エルバー

サーバー2008 R2サーバー上でWindowsファイアウォールを一時的に完全に無効にするようになりましたが、サーバー上でTLS 1.0を無効にしたRDPを使用して接続できませんでした。
ケニーR

3

サーバー2012 R2でRemoteAppを中断せずにTLS 1.0を無効にする方法に投稿されていますが、そのリンクを監視していない可能性があるユーザーのためにここに再投稿します

ほぼ1年後、RDPとリモートデスクトップサービスの接続を切断せずにRemoteAppを起動することなく、TLS 1.0 / 1.1を無効にするための実用的なソリューションを見つけました。

IISCryptoを実行し、TLS 1.0、TLS 1.1、およびすべての不正な暗号を無効にします。

ゲートウェイロールを実行しているリモートデスクトップサービスサーバーで、ローカルセキュリティポリシーを開き、セキュリティオプション-システム暗号化:暗号化、ハッシュ、および署名にFIPS準拠のアルゴリズムを使用します。セキュリティ設定を有効に変更します。変更を有効にするために再起動します。

場合によっては(特にServer 2012 R2で自己署名証明書を使用する場合)、セキュリティポリシーオプションの[ネットワークセキュリティ:LAN Manager認証レベル]を[NTLMv2応答のみ送信]に設定する必要がある場合があります。


2

他の誰かがそれについての情報を探しているなら、これに関する単なる更新です。Windows 7 64ビットボックスの場合、KB2574819(最初)とKB2592687(2番目)をインストールする必要がありました。Windows7では、これら2つのpkgをインストールする前にSP1をインストールする必要があります。私と同じようにSP1のインストールに問題がある場合は、まずKB958830をアンインストールしてからSP1をインストールする必要がありました。

Windows Server 2008 R2ボックスの場合、KB3080079をインストールする必要がありました。これを行い、安全な通信のためのすべての適切な設定を行うと、TLS 1.2を使用します。Wiresharkを使用して2つのボックス間の通信のキャプチャを実行することで確認できます。



0

既存の回答でカバーされていない一つの場合:ゲートウェイにも適用した後に、TLS 1.0をサポートしていない場合はRDPゲートウェイを介して接続しているWindows 7のクライアントがまだゲートウェイに接続する際にTLS 1.0を使用すると失敗しますKB3080079をこのTechNetのフォーラムのスレッドで観察されるように

RDPゲートウェイを介した接続にTLS 1.2を使用するには、KB3140245がインストールされていることを確認し、次のレジストリキーを追加します(.regインポートする拡張子を持つファイルに保存します)。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

KB3140245で文書化されているように、これはWINHTTP_OPTION_SECURE_PROTOCOLSデフォルトでTLS 1.2(およびTLS 1.2のみ)を使用するようにオーバーライドします。そのため、RDPクライアントだけでなく、それ以外にも影響することに注意してください。

(注:下位互換性が必要な場合は、TLS 1.1および1.0にdword:00000800変更するdword:00000A00dword:00000A80、それぞれを含めることができます)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.