私の会社のセキュリティリードエンジニアとある種の対立があります。 Remote Desktop Protocol(RDP) は十分に安全ではなく、代わりに TeamViewer を使用する必要があると彼は言います。 RDPを使用して、企業ネットワーク内のローカルリソースにアクセスするだけでなく、クラウドホスティングでリソース(Windows 2012+を実行している)にアクセスします。
どちらのシナリオでも、RDPを使用するのはどの程度安全ですか?
TeamviewerはトンネリングされたVNC接続のプロキシサービスだと思います。したがって、そのサービスに関する最初のセキュリティの考慮事項は、設計によってMITMされていることです。サービスが 数か月前に侵害された であったという提案がありました。
(VNCは暗号化を使用していますが、デフォルトでは交換全体がカプセル化されているわけではありませんが、SSL/ssh/VPNトンネルを設定するのは簡単です)。
次の考慮事項は、システムにサードパーティソフトウェアをインストールすることです。ただし、Microsoftプラットフォームを実行している場合は、パッチ管理ソフトウェアの対象外となる複数のベンダーのソフトウェアをすでに実行しています。ソフトウェアを最新の状態に保つことは、システムを保護する最も効果的な方法の1つです。
RDP接続がSSLを使用している限り、少なくともTeamviewerやIMHOと同じくらい安全でなければなりません。
編集:コメントによると、私の懸念を軽減する可能性があるTeamViewerのエンタープライズ版の構成オプションの組み合わせがあるようです。私はそれらを使用したことがないので、それらとそれらがどれほどうまく機能するかについての評価を与えることはできません。コメントによると、それはバグのあるソリューションである可能性があります。
私はサーバー管理者(WindowsおよびLinux)であり、次の理由により、サーバーにTeamViewerをインストールする試みをブロックします。
私には、赤旗が多すぎます。
私たちのサーバーは隔離されたサブネット内にあり、ファイアウォール/スイッチでは事前構成されたポートのみが許可され、ユーザーはユーザー名/パスワードを使用してこのサブネットへのVPNで接続できます。 defence-in-depthアプローチに従います。特定のグループのみがユーザーとVPNに接続する特権を取得します。 VPN内では、RDPまたはSSHを使用できます。 RDPにセキュリティの脆弱性がある場合、攻撃者はまずVPNまたはLANにアクセスする必要があります。これは、彼らが私たちのITスタッフ(企業がある程度信頼する必要がある)、VPNまたは物理的アクセスへのアクセス、またはサーバーの1つをハッキングすることを意味します。物理的なアクセスとは、データセンターに侵入することを意味します。これが発生した場合、より大きな心配があります。 ITスタッフが郵送する場合も同様です。サーバーの1つに違反した場合、アカウントがロックダウンされるため、攻撃には特権昇格の脆弱性も必要になります。 VPNアクセスの場合、彼はVPNの脆弱性を必要とするか、VPN特権を持つ誰かのアカウントを取得します。
そして、これらすべては、RDPの脆弱性がある場合のみです。ほとんどの場合、高度な持続的脅威( [〜#〜] apt [〜#〜] )として分類されている攻撃者のみが、高度な手法を使用して、持続的な攻撃で特定のシステムを標的とする人物を指します。 RDPには -day Exploit があり、そのような攻撃者が他のソフトウェアでより簡単な方法/脆弱性を使用できる可能性が高くなります。
他の優れた回答に加えて、TeamViewerはリモートセッションを容易にするために画面のロックを解除する必要があるため、物理的なセキュリティが低くなります。
つまり、リモートで管理されているセッションのキーボードとモニターを通り過ぎて歩く人は誰でもそれを観察でき、リモートユーザーが注意を払っていなければセッションを引き継ぐ可能性があります。
注:ディスプレイドライバーのインストール後に 画面をブランクにすることが可能 と表示されますが、これは機会の窓を残して各接続で実行する必要があります。
また、Windowsロック画面のセキュリティではなく、TeamViewer画面の空白のセキュリティを信頼するようになりました。問題がないことを確認してください。
まず、TeamViewerについては何も知りませんので、コメントはしません。
歴史的なRDPサーバーは「RDPセキュリティ」を使用していましたが、これは実際に壊れたプロトコルであり、MITMに対して脆弱です。しないでください。 2003r2でもRDPにTLSを実行できるため、RDPセキュリティの使用を強制する必要がある現代的な理由はありません。
最新のサーバーはTLSをサポートするため、RDPのセキュリティはTLSのセキュリティに直接関連しています。レジストリの微調整により、好きなTLSのサブセットを強制できます-1.2に強制し、特定の暗号スイートに制限します。
また、サーバーが「ネットワークレベル認証」をサポートする接続のみに接続を制限できるという点で、RDP固有の角度があります。 NLAは引き続きTLSを使用します。これは、交換の初期段階で認証を実行するためのプロトコル変更にすぎません。これは、認証されていないユーザーが認証なしで接続を繰り返し試行するサービス拒否攻撃から保護することを目的としています。
NLAを使用してRDP TLSセッションを復号化してトレースすると、次のようになります。
最新バージョンのRDPを使用していて、正しく構成している(たとえば、NLAを有効にし、適切な証明書を整理する)と想定すると、インターネットに直接公開する主なリスクは、ユーザー名/パスワード認証システムをインターネット。攻撃者がActive Directoryアカウントをブルートフォースで攻撃できるようにします(これがAD環境であり、スタンドアロンサーバーのセットではないと想定)。
これは、アカウントロックアウトが設定されたDoSリスクまたはアカウントロックアウトが設定されていない不正アクセスのリスク(誰かが常に弱いパスワードを選択するか、他の場所で侵害されるパスワードを使用する)になるため、すばらしいことではありません。はRDPを直接公開しています。このメカニズムを介してアクセスを許可されるユーザーには、2要素認証をお勧めします。
TeamViewerについては、直接アクセスのリスクはありませんが、組織として信頼しているため、最近セキュリティ上の懸念があった他の回答から指摘されています。
Daniel Bungert's に関連するプロトコルの説明と、それらが一緒に機能する理由を詳しく説明します。 RDP用のMitMプロキシを作成したので、関連するほとんどのプロトコルの内部動作に非常に精通しています。 (私がなりたいより...)
TLSでのみ動作するように構成できます。これはそれ自体で優れたセキュリティを提供し、すべてのメッセージはTLS暗号化でラップされます。許容できるTLS暗号化プロトコルを設定する管理可能なグループポリシーがあります。これを使用して、適合と見なすキー長またはアルゴリズムを持つもののみを指定できます。これらは一般的なウィンドウ設定であり、RDP固有ではありません。唯一の懸念は、ユーザーが不正な証明書を受け入れることです。その場合、MitM攻撃が可能です。
ただし、NLA認証でのみ動作するようにさらに構成できます。具体的には、これはNTLMでCredSSPを使用します。これは、TLSレイヤーで使用される証明書が(他のものとともに)パスワードの暗号化に使用されるため、MitMを防ぎます。暗号化されたパスワードを転送するだけではできなくなります。これは、ターゲットのrdpサービスが、独自の証明書で生成されたハッシュを認証しないためです。私のmitmが機能する理由は、プロキシへの接続に使用されているパスワードがわかっているため、情報を抽出して、ターゲットrdpサービスの新しいハッシュを生成できるためです。悪意のあるRDPプロキシにはその利点はありません。
したがって、TLSとNLAの両方が構成されていれば、rdpは、不正な証明書を受け入れる可能性のあるユーザーから安全です。これは Overmind's ミット攻撃に関する懸念に対抗します。
ユーザーのリモートコンピューターから職場のファイアウォールに何らかのVPNを使用して、暗号化されたリンク上でRDPを実行します。
ポートを開いたままにしておくことの問題は、最終的にポートが検出され、ブルートフォースログインが試行されることです。環境が遅くなるか、アカウントがロックアウトされるか、弱いパスワードのユーザー名が見つかります(常に1人のユーザーがいます...)。
スマートフォンアプリ、ハードウェアトークン、または印刷済みのワンタイムパスワードを使用して、2要素認証を探索できます。
セキュリティは利便性の逆です。
これはコメントから始まった。
「だれが責任を問われるか」を指摘することが重要です。サードパーティのサービスを使用していて、提供に失敗した場合は、提供に失敗したことになります。家の中で何かを使用して失敗した場合、それは家のせいです。そのような区別には大きな重みがあります。実際のセキュリティには何の意味もないかもしれませんが、それは時として副業的になる可能性があります。
たとえば、契約の認証を取得する必要があり、その認証が次のような影響を及ぼしているとします。
安全なリモート管理方法を使用する必要があります。暗号化されていないリモート管理方法は許可されていません。サービスを提供するために第三者と契約することが許可されています。暗号化は、fooの強度とバーの要件でなければなりません。これらの要件を満たす一般的なサービスは、LogMeInとTeamViewerです。これらの要件を満たさない一般的なサービスは、GoToMyPCとプレーンVNCです。
その後、Team Viewerを使用することを決定できます。
次に、ビジネスへのリスクがあります。安全であるはずの誠実にサービスを使用しているため、Teamviewerはリスクが少ないと主張できます。同時に、あなたのチームの知識が人々のランダムな理解に対抗するようになったので、RDPはよりリスクが高いかもしれません。
結局のところ、これは実際のセキュリティとは実際には何の関係もありませんが、企業はセキュリティを確保していないため、(通常は)お金を稼ぐことを覚えておくことが重要です。彼らはリスク軽減として、そして彼らはお金を稼ぎ続けなければならないのでそれをします。サードパーティのサービスを使用すると、会社のリスクの一部を取り除くことができます。
前述のとおり、可能であればRDP +暗号化を使用する必要があります。しかし、私は提供された回答の中で攻撃(ブルートまたはその他)に対する基本的なセキュリティ対策について言及していません。
[〜#〜] any [〜#〜]公開されたままになっているソフトウェア/ポートがスキャン/検出されます。限目。 RDPかどうか。暗号化かどうか。パブリックアクセスが必要ない場合、なぜそれを許可するのですか?
IPブロックに基づいて「許可」リストを作成および管理することは、時間がかかり、(多くのホストがアクセスする場合)面倒な場合がありますが、見落とさないでください。 1つのIPでも、数百の個別のネットワークIPでもかまいません。
あなたは「クラウド」ベースのサーバーについて言及しました。したがって、たとえばAWS/ec2では、EC2セキュリティグループを使用して、一部のIPまたは管理者ネットワークを許可し、残りを拒否する必要があります。ほとんどのプロバイダーには同様の方法があります。
ポイントは(提供された回答に加えて):RDPが私の選択ですが、完璧なものは何もありません。不要なネットワークをブロックしないと、さらに不完全になります。
RDPでMiTM攻撃を実行すると、RDPサーバーからRDPクライアントへのトラフィックとその逆のすべてのトラフィックがMiTMシステムを通過します。それが安全であると考えられていない理由です。
Teamviewerに関しては、サードパーティを信頼する必要がありますが、これは多くの人が望む選択肢ではありません。
最良のシナリオとして、独自の証明書ベースのVPNをセットアップする必要があります。