ネットワークの外部からアクセスできるようにリモートデスクトップサーバー(ターミナルサービス)を公開する必要があると考えています。現時点では、ネットワーク内からのみアクセスできます。
ファイアウォールを開いてポートを転送するのは簡単です。
しかし、マシン自体をどのように保護するのですか?これに関するベストプラクティスは何ですか?私の懸念は、ハッカーがそれに侵入することに取り組むことができることです。
ベストプラクティスのガイドライン/推奨事項があれば、大歓迎です。
編集:
私が見つけた製品に関する質問:
IP、MACアドレス、コンピューター名などで受信RDP接続をフィルター
誰でもこれのセキュリティについてコメントできますか?マシン名/ Macでアクセスを制限するためにも使用できるように見えますか?他の誰かがそれを使用しましたか?
これはあなたが望んでいることよりも多いかもしれませんが、VPNを使用していないリモートユーザーに対してRDPを使用する方法を次に示します。
最近、Windows 2008の役割であるリモートデスクトップサービスでRDゲートウェイマネージャーの使用を開始しました。TMGサーバーを経由してユーザーのコンピューターに直接接続するようにセットアップしました。上記のようにNLAを使用します。接続するユーザーは、正しいADグループのメンバーである必要があり、アクセスを許可するには、正しいローカルグループのメンバーである必要があります。セットアップ方法に応じて、基本的にmstscを開いてRDゲートウェイのプロキシ設定を入力するWebページを介して接続するか、マシンを開くたびにアクセスしようとするようにマシンの設定を手動で設定できますそのプロキシを介して。これまでのところ、それは非常にうまく機能しており、安全であるようです。
最近の履歴 が示しているように、プロトコルを公開することには固有のリスクがあります。ただし、システムを保護するために実行できる手順がいくつかあります。
Administrator
アカウントなどの「特別な」アカウント、または理想的には他の高特権アカウントを許可しないでください。リモートデスクトップゲートウェイサービスの使用を強くお勧めします。これにより、誰がどこから何に接続できるかについてのポリシーを適用できます。ロギングに適した場所を提供するため、ファーム内の個々のサーバーのイベントログを調べなくても、誰がログインしようとしているかを確認できます。
まだ行っていない場合は、アカウントロックアウトポリシーがかなり強力に設定されていることを確認してください。 NLAとゲートウェイを備えたRDPでも、強引にパスワードを強制する試みを人々に提供します。強力なロックアウトポリシーは、ブルートフォース攻撃の成功を非常に困難にします。
システムに有効なSSL証明書をセットアップして、誰かが何らかのMITM攻撃を実行しようとしている場合にクライアントがエンドユーザーに通知するようにします。
これはあまり安全ではありませんが、セキュリティを強化する方法はいくつかあります。
そのサーバーからのインターネットアクセスを禁止します。より深刻なマルウェアの多くは、システムが危険にさらされると、コマンドアンドコントロールサーバーに通信しようとします。ファイアウォールアクセスルールを構成して、デフォルトで送信アクセスを禁止し、内部/既知のネットワークとRFC 1928サブネットへの送信アクセスのみを許可するルールを設定すると、リスクを軽減できます。
スマートカードまたは他の種類の2要素認証を使用します。これは一般に高価であり、大規模な組織で主に見られますが、オプションは改善されています(PhoneFactorが思い浮かびます)。スマートカードの要求は、アカウントレベルで構成するオプションとして、サーバーごとに実行できることに注意してください。
境界ネットワークを構成し、リモートデスクトップサーバーを境界に配置し、安価なVPNを使用してアクセスを提供します。例はハマチでしょう。境界ネットワークからのインターネットアクセスを禁止することも良い方法であることに注意してください。
可能であれば、完全なデスクトップを提供せずに、必要なアプリケーションを公開してください。誰かが単一のアプリケーションにのみアクセスする必要がある場合は、「初期プログラム」を構成することもできます。これは、アプリケーションが閉じるときにログオフを強制できる単純なラッパーシェルである場合があります。
私は以下の対策を提案します:
オプション
Bitvise SSHは、Windowsに適した無料のSSHです。
私は、クライアントからインターネットゲートウェイの境界までの安価なSSL VPNターミネーションを、通常の使用以外の目的(商用の信頼性など)で使用します。
RDPのセキュリティ保護に関する上記の投稿も良い方法であり、コンピューターをフリーローダーと共有したくない場合は常に実行する必要があります。
私はこれらにsshポート転送を使用しており、ユーザーレベルの公開鍵ベースの認証のみを許可しています。すべてのユーザーの秘密鍵も暗号化する必要があります。 WindowsではPuTTYがこれをうまく行い、ページェントはユーザーがキーを簡単にロードできるようにします。デフォルトでsshがインストールされているLinux/BSDサーバーを実行していない場合は、CygwinでOpenSSHを使用してこれを行うことができます。
SSHでポート転送を許可すると、基本的には必要なユーザーに対して内部サーバー/ポートが開かれるため、ローカルファイアウォールを備えた専用のリモートシェルサーバーで、リモート処理を許可しないものをブロックすることをお勧めします。
本当にベストプラクティスではありませんが、いくつかのランダムな考え: