DNSアンプ攻撃に加担してしまった話

タイトル通り、DNSアンプ攻撃に加担してしまいました。非常に情けない話なのですが、自分への戒めの意味で記事にします。DNSアンプ攻撃ですが、JPRSの解説が分かりやすいのでリンク張っておきます。

DNSアンプ攻撃に気付いたきっかけ

宅内にZabbixサーバを設置しており、Grafanaで可視化しています。モニタ一台を監視専用として、以下のような情報を常に見れるようにしています。

棒線グラフのうち、真ん中の「c2960 Gi1/0/1 (Aterm Router BL900HW)」というのが、自宅と外部を繋ぐスイッチのポートです。このポートは基本的にbits receivedの値は動画を見たりファイルをダウンロードすると増えるのですが、sentの値はまず大きく増えることはありません。自宅から大きなファイルをアップロードするようなことは殆どしないためです。
ところが、ふと監視画面を見たら、恒常的に5Mbpsほどのbits sentの値が記録されていることに気づきました。これがまず、第一の気づきです。この時点ではDNSアンプ攻撃の可能性を疑っていませんでした。

自宅から出ているパケットの出どころ調査

  • この5Mbpsを記録しているc2960のGi1/0/1は家族も利用しているので、まずは自分が把握している範囲で不審な動きが無いか調べることにしました。
  • c2960にログインし、”show interfaces summary”を叩いてみると、自宅サーバに接続されているポートからTXが多いことに気づきました。
  • 自宅サーバはESXiが入っており、多数の仮想マシンが起動しているので、どのサーバからパケットが送信されているものなのか、Grafanaで可視化しました。
  • 可視化したところ、bind(DNSサーバ)からのoutputが異常な値を示していることに気づきました(画像では17:30以前)。この時点でDNSアンプ攻撃に加担していることを、ほぼ確信しました。
  • 外部向けに開けるポートはかなり慎重に実施しているのですが、53番ポートが外部向けに開放されている可能性が高いと思い、ルータのポートマッピングを確認しました。
  • 案の定、53番ポートが外部向けに開放されていました。すぐさま開放していた53番ポートを削除したところ、bindからのoutputは無くなりました。

原因

  • 外部向けにDNSサーバを公開してしまっていたため(53番を開けた理由は全く記憶に無いのですが、実験的に何かやっていて、消し忘れたのだと思います)
  • DNSサーバにてアクセス制御を実施していなかったため

対策

  • ルータにて53番ポートを非開放としました。
  • Zabbixにて、DNSサーバからの送信パケットが3Mbpsを超える場合、致命的な障害としてアラート検知するように設定を追加しました。
  • DNSサーバで内部向けIPアドレスからのみクエリを受け付けるよう、アクセス制御を行います(とりあえずポート閉じて事態は収束したので今時点では未実施)

振り返りと反省

自宅環境と言えどもサーバ側でアクセス制御をかけていなかったのは怠慢と言わざるを得ません。また、今回はたまたま外部向けの通信を監視していたので気づけましたが、常に監視していない状況で5Mbps程度のTXだったらずっと気づかなかったかもしれません。当然ながらZabbixのアラートにも上がりません。知らず知らずのうちに攻撃に加担してしまったケースです。猛省しております。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です