Help us understand the problem. What is going on with this article?

さくらVPSで利用していたmemcachedがリフレクションDDoS攻撃発信の踏み台として悪用された件

More than 1 year has passed since last update.

突如メールが・・・

スクリーンショット 2018-02-28 12.43.07.png

セキュリティ案件

memcached のアクセス制御に関する注意喚起
https://www.jpcert.or.jp/at/2018/at180009.html

memcahcedの設定をデフォルトで使用していたため、リッスンするIPに制限がかかっておらず外部からアクセス可能になってたみたい。

なぜ外部からアクセス可能だとDDoS攻撃発信の踏み台になるかはこちらが詳しいです。(2018/03/02追記)
簡単にいうと下記。

  • UDP通信を使用している場合送信元偽装が簡単
  • 送信元をDDoS攻撃したいIPに偽装して大量のデータをGETする操作を実施
  • 偽装したIPに大量のトラフィックが集中する
参考(2018/03/02追記)

対応ログ

serviceコマンドに対応させる

そもそもserviceコマンドに対応してなかったので対応させる(※ この時点でやばい)

service memcached start系のコマンドが打てるようになる

リッスンするIPを制限

/etc/sysconfig/memcached
のOPTIONSを編集しようと思ったが、ファイル自体がない。
sysconfigからのオプション追加はあきらめて、起動スクリプトのコマンドにlオプションつけて対応した

/etc/init.d/memcached
IP_ADDRESS=127.0.0.1
start()
{
  echo -n "Starting ${TARGET}: "
  ${DST_BIN} -d -u ${EXEC_USER} -m ${CACHE_SIZE} -l ${IP_ADDRESS}
  echo
}

memcached再起動

service memcached restart

適用されたかを確認

ps aux|grep memcached
起動オプションに、"-l 127.0.0.1" が含まれていればOK

その他の方法

  • UDPをやめる
    • 「-U 0」というオプションを付加
    • 厄介なことにmemcachedデフォルトではTCPだけでなくUDPも開放される(memcached 1.5.6からはUDPはデフォルトでは無効らしい)
  • ファイアウォールを設定しmemcachedが使用するポートへのアクセスを制限する

さくらにメール返信

圧倒的謝罪
※ 追記
メール送ってから30分ほどで通信制限解除されました。レスポンスの速さ圧倒的ですねさくらさん…!

所感

学生のときにつくったサービスとはいえ、セキュリティ周りの知識きちんと持っていないとダメだなと思いました…

shibu_t
ソーシャルゲームの会社で働いています(いわゆるLAMP系)。 プライベートでは最近unityいじってます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away