89
56

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-02-28

突如メールが・・・

スクリーンショット 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分ほどで通信制限解除されました。レスポンスの速さ圧倒的ですねさくらさん…!

所感

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

89
56
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
89
56

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?