web-dev-qa-db-ja.com

アカウントロックアウトDoSに対する保護

次のシナリオから保護する方法に関するアイデアはありますか?

X社は、従業員の認証にActive Directoryを使用しています。同社には、半公開の認証ポイントと完全に公開されている認証ポイントが複数あります。 (例:インターネットからアクセス可能なエクストラネット)

ユーザー名は、従業員の名前に基づく標準の命名規則に従っているため、簡単に推測できます。

EveがX社に対してDoSを実装したいと考えていて、多数の従業員名にアクセスできる場合、Eveが会社の多くの従業員のアカウントをロックアウトすることは非常に簡単です。

このタイプの攻撃から保護する方法に関するアイデアはありますか?

可変長のロックアウトが役立つことは理解していますが、それでも従業員がログインせず、働いていることを意味します。

考え?

23
Josh Brower

Microsoft Lync(以前のOffice Communications Server)を使用してブルートフォース攻撃を緩和する方法を説明した論文があります。

http://blogs.technet.com/b/drrez/archive/2010/05/26/protecting-the-Edge-server-against-dos-and-password-brute-force-attacks-in- office-communications-server.aspx

切れ端:

「DoS攻撃は、正当なサインイン要求と区別がつきません。唯一の違いは、サインイン試行の頻度とOriginです。連続して多数のサインイン試行が行われると、DoS攻撃を示す可能性があります。DoS攻撃は、ユーザーのパスワードを推測して不正アクセスを取得し、Active Directoryでセキュリティポリシーが有効になっていると、ユーザーアカウントがロックアウトされることがよくあります。」

「エッジサーバーでアカウントロックアウトを実施することにより、セキュリティフィルターはネットワーク境界のエッジでのDoS攻撃を防ぎ、結果として内部のOffice Communications Serverリソースを保護します。」

Microsoftは、別のホワイトペーパーをタイトルにしています: アカウントロックアウトのベストプラクティスホワイトペーパー
「外部アカウントロックアウトサービス拒否攻撃からの保護」を検索

キースニペット(そのままコピー):

外部アカウントロックアウトサービス拒否攻撃からの保護
悪意のあるユーザーが、ネットワークの外部から企業に対してサービス拒否攻撃を仕掛ける可能性があります。ほとんどのネットワークは相互接続されているため、これは緩和するのが難しい攻撃になる可能性があります。次の技術テクノロジは、このような攻撃を軽減または防止するために使用できる一般的な技術とテクノロジです。

複雑なパスワードが必要:すべてのアカウントには複雑なパスワードが必要です。すべての管理者アカウント(ローカルおよびドメイン)には長くて複雑なパスワードが必要であり、定期的にパスワードを変更する必要があります。

管理者アカウントの名前を変更します:管理者アカウントはロックアウトできないため、アカウントの名前を変更することをお勧めします。これは管理者アカウントに対するすべての攻撃を軽減するわけではありませんが、ほとんどの場合これらの攻撃を軽減するのに役立ちます。詳細については、Microsoftナレッジベース| http://support.Microsoft.com/?id = 320053の「HOW TO:Windows 2000の管理者およびゲストアカウントの名前を変更する」を参照してください。

ファイアウォールで環境を保護します:アカウントロックアウトサービス拒否攻撃を回避するには、TCPおよびUDPポート135〜139をブロックしますルーターとファイアウォールのポート445。これを行うと、ネットワークの外部で発生するログオン試行を防止できます。

匿名アクセスを防止する:インターネットに公開されているすべてのコンピューターで、およびすべてのコンピューターが実行されている場合はドメイン全体で、RestrictAnonymousの値を2に設定します。 Windows 2000以降のバージョン。これにより、悪意のあるユーザーがリソースに匿名で接続できなくなり、一部の種類の攻撃を阻止するのに役立つ場合があります。一部のオペレーティングシステムでは、この設定を持つコンピューターのサポートが制限されていることに注意してください。一部のプログラムでは、プログラムが匿名接続を使用してリソースにアクセスする場合にも、この設定に問題がある可能性があります。詳細については、Microsoftサポート技術情報のhttp://support.Microsoft.com/?id=246261の「Windows 2000でRestrictAnonymousレジストリ値を使用する方法」を参照してください。

VPNトンネルを使用してサイト間トラフィックを保護します。2つのサイトのドメインメンバー間の通信が必要な場合は、サイト間サイトを使用しますサイトネットワークを安全に接続するVPNトンネル。ファイアウォールですべてのNetBIOSポートを開かないでください。 Windows 2000 Serverルーティングとリモートアクセスサービスを使用して、サイト間VPNトンネルを作成できます。使用可能なVPNデバイスがない場合は、エッジファイアウォールまたはルーターフィルターを構成して、各サイトで使用されるインターネットプロトコル(IP)アドレス範囲間を流れることが許可されるトラフィックを制限する必要があります。サイトがインターネット全体でのみActive Directoryレプリケーションを使用する必要がある場合は、ファイアウォール経由のインターネットプロトコルセキュリティ(IPSec)トランスポートモードを使用して、Active Directoryサーバー間のすべてのトラフィックを保護します。ファイアウォールを介したActive Directoryレプリケーションの詳細については、Microsoft Webサイトのホワイトペーパー「ファイアウォールを介したActive Directoryレプリケーション」| http://www.Microsoft.com/serviceproviders/columns/config_ipsec_p63623.aspを参照してください。

インターネット攻撃からの認証とNetBIOSポートの保護:ファイアウォールまたは内部ネットワークをインターネットに接続するルーターのいずれかで、TCPおよびUDPポート135〜139およびポート445。エッジフィルタリングデバイスが使用できない場合は、IPSecフィルターを使用してこれらのポートをブロックできます。これを行うには、Microsoft Knowledge Base | http://support.Microsoft.com/?id = 813878の「IPSecを使用して特定のネットワークプロトコルとポートをブロックする方法」に記載されている構成を使用します。

•同じIPSecポリシーで、送信元アドレスが内部ネットワークで使用されるサブネットにある場合に、これらのポートへのトラフィックを許可するフィルターを追加する追加のルールを作成する必要があります。これを行うには、Microsoft Knowledge Base | http://support.Microsoft.com/?id = 813878の「IPSecを使用して特定のネットワークプロトコルとポートをブロックする方法」に記載されている構成を使用します。

内部攻撃から認証ポートとNetBIOSポートを保護する:内部悪意のあるユーザーから認証ポートとNetBIOSポートへのアクセスを保護する必要がある場合、コンピュータを制限することができます。セキュリティをネゴシエートできるIPSecの機能を使用して、ドメインメンバーのコンピューターのみにこれらのポートへのアクセスを許可します。信頼されたコンピューター(ドメインメンバーコンピューター)のみが認証ポートとNetBIOSポートの両方にアクセスできるようにすることで、攻撃を実行できるコンピューターの数を減らします。この追加の保護により、セキュリティ境界の違反や、内部ネットワークに接続できる悪意のあるユーザーに対する防御が提供されます。 TCPおよびUDPポート135〜139およびポート445へのアクセスのIPSecセキュリティをネゴシエートするときにKerberos認証を使用するカスタムIPSecポリシーを作成する方法については、「インターネットプロトコルセキュリティのステップバイステップガイド」を参照してください。 (IPSec) "Microsoft Webサイト| http://www.Microsoft.com/windows2000/techinfo/planning/security/ipsecsteps.asp。

サーバーを更新します:すべてのサーバーを最新バージョンのウイルス対策ソフトウェア、ファイアウォールソフトウェア、およびWindowsセキュリティパッチで最新の状態に保ちます。これにより、悪意のあるユーザーがインターネットではなく内部ネットワークから攻撃を開始できる場合に、トロイの木馬プログラムやウイルスがリソースを攻撃するのを防ぐことができます。これらの更新は、詳細かつ防御的なセキュリティ戦略の重要な部分です。

9
Tate Hansen
  1. 検出
    • 頻繁なアカウントロックアウトを警告する監査制御が必要です
  2. 防衛
    • 1つのアイデアは、アカウントのロックアウトを引き起こしているソースIPアドレスを追跡することです。このsrc IPアドレスが定義済みのしきい値(たとえば、10秒で2つのアカウント)を超えた後、ユーザーはWebサイトで認証の試行を続行するために正常に完了する必要があるCAPTCHAを求められます。これにより、攻撃者はアカウントロックアウト攻撃をスクリプトで実行できなくなります。
    • Src IPアドレスが2番目のしきい値を超えた後(たとえば、60秒で10個のアカウントがロックアウトされた)、IPアドレスはX分間ブロックされます。確かに、攻撃者が企業NATの背後にいる場合、他のユーザーをブロックする可能性がありますが、これはアプリケーションを防御するために使用できるオプションです。

攻撃者が複数のプロキシを使用していて、さまざまなソースIPアドレスを利用するアカウントロックアウト攻撃をスクリプト化している場合、これらのアイデアを使用することはできません。ただし、うまくいけば、手順1の検出制御によって、問題を手動で調査できる管理者に警告が出されます。

これはLDAPに組み込まれていません-すべてカスタムコードになります。

  • マイケル
7
Michael Coates

最初に頭に浮かぶのは、ロックアウトされた後、複数のアカウントで複数のログインが失敗するのを監視することです。例えば。イブはボブのアカウントを10回試し、ロックアウトされます。その後、ティムのアカウントを試し、ロックアウトされます。 n個のアカウントの後で、誰かがアカウントをDoSしようとしているというかなり良い考えがあります。ただし、これで問題が実際に解決されるわけではなく、監査のみが可能になります。

シンプルな解決策は、ログインロックアウトをネットワークごとに分離することです。そのため、エクストラネット経由でログインしてロックアウトされた場合でも、ローカルでログインできます。そうは言っても、Active Directoryを使用してそれを行う方法や、これがどのような意味を持つのかはわかりません。

3
Steve

何らかの理由でパブリック認証ポイントを内部ユーザーアカウントから実際に分離できない場合は、ロックアウトされたユーザーに常に対処しなければならない可能性があります。違反の差し迫った脅威がなくても、ロック解除要求で管理チームに過負荷をかける可能性があります。

さらに、別の側面があります。アカウントのロックアウトは、内部ネットワーク上でも問題になる可能性があります。過去には、マルウェアが拡散するためにブルートフォースアカウントをブルートフォースしようとすることが知られていました(たとえば、いくつかのconfickerバージョンはADMIN $共有に対して辞書攻撃を試みていました)。これは、管理者にとって不快な状況につながる可能性があります。

したがって、私はお勧めします:

  1. 完全なロックアウトを防ぐためにロックアウトポリシーを慎重に検討する
  2. ロック解除の安全性を微調整して、最終的なロック解除を可能にする

LockOutThresholdObservationWindow、およびLockOutDurationは、すべてこれらを支援できます。正確な使用方法については、MS アカウントロックアウトのベストプラクティス を確認してください。

私が考える1つのアプローチ(上記のドキュメントでより多くの提案)は次のとおりです。

通常のユーザー

  • 中程度または高い試行回数(忘れっぽいユーザーを助けるため)、

  • (比較的)短い観測ウィンドウ(総当たり攻撃を防ぐため)、

  • クイックリリース、おそらく15'-30 '(これらの呼び出しからヘルプデスクを救うために...)

admins

  • 試行回数が少ない(パスワードを知っている必要がある)

  • 少し長い観測ウィンドウ(パスワードの複雑さによりブルートフォースからの保護が提供されるはずです)、

  • 数時間後にリリース

あなたのアイデア?

2
George