2019/06/01SHAREツイートシェアはてブLINEPocketゴールデンウィーク明け、管理サーバが仮想通貨マイニングの踏み台にされるという衝撃的な事態に直面してしまいました。なんとか事態はおさまりましたが、なかなか巧妙に仕組まれていて非常に苦しみました。今回管理サーバが仮想通貨マイニングに悪用されてしまった詳細をまとめてみます。仮想通貨マイニングとは?そもそも仮想通貨のマイニングって何って人も多いと思います。ビットフライヤーさんではこのような解説をしています。ビットコインのマイニングとは?ビットフライヤーしっかり読み込んでもよくわかりませんよね?wてことで3行で説明すると・・・MEMO仮想通貨を取引情報の計算を手伝う手伝ったら仮想通貨でお駄賃が貰えるでも計算処理はスゲー負荷がかかるので普通のパソコンじゃツライこんな感じですかね。ようは仮想通貨を貰って稼ぎたいけど自分で高価なサーバとか買ったら元取れん。世界中に転がっているわきが甘そうなサーバを間借りさせて貰っちゃおうか。これが仮想通貨マイニングの踏み台攻撃?と考えて下さい。Serverという製品を使ったシステムです。Serverの深刻な脆弱性が発見され、緊急でパッチが公開されたんです。Serverの脆弱性(CVE-2019-2725)を狙う攻撃の観測こりゃまずい!緊急で対応しなきゃ・・・なんて思っていたら、すでに攻撃されていた!というちょっとマヌケな展開となってしまって大変お恥ずかしいところです。最初に気付いたのは監視からです。サーバのCPUが100%になっているという報告。慌ててサーバでtopコマンドを実行すると確かにCPUがほぼ100%に張り付いている。CPUを占有しているプロセスは何か?これがWeblogicサービスなんですね。最初は「なんだWeblogicの負荷が高まっているだけかな?」と思っていたんですが、netstatコマンドを実行すると何だか怪しいIPアドレス宛にずっと通信しているプロセスがある。ことでそのIPアドレスをGoogleに放り込んでみると・・・miningとの表示があり踏み台確定!!Weblogicの脆弱性をつかれ、何らかの攻撃を受けてしまったのはほぼ間違いない状況でした。攻撃のがいようとしては、Weblogicの脆弱性を利用して不正にサーバにアクセスし、/tmp配下にスクリプトを配置。そのスクリプトを実行するcronをWeblogicユーザで仕込み、あとは延々とスクリプトをループさせて実行させ続けるという手法でした。そのため一次処理としては、スクリプトを隔離し、cronを削除して、該当のプロセスをkillするという方法になります。恒久対策は?一にも二にもパッチを当てるコト。Oracle社から定期的にリリースされている累積パッチは当然定期的に適用する必要がありますが、緊急パッチが出たらこちらの方が深刻度は高いので急ぎで対応すべきです。一つ重要なのはファイアウォール設定です。今回のサーバは、もちろんDMZに配置してあるサーバでしたが、インバウンドの通信はガチガチに絞っているのに、アウトバウンドはスカスカだったんですね。アウトバウンドの通信を締めておけば、入り込まれても外に出られなかったのに・・・とこの辺りは明らかに設計漏れですね。右から左へ聞き流しているとこんな目に合うんだな・・・ということをまざまざと思い知らされました。公開サーバを構築する時、まずは通信設計を確実に行う事。常にパッチは最新の状態にして、外部からのアタックに備えるコト。自分が管理するサーバは、日本国内向けのサービスだから大丈夫だ!などとタカをくくっていてはイケません。インターネットは、世界中に繋がっているんだから。次の記事30代未経験者はプログラマよりインフラエンジニアが推奨される理...ブログ運営者:ピカタロウ副業システムエンジニアのピカタロウです。SEの転職事情、会社員の副業、若ハゲの悩みを中心に語っていきます。