web-dev-qa-db-ja.com

SQL Serverの「sa」アカウントにログインしようと力ずくで試みようとしている人についてはどうすればよいですか?

「sa」アカウントを使用して本番SQL Serverインスタンスにログインしようとする誰かまたは何かが力ずくで試みているようです。 「sa」アカウントが無効になっているために成功しませんでしたが、セキュリティを確保するためにどのような手順を踏む必要がありますか?

login attempts

9
Jon Erickson

SQLサーバーをインターネットで公開する必要がありますか?これは通常そうではありません。絶対にこのようにする必要がある場合は、IPアドレスでアクセスを制限するか、VPNをセットアップすることができます。明らかに、saのパスワードを推測できないようにするか、saのログイン場所をLANのIPアドレスのみから制限することを検討してください。他の人がより良い解決策を支援できるように、詳細を入力してください。

29
jftuga

最初にできることは、そのIPアドレスをブラックリストに登録し、ファイアウォールのIPからのトラフィックを完全に拒否することです。もちろん、IPを変更するだけでもかまいませんが、少なくとも、サーバーがトラフィックやログで攻撃されるのを防ぐことができます。

5
JohnThePro

ファイアウォールを介してそのポートを無効にします(MySQLは3306です。SQLServerのポートを思い出さないでください(おそらく118)?)。その後、誰もそれにアクセスできません。
SQLへの外部アクセスが必要な場合は、53535のような番号の大きいポートに再マッピングします。そのポートが開いていることがわかった場合、その重要性を推測するのは困難です。

3
wallyk

ログインには、悪意のあるコードを挿入する試みが含まれます。サーバーのファイアウォールソフトウェアまたはサードパーティの外部ファイアウォールを使用して、永続的なブラックリストでこのアクティビティをブロックすることをお勧めします。

また、これにより侵入者のIPアドレスが自動的にブロックされるため、許可されるログイン失敗の数を減らします。

上記はこれを最小化します。

おそらく、スキャナーを実行しているスクリプトキディのせいで、時間をかける価値はありません。インターネットからデータベースにアクセスできないようにしたいと思います。

2
JOTN

SQL Serverがネットワークの外部からアクセスできる必要がある場合は、アクセスが必要な外部IPアドレスをホワイトリストに登録できます。 VPNは優れたソリューションであり(常に利用できるとは限りません)、最善のソリューションは外部アクセスではありません。

ホワイトリストに登録するには、より多くの管理が必要ですが、このばかばかしさが解消されます。誰かがアクセスを必要とし、IPが頻繁に変更される場合、RDPを介して別のシステムにログインし、そこからSQL Serverに接続できます。

Saアカウントの名前を変更し、偽のsaアカウントを作成して、無効にします。

権限を監査し、すべてのSQL Serverユーザーアカウントのパスワード更新をトリガーします。おそらくパスワードの強度要件を増やします。

SQL Server IPリスニングポートの番号を付け直します。これは、クライアント構成またはアプリケーション構成ファイルを更新することを意味します。

次の攻撃の可能性について他のポスターにも同意します。これはおそらくスクリプトを実行している人物です。

2
Robert Miller
  • 可能であれば、saだけでなく、すべてのSQLアカウントアクセスを無効にします。つまり、SQL認証なしでWindows認証のみを有効にします。
  • ファイアウォール経由、または少なくともボックスのIP制限のいずれかによるネットワークアクセスを、アクセスのみを必要とするサーバーに制限します。一般ユーザーは直接アクセスする必要はありませんよね?
  • 次に、ローカル管理者ユーザーをブルートフォースで試すことを考慮してください。管理者の権限を実際に削除することはできませんが、特定の役割にドロップして、明示的にアクセスをブロックすることができます。
  • 可能であれば、SQL Server Browserサービスを無効にします。簡単にする理由はありません...
  • データベースのユーザー、権限、およびパスワードの完全な分析を実行します。おそらく、次に他のユーザーを試してみるでしょう。
  • ITSecurity.SE でもう一度質問してみてください:)
2
AviD

IPSECポリシーやフィルターなどを作成し、イベントログを自動的にスキャンしてブロックリストにIPを追加するプログラムを探している人のために、それを行う小さなプログラムを作成しました。

この問題も発生しました。ハッカーが 'sa'ログインでMSSQLインスタンスにログインしようとすると、何千ものエントリがイベントログに記録されます。多くの検索を行った後、独自のプログラムを作成し、必要なIPSECアイテムを作成してから、60秒ごとにイベントログをスキャンして、新しいIPアドレスからの攻撃を探すことにしました。次に、IPアドレスをIPSECフィルターに追加し、IPとの間のすべてのトラフィックをブロックします。私はこれをWindows Server 2008でテストしただけですが、他のバージョンでも動作すると信じています。

以下のリンクからプログラムをダウンロードしてください。寄付は、タスクマネージャーアイコンの右クリックメニューにあるリンクを使用して常に感謝されます。

http://www.cgdesign.net/programs/AutoBlockIp.Zip

これは 'sa'ログインを使用したSQLログイン試行でのみ機能しますが、他のログイベントでも機能するように変更できます。また、ブロックされたIPを表示することもできますが、プログラムは60秒ごとにしか実行されないため、イベントログには引き続きいくつかの項目が表示されます。これは、単一のイベントログエントリを削除できないことが原因であり、ログ全体を削除することは良い考えではないと思いました。

[〜#〜]免責事項[〜#〜]-上記のプログラムをダウンロードしてインストールすることにより、いかなる損害に対しても無害であることに同意するものとします。上記のソフトウェアの使用に起因するデータの損失、破損、またはその他の機能上の問題。プログラムをできる限りテストし、現在2台のサーバーで実行していますが、ご自身の責任で使用するように警告されています。

ご質問やご意見がありましたら、www.cgdesign.netのウェブサイトのお問い合わせフォームを使用して、お気軽にご連絡ください。

-クリス

1
cglavan

ログインの試行を制限する必要があるため、同じユーザーが5回を超えてログインしようとすると、数時間または1日間、それ以上の試行がブロックされます。少なくとも100万回の試行の後、ログインを総当たりにすることはできません。

そして、他の人が言ったように、それが必要でない場合はパブリックアクセスを許可しないでください。一部の人が外部アクセスを必要とする場合は、一連の既知のIPへのアクセスを制限できます。

0
DisgruntledGoat