2011-04-21 8 views
9

ASP.NETアプリケーションを監視して侵入を迅速に検出するためのベストプラクティスは何ですか?どのようにを知っていますか今のところ、私たちのアプリケーションは完全に妥協されていませんか?セキュリティのためのASP.NETとSQL Serverの監視

SQL Serverに格納されたデータを使用して、ASP.NET 4 Webアプリケーションを起動しようとしています。 WebサーバーはWindows Server 2008インスタンス上のIISで実行され、データベースサーバーはSQL Server 2008上で別のWindows 2008インスタンス上で実行されます。

Microsoftのセキュリティに関する推奨事項を確認しました。私たちのアプリケーションは非常に安全だと思います。私たちは「徹底的な防御」を実装し、さまざまな攻撃経路を考慮しました。

私たちは自信を持って感じていますが、私たちのシステムのセキュリティにはまだ実際の可視性はありません。誰かが侵入した場合、どうすればすぐに知ることができますか?私たちのサーバの1つに何らかのパッケージが入金されているかどうかはどうすればわかりますか?データリークが進行中であるかどうかは、どのようにわかりますか?

いくつかの概念、ツール、ベストプラクティスなどは何ですか?事前に

おかげで、 ブライアン

追加の思考4/22/11

クリス、以下の非常に有用個人的な観察とヒントに感謝。

セキュリティに関する現在のアプリケーションアクティビティを監視するための、適切かつ包括的なアプローチはありますか?ベストプラクティス、パッチなどを適用する際に常に警戒する以外に、今私のシステムの中で何が起こっているのかを正確に知りたい。私は、どのトラフィックが疑わしいのか、そうでないのかを明確に示す方法で、その活動を観察して分析できるようにしたい。最後に、私はこの情報を完全に正確で消化しやすいものにします。

私たちはそれにどのように効率よく近づきますか?良い解決策には、ネットワーク上のパケットに加えて、ログイン、データベースアクティビティ、ASP.NETアクティビティなどを監視することは含まれませんか?強いセキュリティの姿勢を取る方法の例は何ですか?

ブライアン

答えて

1

まだ試したことはありませんが、Lenny Zeltserは、サーバー全体を継続的に監視して疑わしい活動を検出するホストベースの侵入検知システムであるOSSECに私を誘導しました。これはまさに私が欲しいもののように見えます!

完全にテストする機会があると、さらに情報を追加します。

OSSECがここhttp://www.ossec.net/

2

私はいくつかを考えて言うことができる - しかし、私はより多くのアイデアを聞いて喜んでます。

誰かが侵入した場合、すぐにどのように知ることができますか?

これはそれほど簡単ではありませんし、私の意見では、**アイデアが異なるIPSから、二重ログインのモニターと一緒に、あなたのバックオフィス内**いくつかのトラップを作ることです。

トラップは、あなたが考えることができる何でも、バックオフィスに、、または「変更管理者パスワード」「新しい管理者を作成する」と言う例ための非実ページとすることができ、誰もがそこに取得し、試すことができます新しい管理者を作るには、確かにペネトレーター - もちろん、このトラップはあなただけで知られていなければなりません、そうでなければ意味がありません。

セキュリティを強化するために、管理者に変更を加えるには2番目のパスワードが必要で、管理者アカウントを実際に変更しようとする人がいるか、新しい管理者を追加しようとすると、ペネトレータ。 ASP.NETアプリケーション

を監視する

方法私はいくつかのテキストの変更のためのページを監視する任意のツールは、その上で助けることができると思います。たとえば、このNetwork Monitorは、あなたの特定のテキストを監視して警告するか、このテキストが見つからない場合に何らかのアクションを取ることができます。つまり、ページを変更することを意味します。

特殊な隠れたテキストを追加することができます。見つからない場合は、ページの中核を変更するものがあり、おそらく変更ファイルであることがわかります。

いくつかの種類のパッケージがこれは、サーバーにロードされた任意のASPXページであるとファイルブラウザのように振る舞うことができ、当社のサーバーの1

上に堆積された場合どのように我々が知ることができます。これは起こらないので、データをアップロードするために使用されたディレクトリにweb.configファイルを追加することをお勧めします。このweb.configでは何も実行できません。

<configuration> 
    <system.web> 
     <authorization> 
     <deny users="*" /> 
     </authorization> 
    </system.web> 
</configuration> 
+0

カップルの事で発見することができます:彼らは公共の知識やGoogleを検索してアクセスのどちらかである場合、「トラップ」のページが利用できるようになる1.唯一の方法です。管理ページを検索可能にしないほうがずっと良いです。 2.欠落しているテキストを監視することは、ページが変更されたかどうかを判断する良い方法ではありません。古いテキストを削除する人とは対照的に、新しいテキストが追加されることがよくあります。 3.今日の世界では、まずディレクトリをアップロードする必要はありません。バックアップを簡略化したデータベースに格納します。 – NotMe

+0

@Chrisノートをありがとうございます、はい、あなたはそれを正しく持っています。私はここでいくつかのケースに合ったアイデアを作りました。すべてのケースではなく、おそらく最良のものではないかもしれません。私は他の答えからもっと学びたいと思います。 – Aristos

2

あなたが探している用語はIntrusion Detection System(IDS)です。 Intrusion Prevention System(IPS)という関連用語があります。

IDSの監視トラフィックはIPレベルでサーバーに送信され、高度なトラフィック分析に基づいてアラートが送信されます。

IPSは、実際に特定のアクティビティをブロックしようとする次世代のIDSです。

Snort,SourceFire,Endaceおよびothersを含む多くの商用およびオープンソースシステムが利用可能です。

要するに、これらのシステムの1つをミックスに追加して、リアルタイムの監視と潜在的な危険な活動の阻止を検討する必要があります。


ここではコメントエリアがちょっと小さいので、ここで少し詳しい情報を追加したかったのです。

あなたが理解する必要がある主なものは、あなたが見る攻撃の種類です。これらは、比較的単純ではない自動化されたスクリプトから非常に洗練された標的型攻撃までの範囲です。また、WebサイトからIIS、.Net、メールサーバー、SQL(アクセス可能であれば)、ファイアウォールや他の公開されているマシン/サービスに至るまで、あらゆるものを見ることができます。何が起こっているのかを実際に監視するには、完全なアプローチが唯一の方法です。

一般的に言えば、新しいサイト/会社は、自動化されたスクリプトで数分間(私は最大30人)、ライブになるでしょう。これは、MS Windowsの新しいインストールが、インストール中にネットワークを厳重に保護する第1の理由です。ヘック、私は最初に電源を入れてから30秒以内に釘打ちされたマシンを見た。

アプローチハッカー/ワームの取り組みは、広範囲のIPアドレスを絶えずスキャンすることです。これに応答するマシンのフィンガープリンティングが続きます。プロファイルに基づいて、あなたは特定の種類の攻撃をあなたの方法で送信します。プロファイリングのステップをスキップし、応答に関係なく特定のポートを攻撃する場合もあります。ポート1443(SQL)は一般的なものです。

攻撃の最も一般的な形ですが、自動化されたものが処理するのが一番簡単です。未使用のポートをシャットダウンし、ICMP(ping応答)をオフにし、適切なファイアウォールを設置すると、ほとんどのスキャナが遠ざかります。

スクリプト攻撃の場合は、PhpMyAdmin、IISのWeb管理ツール、またはファイアウォール外のリモートデスクトップなどの一般的にインストールされているパッケージを公開しないようにしてください。また、 "admin"、 "administrator"、 "guest"、 "sa"、 "dbo"などの名前のアカウントを取り除いてください。最後にパスワードを誰かの名前にすることはできません。製品に同梱されています。

これらの行に沿って、データベースサーバーがファイアウォールの外側に直接アクセスできないようにしてください。なんらかの理由で直接アクセスしなければならない場合は、少なくともポート番号を変更して、それに応答して暗号化を実施します。

これがすべて正しく実行され、保護されたら、公開されるサービスはウェブのものだけです(ポート80/443)。引き続き悪用される可能性のある項目は、IIS、.NET、またはWebアプリケーションのバグです。

IISと.netの場合、MSからのWindowsアップデートは、リリースされるとすぐにインストールする必要があります。 MSは、Windows、IIS、および.Netの品質アップデートを推進することについて非常に優れています。さらに、アップデートの大部分はすでに脆弱性が悪用されているものです。私たちのサーバーは利用可能になるとすぐにアップデートを自動的にインストールするように設定されており、は決してに焼き付けられています(少なくともサーバー2003がリリースされたときに戻っています)。

また、ファイアウォールのアップデートの上に留まる必要があります。シスコのファイアウォールの1つが圧倒されるバグを抱えていたのはずっと前のことではありませんでした。残念ながら、これは起こったときにすべてのトラフィックを通過させました。管理者はIOSパッチに追いつくことができなかったので、かなり早く修正されましたが、1年後に人々は依然として苦しんでいました。 Windowsのアップデートでも同じ問題が発生します。多くの人々は、それを妨害していたであろう更新を適用しなかったため単純にハッキングされています。

攻撃のターゲットが絞りれば、対処するのが少し難しくなります。ハッカーのかなりの数は、カスタムWebアプリケーションを追いかけています。私たちに連絡するための投稿やログインフォームのようなもの。投稿には、一度管理者が閲覧すると、資格情報が転送されたり、受信者のコンピュータにキーロガーやトロイの木馬がインストールされたりするJavaScriptが含まれる可能性があります。

ここでの問題は、あなたがそれを知らなくても妥協する可能性があることです。防衛には、あなたのサイトを通じてHTMLとJavaScriptを提出できないようにすることが含まれます。メールサーバーでの堅実な(そして常に更新された)迷惑メールとウイルスチェックなどがあります。基本的には、外部エンティティがあなたに何かを送信して何かをする可能性があるすべての可能性を調べる必要があります。フォーチュン500企業の多くは、このようなことでヒットを続けている... Googleが含まれています。

上記は誰かを助けることを願っています。もしそうなら、より安全な環境につながるなら、私は幸せな人になるでしょう。残念ながら、ほとんどの企業はトラフィックを監視していないため、マシンがこのゴミを逃れていくのにどれだけの時間が費やされているのか分かりません。

+0

ありがとう、クリス、これは参考になります。 ASP.NETとSQL Serverにより直接統合されたソリューションについてご存じですか? – BrianFinkel

+0

@BrianFinkel:まさに率直に言って、あなたは何かを "直接統合"したくないです。 IDS/IPSは、ネットワーク全体を監視している別個の製品であれば、より効果的です。私たちの経験では、少なくとも3秒に1回、サイトが新しいハッキングを試みることがありました。これらの試みは、Webサイトの脆弱性の調査、さまざまなポートへのアクセス、ファイアウォールを通した "歩き"のためのパケットの送信から、データベース、メール、または他のサーバータイプがデフォルト設定と応答。 – NotMe

+0

@BrianFinkel:ポイントは、あなたがそれらの2つの部分だけを見ているなら、あなたは本当に大きな画像を欠いている。私は人々がリモートネットワークに侵入するのを見たことがあります。なぜなら、起こったPRINTERに組み込まれたWebサーバーをクラックすることができたからです。独創性のためにはどうですか? – NotMe

関連する問題