web-dev-qa-db-ja.com

SQL Serverをハッカーから保護する方法

問題が発生し、その対処方法がわかりませんでした。 Windows 2008 R2サーバー上にSQLサーバーがあります。このSQL Server 2005は、インターネット上の別の場所にある別のSQL ServerからDBサブスクリプションを受信するために使用されています。ファイアウォールを介してSQLサーバーのポートを開いていますが、スコープでは、他のSQLサーバーのIPを入力しています。そうすることで、他のSQL Server(IPがファイアウォールルールのスコープにリストされている)からの要求でない限り、そのポートを介した接続要求がSQL Serverに到達しないことを望みました。しかし、ログを見ると、何百もの「login failed user sa」エントリがあります(それらは1秒ごとに来ています)。一部のハッカーは、ユーザーのsaパスワードを推測するためにブルートフォースを試みているようです。しかし問題は、なぜこれらの要求がファイアウォールスコープにリストされているIPアドレスからではないのに、Windowsがこれらの要求をSQL Serverに到達させているのかということです。このSQL Serverを保護する正しい方法は何ですか。他のSQL ServerのIP以外のIPは、このSQLサーバーに接続する必要はありません。

編集-詳細情報:

別のマシンからsqlサーバーポートでtelnetを実行しました。 Telnetは、ファイアウォールスコープで具体的に言及されているマシンから実行された場合を除き、失敗します。したがって、ファイアウォールがSQLサーバーポートを正常にブロックしているようです。しかし、なぜSQL Serverログに異なるIPアドレスからのユーザー "sa"へのログイン要求の失敗が表示されるのでしょうか。ハッカーがポート80経由でマシンに侵入し、SQLサーバーへの接続を試みている可能性はありますか?ポート80と443は誰でも利用できます。 SQLサーバーポートを除いて、他のすべてのポートは閉じられています(特定のIPに対してのみ開かれています)。訪問者をSQLサーバーに誘導する可能性のあるポート80のWebサーバー上で実行されているものはありません。実際、Webサーバーにはindex.html(SQLに接続されていない純粋なHTML)ファイルが1つだけあります。これは、将来使用するためにセットアップされているテストサーバーにすぎません。 SQL Serverでのみデータをテストします。

編集:

ファイアウォール接続を有効にして、ドロップ接続と成功接続の両方を含めました。現在、すべてをトレースしています。次に、SQL Serverログに移動し、中国のさまざまなIPアドレスからの失敗したログイン試行を確認します。ただし、ファイアウォールログにこれらのIPアドレスのエントリはありません。これはどのようにして可能ですか?ファイアウォールを完全にバイパスしてSQLサーバーにアクセスできますか?ファイアウォールポートが開いていて、そこから侵入できる場合、ファイアウォールログにはそのIPアドレスのエントリが表示されます。私は完全に途方に暮れています。

9
Allen King

ファイアウォールが正しく設定されていないようです。これが最初のステップです。

通常、私は自分が書いた本をひっくり返すことはしませんが、この場合は例外を設けます。それは SQL Serverのセキュリティ保護 と呼ばれ、良いスタートを切るでしょう。

12
mrdenny

単純に言った-あなたはしません。ファイアウォールなどは使用しません。SQLサーバーにはインターネット上に存在する権利がありません。例外はほとんどありません。

複製のために、適切なVPNをセットアップします。

4
TomTom

ファイアウォールを適切に構成する以外に、SQL Serverをブルートフォース攻撃から保護するための一般的な推奨事項を以下に示します。

  • 「sa」アカウントを無効にします。正確なログイン名を知ることで、攻撃が容易になります

    ALTER LOGIN sa DISABLE
    

別のオプションは、「sa」アカウントの名前をわかりにくい名前に変更することです

ALTER LOGIN sa WITH NAME = SimonXZY
  • 混合モード認証の代わりにWindows認証を使用します。 Windows認証はWindowsパスワードポリシーを適用し、ログオン試行が連続して失敗した場合にログインをロックします
  • 失敗したログオンを監査します。これを行う最も簡単な方法は、[サーバー]プロパティの[セキュリティ]タブの[ログイン監査]オプションを[失敗したログインのみ]または[失敗したログインと成功したログインの両方]に設定することです。これはブルートフォース攻撃からの保護には役立ちませんが、攻撃に気づくのに役立ちます

ここでより有用な推奨事項: ブルートフォースまたは辞書攻撃の防止:ブルートをルートから遠ざける方法

3
Milena Petrovic