TPDN Blog
2021-02-14

数多くのVPSで使われているDebian 10イメージに脆弱性がある件について

SolusVMの提供するイメージに脆弱性があるので、VPSでDebian 10を使っている人は今すぐ確認するべき

KEY POINTS
  • SolusVMの提供するDebian 10イメージに、脆弱なパスワードを持つユーザーがデフォルト作成されていた
  • 実際の攻撃事例が一般ユーザーに周知されたのは最近だが、1年半ほど脆弱な状態が放置されていた
  • SolusVMはVPS事業者に非常によく使用されている大手コンパネなので、VPSでDebian 10を使っている人は今すぐ確認するべき

LowEndTalkという格安VPS専門のフォーラムに、このようなスレッドが立ち、VPSユーザーに衝撃が走った。

SolusVMの提供するDebian 10イメージに脆弱性が存在し、実際の攻撃が確認されているとのことである。

脆弱性の存在が知れ渡ったのは2021年の2月頃だが、脆弱性を利用した乗っ取りは2020年の10月ごろにはあったらしい。

SolusVM側は一応脆弱性を把握しておりサポートページも用意されているようであるが、手厚い対応は全く期待できない雰囲気である。


SolusVMとは

https://solusvm.com/

Plesk社が提供するVPSのコントロールパネルである。 あらゆるVPSで使用されているもので、まさに大手であるといえる。

脆弱性について

脆弱なパスワードが設定されている「debianuser」ユーザーが、パスワード認証によるSSH接続可能な状態で作成されているとのこと。

一言で言えば、第三者が悪用可能なバックドアがデフォルトで入っているということである。

どのようにして利用されるのか?

debianuserというユーザーでSSH接続を行い、とあるパスワード(あえてここには書かない)を入力するだけで侵入が完了。

手順はものすごく単純であり、ビットコインのマイナーを仕掛けられる事件が多発している。

当然ながら自動で攻撃するBotの作成も簡単。実際Botがしらみつぶしにアタックをかけているようだ。

複数回のログイン試行すら不要なので、ufwのlimit sshでも妨害不可能。

さらにsudoの脆弱性との合わせ技でrootを取ることも可能である。

いつから脆弱だったのか?

該当のイメージは2019年10月に公開されていた模様。つまり1年半ほど脆弱な状態が放置されていたということになる。

どのような場合に侵入されるのか?

以下をすべて満たした場合に侵入されると思われる:

  • sshdをパスワード認証OKで運用している
    • この手のVPSの使い方としては、ぶっちゃけ言ってありえない
    • 公開鍵認証限定にしていれば、この手法で乗っ取られることは100%ない
  • SolusVMの提供するDebian 10イメージ or そのイメージをもとに改造したイメージを使っている
    • 2021-02-03以前に提供されていたイメージ
    • VPS業者の改造次第では侵入されないこともある?
  • 「debianuser」という怪しいユーザーを消さずに放置している

なぜバックドアができてしまったのか?

真相は公開されていないので不明である。 ユーザーや事業者の推測によれば、debconfとかpreseed周りでミスをして変なユーザーを作ったのではという説が有力である。

Debianはpreseedファイルを使うことでインストールを自動化できる。VPS用のイメージを作成する際にはよく使うとのこと。

関係あるかどうかはわからないが、脆弱なイメージからdebianuserを除去しただけと思われるイメージを使い/var/cache/debconf/config.datを確認したところ、こんなものが含まれていた。

Name: passwd/username
Template: passwd/username
Value: debianuser
Owners: user-setup-udeb

ユーザーにできる対策

SolusVMを避けることができればいいが、VPSを使う限り避けるのはかなり難しい。

SolusVMはこの手のコントロールパネルでかなりの大手である。どこでも使われていると考えてよい。 なのでSolusVMのコントロールパネルを使っていてもできる対策を考えるしかないのが実情である。

今から予防するなら?

  • SSHを公開鍵認証限定にする(超超超重要)
    • 対策も何も、VPSを使うならパスワード認証を使用しないのは常識である
    • これができないユーザーはVPSを絶対使うべきではない
  • SolusVMのイメージをそのまま使っていない業者を使う
    • 公式イメージを信頼できないから、イメージだけは自前でビルドしている業者も実は結構いる
    • そもそもSolusVMが起因のセキュリティインシデントは初めてではないらしい
      • そりゃ信頼してない業者が普通に居てもおかしくない
  • VPSを手に入れたら、まずはユーザーとかインストール済みパッケージとかを確認する
    • dpkg -lとか/etc/passwdくらいはサクッと確認できるだろう
  • もし可能であれば、イメージを持ち込む
    • 各種Linux Distro開発チームから公式提供されるisoファイルを使って自力でインストールすればよい
    • isoファイルが使えないなら https://netboot.xyz/ を使ってネットワークインストールするという手もある
      • この方法ならどこでもGentooInstallBattleできる
    • KVMやXenであれば可能かもしれないが、OpenVZやLXCだと厳しいのは言うまでもない

すでに侵入されていたら?

/var/log/auth.logとかにヤバイログがあれば再インストール一択。選択肢などない。

まあroot取られてたら証拠を消されてるかもしれないので、侵入があったかどうかを確実に判定できるとは思えないが・・・