問題が発生しており、対処方法がわかりません。Windows 2008 R2 サーバーに SQL Server があります。この SQL Server 2005 は、インターネット上の別の場所にある別の SQL Server から DB サブスクリプションを受信するために使用されています。ファイアウォールを介して SQL Server ポートを開いていますが、スコープには別の SQL Server の IP を入力しています。そうすることで、そのポートを介した接続要求が、別の SQL Server (ファイアウォール ルールのスコープに IP がリストされている) からのもの以外は SQL Server に到達しないことを期待しました。しかし、ログを見ると、何百もの "ログインに失敗したユーザー sa" エントリがあります (そして、それらは毎秒来ています)。どうやら、何人かのハッカーがブルート フォース攻撃でユーザー sa パスワードを推測しようとしているようです。しかし、問題は、ファイアウォール スコープにリストされている IP アドレスからではないのに、Windows がこれらの要求を SQL Server に到達させているのはなぜかということです。この SQL Server を保護する正しい方法は何ですか。この SQL Server に接続するために、別の SQL Server の IP 以外の IP は必要ありません。
編集 - 詳細情報:
別のマシンから SQL Server ポートで Telnet を実行しました。Telnet は、ファイアウォールのスコープに明示的に指定されているマシンから実行された場合を除いて失敗します。したがって、ファイアウォールが SQL Server ポートをブロックしているように見えます。しかし、SQL Server ログに、別の IP アドレスからのユーザー "sa" への失敗したログイン要求が表示されるのはなぜでしょうか。ハッカーがポート 80 経由でマシンに入り、何らかの方法で SQL Server に接続しようとしている可能性はありますか。ポート 80 と 443 はすべてのユーザーに開かれています。SQL Server ポート (特定の IP に対してのみ開かれています) を除いて、他のすべてのポートは閉じられています。ポート 80 の Web サーバーでは、訪問者を SQL Server に導く可能性のあるものは何もありません。実際、Web サーバーには index.html (SQL に接続されていない純粋な HTML) ファイルが 1 つだけあります。これは、将来の使用のためにセットアップされているテスト サーバーです。SQL Server にはテスト データのみがあります。
編集:
ファイアウォール トレースをオンにして、ドロップされた接続と成功した接続の両方を含めました。これですべてがトレースされます。次に、SQL Server ログに移動すると、中国のさまざまな IP アドレスからの失敗したログイン試行が表示されます。ただし、ファイアウォール ログにはこれらの IP アドレスのエントリがありません。どうしてこのようなことが起こるのでしょうか。ファイアウォールを完全にバイパスして SQL Server にアクセスできるのでしょうか。ファイアウォール ポートが開いていて、そこから侵入できる場合、ファイアウォール ログにはその IP アドレスのエントリが表示されるはずです。まったくわかりません。
答え1
ファイアウォールが正しく設定されていないようです。これが最初のステップです。
普段は自分が書いた本を宣伝したりはしないのですが、今回は例外とします。SQL Server のセキュリティ保護それは良いスタートを与えるでしょう。
答え2
簡単に言えば、必要ありません。ファイアウォールなどは使用しません。SQL サーバーはインターネット上に存在する権利がありません。例外はごくわずかです。
レプリケーションを行うには、適切な VPN を設定します。
答え3
ファイアウォールを適切に構成することに加えて、SQL Server をブルート フォース攻撃から安全に保つための一般的な推奨事項をいくつか示します。
「sa」アカウントを無効にします。正確なログイン名がわかると攻撃が容易になります。
ALTER LOGIN sa DISABLE
もう一つの選択肢は、「sa」アカウントの名前をあまり目立たない名前に変更することです。
ALTER LOGIN sa WITH NAME = SimonXZY
- 混合モード認証の代わりに Windows 認証を使用します。Windows 認証は Windows パスワード ポリシーを適用し、連続してログオンに失敗するとログインをロックします。
- 失敗したログオンを監査します。これを行う最も簡単な方法は、サーバーのプロパティのセキュリティタブでログイン監査オプションを失敗したログインのみまたは失敗したログインと成功したログインの両方に設定することです。これはブルートフォース攻撃から保護するのには役立ちませんが、攻撃を認識するのに役立ちます。
さらに役立つ推奨事項はこちらをご覧ください: ブルートフォース攻撃や辞書攻撃を防ぐ: ブルートフォース攻撃をあなたの戦利品から遠ざける方法