[メモ] ロリポップのmysqlサーバへ外部ネットワークから接続できるのは18台 (2013/8/29現在)

lolipop_large
8/28よりロリポップの一部のユーザーを対象としたWordPressを対象を大規模な不正アクセスが発生しております。話によると4000サイト以上が被害を受けたとのことで、単一サービスでは稀にみる被害が発生しています。調べていく中で、mysqlサーバへ外部から接続できるとの情報を得ました。実際どうなのか調べてみました。
(なお本記事のデータは2013/8/29 19:00現在のものです、ロリポップ側の対応により変動が発生することがあります)


きっかけとなった記事は、ロリポップは、MySQLサーバにグローバルから接続できる(ものがある)? – ろば電子が詰まっている でした。ではロリポップの他のmysqlサーバはどうなの?ということで調べてみました。

ロリポップのphpMyAdminでは、ロリポップで提供しているmysqlのサーバがリスト形式で選択可能です。したがってこのリストに載っているサーバは対象のmysqlサーバと考えられます(他にもサービス用のmysqlサーバがあるかも知れませんが今回は除外しました)
手元のPCを使用して、外部からmysqlのポートへtelnetで接続できるか確認してみました。

ロリポップのmysqlサーバ

ロリポップのmysqlサーバのホスト名は以下の2種類に分かれます。

  • ホスト名がmysql***.phy.lolipop.jp (***は数字)のmysqlサーバは96台
    こちらはDNSで名前解決できるので、外部からでもIPがわかり接続を試みることができます。
  • ホスト名がmysql***.phy.lolipop.lan (***は数字)のmysqlサーバは5台
    こちらはDNSで名前解決できないので、外部からIPがわからず接続を試みることは困難です(他に推測する方法があるかも知れませんが…)。

ロリポップのmysqlサーバに外部から接続できか否か

外部から接続した場合、mysqlサーバの応答については主に2種類に分かれました。以下のtelnetコマンドを使用して、応答があるか見てみました。

telnet mysql***.phy.lolipop.jp 3306
  • 外部ネットワークから接続できないケース
    Host '*.*.*.*' is not allowto connect to thismysql server

    上記はmysqlサーバ側で外部ネットワークはdisallowであると設定されていると考えられます。したがってこのメッセージが表示された場合、外部ネットワークから接続できないと判断しました。

  • 外部ネットワークから接続できるケース
    connect_ok
    こちらの画面(もしくは同様の画面)が表示された場合には、接続できたものと判断しました。

上記で判断した結果は以下のとおりでした。

  • mysql***.phy.lolipop.jp
    • 外部からmysqlに接続できるサーバ数 18
    • 外部からmysqlに接続できないサーバ数 78
      なおうち1台は該当ホストへのRouteがないようでした。
  • mysql***.phy.lolipop.lan
    こちらはすべてDNSの名前解決ができないため接続できないと判断しました

なお接続できるmysqlサーバに興味本位でID/PWを入力すると、不正アクセス禁止法に抵触しますので試さないことをお勧めます。

外部からの接続できるmysqlサーバも、実際には利用されていないサーバもあるかもしれません。また、今後の対応状況によっては、上記の数が変動することも予想されます。

本来であれば、サービスネットワーク以外からアクセスできないようにする(もしくはポート番号で落とす)のが常套手段だと思われるのですが、なんからの事情(過去の経緯?)で行なわれていなかったようです。

現在対応中とのことですので、適切に対応され、これ以上被害が拡大されず、早めに終息すること願います。