web-dev-qa-db-ja.com

RDPセッションを本番アプリまたはSQLサーバーに対して開いたままにしておくことのリスクは何ですか?

サポートおよびメンテナンス担当者が1日中本番アプリとSQLServerにログインしている場合もあれば、SQLのさまざまなクエリを実行するために出入りする場合もあります。ただし、この質問はSQLクエリの実行に関するものではなく、ユーザーアカウント(admin)が何時間もログインしている状態でRDP接続が開いていることに関するものです。ユーザーアカウントの1つを使用していることに加えて、この動作を思いとどまらせる場合、他にどのような問題を引用する必要がありますか?

2
MetaGuru

セキュリティ上の懸念があります

たとえば、被害者のサーバーへの任意のレベルのアクセスを取得した攻撃者は、MIMIKATZ攻撃を実行し、セッションがアクティブなときにメモリに残っているクリアテキストの資格情報を取得する可能性があります。まだ有効期限が切れていないアクティブなKerberosキーについても同じことができるでしょう。

また、一部のウイルス対策ソリューションは、セッションがDISCONNECTEDモードのときに更新を拒否します。

これらの2つの要素が思い浮かびましたが、もっとあると確信しています。

2
Eric

管理者としてのログインを許可しているので、セキュリティ上の懸念はないと思います。それ以外の問題は、信頼性だけです。そこにさえ、全体として、それに関しておそらく多くの問題はないでしょう。

再起動を防ぐ接続を開く限り、私は実際にそれを解決する新しい投稿を今日作成しました: サーバーがローカルでないときにサーバーを再起動するにはどうすればよいですか?

私にとっての大きな問題は、あなたが言ったように、彼らがあなたの限られた数の接続の1つを占有しているということです。次の段落で私が言うことをそうしないと仮定すると、問題が発生してセッションを制限したい場合は、ローカルコンピューターポリシーを確実に構成します。 gpedit.mscを開き、[コンピューターの構成]> [管理用テンプレート]> [Windowsコンポーネント]> [ターミナルサービス]> [セッション]に移動し、必要な時間制限を構成します。

セッションを上司に制限することを正当化する必要がある場合は、接続がないとサーバーを管理できないことを上司に伝えることができます。別の方法として、5つのターミナルサーバーライセンスを購入して、TSにすることもできます。私は実際に、クライアントの1つが持っているSQLサーバーに対してこれを実行しました。

1
KCotreau

いくつかの問題があります:

  1. 誰かが同じユーザー名でサーバーにログインすると、その人は開いているセッションを取得します。この人は、表示が許可されていないデータを表示する可能性があります。特に、クエリ結果のウィンドウがまだ開いている場合。
  2. このようにして、この開いているウィンドウ内で何が起こっているのか誰にもわかりません。 (たとえば、クエリが数時間実行されている場合。)他の誰かがサーバーにログインする必要があり、開いているセッションがない場合、その人は誰かを追い出します。そして、クエリが中止されるため、これによりデータベースが破損する可能性があります。
0

使用する必要のないサーバー上のリソースを吸い上げる以外に、それ自体は「問題」はありません。さらに、ユーザーがログインしている場合、windowaはシステムを自動的に再起動しません(Windows Updateの場合)。この引数は、RDPセッションの時間制限を実装するために使用できます。ただし、さらに一歩進んで、サーバーにログインするビジネスがまったくない場合を提示できます。

サーバーにログインしてSQLクエリを実行する必要はありません。 SQL Server Management Studioは、ローカルワークステーションで実行されます。サーバー自体を管理するために活用できるウィンドウに組み込まれたリモート管理ツールがあります。

最も厄介なのは、全員が管理者としてログインしていると言うことです。これは多くの理由から悪い考えです。ユーザーには、自分のアカウントを使用して必要な権限を付与する必要があります。

0
Jim B