リモートデスクトップをインターネットに直接公開する

リモートデスクトップをインターネットに直接公開する

ルーターの背後に Windows 10 を実行する小さなサーバーがあります。ルーターの設定を変更することで、インターネットに直接リモート デスクトップを設定し、必要なポートを公開するのは非常に簡単です。

質問:それに関連してセキュリティ上の問題に注意する必要がありますか?私のサーバーは少なくとも有効なユーザー名とパスワードの組み合わせを知っている人なら誰でもアクセスできます。

MSはただ言う

PC にアクセスできるユーザーを制限する場合は、ネットワーク レベル認証 (NLA) のみでアクセスを許可するように選択します。このオプションを有効にすると、ユーザーは PC に接続する前にネットワークに対して認証を受ける必要があります。NLA を使用してリモート デスクトップを実行しているコンピューターからの接続のみを許可すると、より安全な認証方法となり、悪意のあるユーザーやソフトウェアからコンピューターを保護することができます。NLA とリモート デスクトップの詳細については、「RDS 接続用に NLA を構成する」を参照してください。

答え1

真剣なネットワーク管理者は、RDP サーバーをインターネットに直接公開することはありません。

そこに穴やバックドアがあると、システムの一部(つまり、変曲点やジャンプ ボックス)が「ゲーム オーバー」になるだけでなく、DoS 攻撃や LAN 上のデスクトップのフィンガープリンティングの機会となり、不要な情報が漏洩することになります。

RDPサーバーとクライアントによっては、MITM(中間者)攻撃を行うことも可能かもしれません。これには、プロトコルのダウングレードを強制したり、安全でない暗号化に頼ったりするなど、さまざまな方法があります。https://labs.portcullis.co.uk/blog/ssl-man-in-the-middle-attacks-on-rdp/面白い。

賢明なオペレーターであれば、VPN を設定し、その上でのみリモート RDP アクセスを許可して、セキュリティ、アクセス管理、監査、制御の別のレイヤーを提供することもできます。

答え2

Microsoftのリモートデスクトップは暗号化を使用しているため、コミュニケーションしたがって、十分に保護されています。弱点は、ユーザー名とパスワードに対するブルートフォース攻撃です。

ハッカーが弱点を探してインターネットを継続的にスキャンしていること、および現在知られている(および未知の)エクスプロイトの数を考慮すると、できる限り多くの保護を設定する方がはるかに効果的です(ただし、アクセスを過度に複雑にするほどではありません)。

RDP をセキュリティ保護するには、次の操作を実行します。

  1. リモート デスクトップがリッスンする既定のポートを変更する

  2. 強力な資格
    デフォルト以外のユーザー名と長くて複雑なパスワードを使用する

  3. 制限されたユーザーアカウント
    RDPを使用できるユーザーを厳しく制限するには、 secpol.msc以下を実行して移動します。 ローカル ポリシー > ユーザー権利の割り当て「リモート デスクトップ サービスを使ったログオンを許可する」をダブルクリックし、表示されているすべてのグループを削除してから、ユーザーを 1 人追加します。

  4. 高いセキュリティレベル
    実行しgpedit.msc て移動 ローカル コンピュータ ポリシー > 管理用テンプレート > Windows コンポーネント > リモート デスクトップ サービス > リモート デスクトップ セッション ホスト > セキュリティそして設定します:

    • 「クライアント接続の暗号化レベルを設定する」 -> 有効かつ高レベルに設定すると、セッションは 128 ビット暗号化で保護されます。
    • 「リモート (RDP) 接続には特定のセキュリティ レイヤーの使用が必要」 -> SSL
    • 「ネットワークレベル認証を使用してリモート接続にユーザー認証を要求する」 -> 有効
  5. アカウントロックアウトポリシーを設定する
    間違った推測が一定回数続いた後にアカウントを一定期間ロックするには、管理ツール > ローカル セキュリティ ポリシー > アカウント ポリシー > アカウント ロックアウト ポリシー、3 つのオプションすべてに値を設定します (無効な試行が 3 回でロックアウト期間が 3 分が妥当です)。

  6. PCへのログインを追跡する
    定期的にイベントビューアーにアクセスし、 アプリケーションとサービス ログ > Microsoft > Windows > TerminalServices-LocalSessionManger > Operational、ログイン情報を表示します。

  7. UACレベルを高く保つ

  8. VPNサーバーを作成する
    VPNサーバーを設置することもできます(リンク) により、セキュリティがさらに強化されます。

上記のすべてのポイントを実装している投稿者と当社の Web サイトで連絡を取ったことがありますが、これで十分な保護が実現しているようです。これらの予防措置をすべて実装すると、ブルート フォース攻撃は基本的に不可能になるため、残る脅威はエクスプロイトだけです。ただし、VPN ログインや RDP ログインでエクスプロイトが発見されたことは一度もないため、この設定は十分に安全であると考えられます。

答え3

遅れて申し訳ありませんが、あなたや他の人の将来の参考のために、関連する問題に関する私の経験が参考になるかもしれないと思い、単に「興味深い」とだけ言っておきましょう。

しばらく前に Linux サーバーに OpenVPN をセットアップしました。Linux には IPTables (すばらしいネットワーク ソフトウェアです) を使用した優れたログ機能があります。証明書を送信できるように SSH ポートを開きました。

その夜、ログを確認したところ、外部の攻撃者がルーターでそのポートを公開してから数秒以内にブルートフォース攻撃を開始したことが分かりました。攻撃者は、3 回の試行失敗でアカウントがロックアウトされる可能性があることを知っていたため、ボット ファームは同じパスワードを使用し、アカウント名をローテーションして、システムが同じアカウント名での複数の試行失敗を認識できないようにしていました。その後、IPTables が同じ IP アドレスからの試行失敗をブロックできることに気付いたため、同じ IP アドレスからの試行は 6 回程度しか行わず、その後別のコンピューターに切り替えました。

私がボット ファームと言うのは、1 週間を通して (その後すぐに SSH をロックアウトしましたが、ポートは開いたままにして監視できるようにしました。非常に興味をそそられました)、ソースの IP の数は毎日数秒ごと、毎分ごと、毎時間ごとに繰り返されることがなかったからです。6 回の試行で、同じアルファベット順のアカウント名のリストから新しい IP アドレスが引き続き表示されました。

VPN を設定してください。アカウント名ではなく証明書を使用してください。また、パスワードを作成するための優れたシステムがある場合でも、RDP のようなものを数時間以上公開しないでください。絶対にしないでください。(ちなみに、私のアカウント名は彼のリストに載っていて、正しいパスワードにたどり着くのを待っていました。)

答え4

RDP をインターネットに公開することは一般的に推奨されないことに同意します。しかし、ファイアウォールを設定して、既知のリモート静的 IP アドレスからの RDP 接続のみを許可するようにした後、ジャンプ ボックスにアクセスするためにこれを数回実行しました。これにより、ブルートフォース攻撃や脆弱性の悪用を防止できます。中間者攻撃の可能性はありますが、NLA はそれを防止できないでしょうか。

SSH でも同様のことを行います。

関連情報