概要
NTP (Network Time Protocol) とは、ネットワークに接続された各種機器の時刻同期に用いられるプロトコルです。NTP を悪用した増幅攻撃 (NTP リフレクション攻撃とも呼ばれる) は、サーバーに深刻な負荷をかける DDos 攻撃の一種です。このトピックでは、この攻撃の仕組みと予防対策について説明します。
攻撃の仕組み
NTP は、OSI 参照モデルのアプリケーション層に位置し、UDP ポート 123 を使用します。UDP プロトコルはデータ転送前に接続を確立するためのハンドシェイクを必要としないため、攻撃者はこの脆弱性を悪用して IP アドレスを偽装し、攻撃対象に UDP トラフィックを送信することが容易になります。
NTP 増幅攻撃は、以下のような順番で攻撃を仕掛けます。
攻撃対象の IP アドレスを偽装して NTP サーバーに時刻同期の要求を送信します。
NTP サーバーの monlist コマンド※を悪用して、攻撃対象に送信されるデータの量を増幅します。
応答は攻撃対象の IP アドレスへ送信され、ネットワークが膨大な UDP トラフィックに圧倒され、攻撃対象は正常に稼働を継続できない状態に追い込まれます。
※ 旧バージョンの NTP における監視用コマンド。monlist コマンドを送信すると、NTP サーバーが過去に通信したクライアント、最大 600 台分の IP アドレスを返答します。6 つの IP アドレスごとに 1 つの応答パッケージとして分割され、1 つの monlist コマンドに対して最大 100 個のパッケージを返すことができます。これにより、要求データに比べ応答データの容量が数十から数百倍 (増幅率が高い) に大きくなります。
予防対策
NTP 増幅攻撃を予防・軽減するには、以下の対策が考えられます。
サーバー側の保護
NTP サーバーの monlist 機能を無効にします。
NTP サーバーのバージョンを 4.2.7 p26 にアップグレードします。
ネットワークレベルの防御
攻撃による膨大なトラフィックに対応できる十分な帯域幅を購入します。
ファイアウォールを構成して、信頼できる IP アドレスからのアクセスのみ許可し、UDP ポート 123 での通信を制限します。
Alibaba Cloud の Anti-DDoS サービスを使用して、異常なインバウンドトラフィックを識別し、正常のトラフィックのみをサーバーにリダイレクトします。
推奨プロダクト
Anti-DDoS Proxy