信頼できるSSL/TLS証明書を使用したRDP接続の保護
この記事では、信頼できるSSL / TLS証明書を使用して、ActiveDirectoryドメイン内のWindowsコンピューターまたはサーバーへのRDP接続を保護する方法を示します。デフォルトの自己署名RDP証明書の代わりに信頼できるSSL証明書を使用します(自己署名RDP証明書を使用すると、ユーザーはホストに接続するときに証明書が信頼されていないという警告を受け取ります)。この例では、認証局のカスタムRDP証明書テンプレートとグループポリシーを構成して、SSL/TLS証明書を自動的に発行してリモートデスクトップサービスにバインドします。
リモートデスクトップ接続(RDP)自己署名証明書の警告
デフォルトでは、RDPセッションを保護するために、Windowsは自己署名証明書を生成します。 mstsc.exeクライアントを使用したRDP/RDSホストへの最初の接続中に、ユーザーに次の警告が表示されます。
The remote computer could not be authenticated due to problems with its security certificate. It may be unsafe to proceed. Certificate error: The certificate is not from a trusted certifying authority.
続行してRDP接続を確立するには、ユーザーははいをクリックする必要があります 。 RDP証明書の警告が毎回表示されないようにするには、[このコンピューターへの接続を再度要求しない]オプションをオンにします。
この場合、RDP証明書のフィンガープリントは CertHashに保存されます クライアント上のRDP接続履歴を持つレジストリキーのパラメータ(HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers\
)。 RDPサーバーを検証できなかったという警告を非表示にした場合は、レジストリから証明書のフィンガープリントを削除して、設定をリセットします。
自己署名証明書を使用して接続を確立しますが、RDPセッションは安全であり、トラフィックは暗号化されています。
認証局(CA)でRDP証明書テンプレートを作成する
企業の認証局によって発行された信頼できるSSL/TLS証明書を使用して、RDP接続を保護してみましょう。この証明書を使用すると、ユーザーは接続時にRDPサーバーを認証できます。企業のMicrosoft認証局がすでにドメインに展開されているとします。この場合、ドメイン内のすべてのWindowsコンピューターとサーバーへの証明書の自動発行と接続を構成できます。
CA内のRDP/RDSホスト用に新しいタイプの証明書テンプレートを作成する必要があります。
- 認証局コンソールを実行し、[証明書テンプレート]セクションに移動します。
- コンピューター証明書テンプレートを複製します(証明書テンプレート->管理->コンピューター->複製);
- 一般 タブで、新しい証明書テンプレートの名前を指定します– RDPTemplate 。 テンプレート名の値を確認してください フィールドがテンプレートの表示名と一致します;
- 互換性 [タブ]で、ドメインで使用されているクライアントの最小バージョンを指定します(たとえば、CAの場合はWindows Server 2008 R2、クライアントの場合はWindows 7)。したがって、より強力な暗号化アルゴリズムが使用されます。
- 次に、拡張機能の[アプリケーションポリシー]セクションで タブで、証明書の使用範囲をリモートデスクトップ認証に制限します のみ(次のオブジェクト識別子を入力してください— 1.3.6.1.4.1.311.54.1.2 )。 [追加]->[新規]をクリックし、新しいポリシーを作成して選択します;
- 証明書テンプレート設定(アプリケーションポリシー拡張機能)で、リモートデスクトップ認証を除くすべてのポリシーを削除します;
- ドメインコントローラーでこのRDP証明書テンプレートを使用するには、セキュリティを開きます タブで、ドメインコントローラーを追加します グループ化して、登録を有効にします および自動登録 そのためのオプション;
- 証明書テンプレートを保存します;
- 次に、認証局mmcスナップインで、[証明書テンプレート]フォルダーをクリックし、[新規->]を選択します。 発行する証明書テンプレート-> 作成したテンプレートを選択します( RDPTemplate );
次に、構成されたテンプレートに従ってRDP証明書をコンピューター/サーバーに自動的に割り当てるようにドメインGPOを構成する必要があります。
すべてのドメインコンピュータが企業の認証局を信頼していると想定されます。つまり、ルート証明書はGPOを使用して信頼されたルート認証局に追加されています。- ドメイングループポリシー管理コンソール(gpmc.msc)を開き、新しいGPOオブジェクトを作成し、それをRDP / RDSサーバーまたはコンピューターを含むOUにリンクして、TLS証明書を自動的に発行してRDP接続を保護します。
- 次のGPOセクション[コンピューターの構成]->[ポリシー]->[管理用テンプレート]->[Windowsコンポーネント]->[リモートデスクトップサービス]->[リモートデスクトップセッションホスト]->[セキュリティ]に移動します。 サーバー認証証明書テンプレートを有効にします ポリシー。以前に作成したCAテンプレートの名前を指定します( RDPTemplate );
- 次に、同じGPOセクションで、リモート(RDP)接続に特定のセキュリティレイヤーの使用を要求するを有効にします。 ポリシーを設定し、値を SSLに設定します それのための;
- RDP証明書を自動的に更新するには、GPOの[コンピューターの構成]->[Windowsの設定]->[セキュリティの設定]->[公開鍵のポリシー]セクションに移動し、証明書サービスクライアント-自動登録のプロパティを有効にします。 ポリシー。 「期限切れの証明書を更新し、保留中の証明書を更新し、取り消された証明書を削除する」を確認します 」および「証明書テンプレートを使用する証明書を更新する 」オプション;
- クライアントが常にRDPサーバー証明書を検証するようにする場合は、クライアントの認証の構成=認証が失敗した場合に警告するを構成する必要があります。 ポリシー([コンピューターの構成]->[ポリシー]->[管理用テンプレート]->[Windowsコンポーネント]->[リモートデスクトップ設定]->[リモートデスクトップ接続クライアント]);
- 必要に応じて、ファイアウォールポリシーを使用して着信RDPポートTCP /UDP3389を開きます。
- 次に、クライアントコンピューターのグループポリシー設定を更新し、コンピューター証明書コンソール(
Certlm.msc
)を起動します。 )そして、CAによって発行されたリモートデスクトップ認証証明書が[個人]->[証明書]セクションに表示されていることを確認します。
新しいRDP証明書を適用するには、リモートデスクトップサービスを再起動します。
Get-Service TermService -ComputerName mun-dc01| Restart-Service –force –verbose
その後、RDPを使用してサーバーに接続する場合、証明書が信頼されていることを確認するリクエストは表示されません(リクエストを表示するには、FQDNではなくIPアドレスを使用して証明書が発行されたサーバーに接続します)。 表示をクリックします 証明書、詳細strong>に移動します タブをクリックして、指紋の値をコピーします フィールド。
発行された証明書 証明機関コンソールのセクションで、特定のWindowsサーバー/コンピューターに対してRDPTemplate証明書が発行されていることを確認できます。証明書も確認してください指紋 値:
次に、この指紋をリモートデスクトップサービスで使用される証明書の指紋と比較します。 RDS証明書の拇印の値は、レジストリ( HKLM:\ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations )で確認できます。 、 TemplateCertificate パラメータ)または次のPowerShellコマンドを使用します:
Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1Hash
次に、Windowsホストのリモートデスクトップに接続するときに、信頼できないRDP証明書の警告は表示されません。
CAを持っていないが、ユーザーがRDP / RDSホストに接続するときに警告を表示したくない場合は、ユーザーのコンピューター上の信頼できるホストに証明書を追加できます。
上記のように、RDP証明書のフィンガープリントの値を取得します。
Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1Hash
このフィンガープリントを使用して、 RDPSign.exeで.RDPファイルに署名します ツール:
rdpsign.exe /sha256 25A27B2947022CC11BAFF261234567DEB2ABC21 "C:\ps\mun-dc01.rdp"
次に、GPOを使用して、この拇印をユーザーコンピューターの信頼できる証明書に追加します。 信頼できる.rdp発行元を表す証明書のSHA1拇印を指定するで拇印(セミコロンで区切る)を指定します [コンピューターの構成]->[ポリシー]->[管理用テンプレート]->[Windowsコンポーネント]->[リモートデスクトップ設定]->[リモートデスクトップ接続クライアント]のポリシー。
パスワードを入力せずに透過的なRDPログオンを構成するには(RDPシングルサインオン)、委任のデフォルトの資格情報を許可するを構成します。 ポリシーを設定し、その中にRDP / RDSホスト名を指定します(その方法については、この記事を参照してください)。
-
OpenSSLを使用してLinuxでSSL証明書を生成する方法
SSL / TLS証明書を生成するプロセスは、多くのLinuxシステム管理者にとって一般的なタスクです。幸い、管理者でなくても、多くのLinuxディストリビューションにデフォルトでインストールされているオープンソースツールであるOpenSSLを使用して簡単に管理できます。ここでは、OpenSSLとは何か、それをインストールする方法、そして最も重要なこととして、OpenSSLを使用してシステムでSSLおよびTLS証明書を生成する方法について説明します。 OpenSSLとは何ですか? OpenSSLは、ネットワークトラフィックの暗号化のためのオープンソースSSLおよびTLS実装を提供するために
-
無料のSSL証明書は商用のものよりも優れていますか?
Web全体で暗号化の使用が増加しているため、人々はそれを信頼と関連付け始めています。もちろん、これは雪だるま式の効果を生み出し、より多くのWebサイトがSSL/TLS暗号化を採用するインセンティブを感じて遅れないようにしました。特にEコマースサイトは、顧客が暗号化なしでオンラインで取引を行うことを警戒しているため、プレッシャーを最初に感じたサイトの1つでした。 エンティティが所有するWebサイトに関して言えば、暗号化は、オンラインプロセスを保護するために使用される単なるアルゴリズム以上のものになります。これはより複雑な問題であり、認証局(CA)とさまざまなレベルの承認があります。現在、Let