Edited at

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


所感

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