web-dev-qa-db-ja.com

リモートSQLサーバーアクセスを許可および制限する

インターネット経由でSQLサーバーインスタンスを公開したい。私は長い間asp.netをSQLサーバーにプログラミングしてきましたが、初めてクライアントサーバーではなく自分でSQLサーバーをホストしています。だから私がやりたいのは、SQLサーバーを自宅の開発マシンから仮想サーバーに移動することです(まだ雇っています)。しかしもちろん、私は誰にも私のSQLサーバーに入るのではなく、ほんの数人の人に入れてもらいたいのです。だから私が考えていたのは、SQLサーバーインスタンスにいくつかのIPアドレスのみを許可することでした。

SQLサーバーをインターネットに公開し、インスタンスへのアクセスを少数のIPアドレスのみに制限する方法を誰かに教えてもらえますか?そして、ええと、あなたがそれを保護するためのさらに良い方法を知っているなら、これは私にとって初めてなので、私は幸せです:)

ミシェル

5
Michel

これを行うには、IPsecまたはWindowsファイアウォールを使用できます。

Windowsのバージョンによって、これを行う方法が決まります。より最近のバージョン-例: Windows Server2008および2008R2は、コントロールパネルのWindowsファイアウォールを介してこの機能を公開します。

SQL Serverが固定ポート番号をリッスンしていることを確認してから、特定のIPアドレス(またはサブネット)の接続のみを許可するようにファイアウォールルールを構成して、そのポートへのアクセスを制御する必要があります。

Windows Server2003で実行されているSQL2000クラスターについても同様のことを行いました。その場合、特定のマシンのみがSQLポートに接続できるように、一連のIPsecルールをスクリプト化しました。

2
David Gardiner

ボックスに SSHサーバー をインストールしてから、 PuTTY またはその他のsshクライアントを使用して SQLサーバーポートをトンネリング SSH接続を介して。 SSH接続のみを許可するようにサーバーのファイアウォールを設定します。

クライアントはSSHトンネルを使用してサーバーに到達します。

別のオプションは、ある種のVPNを使用することですが、少数の人にとっては、SSHアプローチの方が優れています。

1
Sunny

ISA 2006サーバーをインストールし、SQLのサーバー公開ルールを作成してから、インターネットから特定のIPへのアクセスを許可することができます。これは私にとって最も安全な方法です。 SQLサーバーをインターネット上に直接公開しません。代わりに、ISAサーバーの外部IPは、外部に公開されます。また、ISAは機能します。ファイアウォールとしても。これを自分のショップに実装しましたが、問題なく動作しています。

ユージーン

0
eugene