web-dev-qa-db-ja.com

ntpサーバーを使用したDDOS

ntpはリフレクションに使用されます という新しい種類のDDOSについて聞いたことがあります。

私の質問は本当に簡単です:

  1. それらがどのように機能し、明確にするかについて詳しく教えてください。 ntpはUDPを介して実行されるため、どこかに何らかの偽造パケットがあるはずだと思いますか?

  2. 一部のntpサーバーが脆弱である(そして攻撃に関与できない)かどうかを徹底的にチェックするにはどうすればよいですか?

  3. そのような攻撃の標的になった場合、軽減する方法はありますか?


この種の攻撃は2014年に広く使用されているため、以下にいくつかの詳細を示します。

  • 詳細については、 cve を参照してください。
  • 「昨日の夕方01/30/2014、22:15 CETから、パリのWitbeネットワークは、NTP増幅を使用した分散型サービス拒否(DDOS)攻撃によって深刻な影響を受けました。」
  • 痛い、350Gpbs、それは痛い http://www.itnews.com.au/News/372033,worlds-largest-ddos-strikes-us-europe.aspx
  • Ddosに関する一般的な動作はここにあります: 私はDDoSの下にいます。何ができますか?
  • Bbcがntp攻撃について語る: http://www.bbc.com/news/technology-26662051
  • もう1つの質問:正しく記録すると、openntpdはデフォルトで127.0.0.1でリッスンし、ntpdは0.0.0.0でリッスンします-リフレクションddosに関与するすべてのntpサーバーが公に時間を提供する必要があるかどうかはよくわかりません-熟練していないシステム管理者がntpをインストールして、ローカルで時間を同期し、デフォルトの構成ファイルを残しました。

この種の問題を防止および軽減する簡単な方法は、デフォルトで127.0.0.1をリッスンすることです。これはどのサービス(bind9、mysql、...)にも当てはまると思いますか?

5
user130370

これらの攻撃は何年も前から存在しており、ここ数か月で再び人気を博しました。これらは通常の増幅攻撃と同じように機能します。ホストはクエリをスプーフィングして、送信元IPアドレスがターゲットホストのように見えるようにします。 NTPサーバーはスプーフィングされたアドレスに応答を送信します。特定のクエリタイプの応答は非常に大きく、通常はUDPであるため、これはターゲットホストにとって非常に急速に問題になる可能性があります。 NTPパケットでいっぱいです。

残念ながら、これはNTPサーバーの脆弱性ではなく、悪用されている機能にすぎません。考慮すべきことの1つは、NTPサーバーを実行する必要があるかどうかです。これはインターネット全体からクエリできます。それが必要ない場合は、アクセスリストまたはファイアウォールポリシーを作成して、信頼できないソースからのクエリをブロックします。次に、NTPサーバー脆弱なのは、信頼できないソースからのNTPクエリを実行し、回答が得られるかどうかを確認することです。しかし、残念ながら、意図的に公開されているNTPサーバーはかなりの数あります。 (例:pool.ntp.org内のすべてのサーバー)パブリックNTPサーバーを実行する必要がある場合は、悪用された場合にターゲットホストへの影響を減らすためにクエリレート制限を実装することを検討できます。

ソリューションのもう1つのより一般的な部分は、ネットワークが BCP38 を実装する必要があることです。これは、ネットワークを離れるトラフィックをフィルタリングするように指示するため、スプーフィングされたパケットを送信することはできません。残念ながら、この種のフィルタリングを実装していないネットワークはまだ多数あるため、スプーフィングされた送信元パケット(NTP、DNS、chargenなどのプロトコルを使用)によるすべての攻撃が依然として可能です。

このような攻撃を軽減するためにできることは、ネットワークと利用可能なツールによって少し異なりますが、考慮すべきことの1つは、信頼できない送信元からの着信NTPパケットをブロックすることです(どのNTPサーバー)もちろん、アップリンクが混雑している場合、これは役に立ちません。その場合、トラフィックのフィルタリングを支援するようにISPに依頼する必要があります。

15
Teun Vink

私の答え:

  1. 攻撃はmonlistコマンドを使用します(これはtcpdumpで予約されたntpv2として表示されます)。これらのコマンドは、通常のレート制限によってレート制限されません。 Monlist(およびその他の監視コマンド)は、サーバーの「クエリ」が許可されているIPからのみ機能するため、デフォルトに「noquery」を追加します。
  2. 外部IPからntpdc-nc monlist youripを試して、サーバーが応答するかどうかを確認してください。
  3. 着信ntpトラフィックをレート制限します。 ntpd自体ではなく、デーモンに到達する前です。 Linuxでこれを設定する方法は、ntpプールメーリングリストの 「マイレート制限の設定」で説明されています
2
  1. それらがどのように機能し、明確にするかについて詳しく教えてください。 ntpはUDPを介して実行されるため、どこかに何らかの偽造パケットがあるはずだと思いますか?

US-CERTには、この攻撃の詳細が「 アラート(TA14-017A)UDPベースの増幅攻撃 "」および「 アラート(TA14-013A)NTP CVE-2013-5211 "を使用した増幅攻撃。

TA14-013Aはそれを最もよく言います:

説明

UDPは、設計上、ソースIPアドレスを検証しないコネクションレス型プロトコルです。アプリケーション層プロトコルがセッション開始などの対策を使用しない限り、IPパケットデータグラムを偽造して任意の送信元IPアドレスを含めることは非常に簡単です[7]。多くのUDPパケットの送信元IPアドレスが単一のアドレスに偽造されている場合、サーバーはその被害者に応答し、反映されたサービス拒否(DoS)攻撃を作成します。

最近、特定のUDPプロトコルが、最初の要求よりもはるかに大きい特定のコマンドに対して特定の応答を示すことが判明しました。以前は、攻撃者はDoS攻撃を実行するためにターゲットに直接送信されるパケットの数によって直線的に制限されていましたが、今では1つのパケットがその応答で数十倍または数百倍の帯域幅を生成できます。これは増幅攻撃と呼ばれ、大規模な反射型DoS攻撃と組み合わせると、DDoS攻撃を比較的簡単に実行できます。

「帯域幅増幅率(BAF)」に関する付属のグラフは、NTPが最悪の動作を示すことを示しています。NTPは非常に一般的なプロトコルであり、多くのLinux OSアクティブなNTPサーバーが付属している場合、この問題は特に深刻です。

1