すばらしい質問です。
まず最初に-私は、ほとんどの「侵入テスター」をスクリプトキディと見なしています。私の偏見は公平でも正確でもないかもしれませんが、私がこの免責事項を入れているのは、私の口調で皮肉を検出した場合、それがどこから来ているのかがわかるようにするためです。熟練したペンテスターがいないと言っているわけではありませんが、これは私の広範な一般性です。
(人生のための青いチーム!)
私の質問:1)Active Directoryがこれらの失敗したユーザー名要求を中央の場所に記録して、それらのスパイクに気付く方法はありますか?
誰もがこの質問に完全かつ自信を持って答えられるように、十分な情報を提供していませんでした。あなたのアプリケーションには、攻撃者がユーザーアカウントを列挙することを可能にする欠陥が含まれていることが判明したと述べました。ADがアプリケーションのロギングを実行する必要があるとあなたがどのように感じているかを理解しようとしています。
どうやら障害は、アプリケーションがインストールされたサーバーのローカルイベントログにのみ表示されたようです。
どうやら障害はサーバーのイベントログに表示されましたか?または、サーバーのイベントログにエラーが表示されましたか?もしそうなら、イベントは正確に何を言っていましたか?誰がそれらを記録しましたか?あなたの申請?またはウィンドウズ?調べに行くと、私は私の答えにさらに明確化を加えることができるかもしれません。
これらのイベントは何らかの方法でActive Directoryによってログに記録されているはずであるというあなたの推定に基づいて、ここから外に出ます...ペンテスターが実際にアプリケーションの欠陥をまったく利用しておらず、代わりにユーザー名を列挙するKerberos自体の非常によく知られた欠陥ですか?Kerberos自体には、攻撃者が何千回もの「事前認証」の試行(つまり、ブルートフォース攻撃)を試みることができるという設計上の欠陥と考えられるものが含まれており、KDCはユーザーアカウントが存在するかどうかによって異なる応答をします。これはActive Directory固有の動作ではありませんが、MIT Kerberos、Heimdalなどにも同様に適用されます。KDCは次のように応答しますKDC_ERR_PREAUTH_REQUIRED
実際の認証を試みなくても、有効なユーザー名が事前認証データなしで提示された場合。このようにして、KDCからユーザー名を列挙できます。しかし、攻撃者(または、KrbGuessなど、攻撃者が使用しているツール-ペンテスターは他の人のツールを使用しているときに最高の状態にあるため)は完全な認証試行を続ける必要がないため、何も記録されません。実際の認証が試みられました!
さて、あなたの次の質問に:
2)そうでない場合、将来このタイプの攻撃を監視して積極的に検出するための最良の方法は何ですか(できれば、新しい機器をあまり購入する必要がないことを願います)。
いくつかのこと。
まず、これらの種類の攻撃を検出するように設計された有料のエンタープライズグレードの製品があります。多くのベンダーがそのような製品を提供しており、製品の推奨事項はServerfaultのトピックから外れていますが、それらは提供されていません。そこ。これらの製品の多くは、ドメインコントローラーとこれらの「データコレクター」の間のポートミラーリングを構成して、ドメインコントローラーに出入りするすべてのパケットを文字どおりに表示および分析するように要求することで機能します。
(申し訳ありませんが、「あまりにも多くのものを購入することなく」という条項に該当します。)
あなたを助けるかもしれないもう一つは、レジストリエントリです:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
LogLevel = 1
ここに文書化されています。
このレジストリエントリを有効にすると、Kerberos事前認証が必要であることを示すKerberosエラーに関するセキュリティイベントログのイベントが殺到するはずです。そのようなイベントの例:
A Kerberos Error Message was received:
on logon session DOMAIN\serviceaccount
Client Time:
Server Time: 12:44:21.0000 10/9/2012 Z
Error Code: 0x19 KDC_ERR_PREAUTH_REQUIRED
Extended Error:
Client Realm:
Client Name:
Server Realm: DOMAIN
Server Name: krbtgt/DOMAIN
Target Name: krbtgt/DOMAIN@DOMAIN
Error Text:
File: e
Line: 9fe
Error Data is in record data.
しかし、Kerberos要求の津波がどこから来ているのかを正確に指定していない場合、これは役立つかもしれません。これにより、前述のエンタープライズ侵入検知製品に戻ります。
また、サーバーを一元化された場所にイベントを転送して、任意のツールで分析できるようにするWindowsイベント転送を忘れないでください。
この回答全体はこれまでのところKerberosプロトコルに基づいていますが、投稿にはあまり詳細を記載していなかったので、私はこれを当然のことと考えることもできません。それでも、これが少なくとも少しは役に立てば幸いです。