植物分子生理学研究室
Lab for Plant Molecular Physiology, Fac Appl Biol Sci, Gifu University
サーバーKOされる
本研究室では植物プロモーターデータベース (Plant Promoter DataBase、略称ppdb)というものを運営している。2007年に名古屋大学遺伝子実験施設で開設して以来もう13年になるが、これまで一度も事故はなかった。
実は運営当初はほぼ丸腰(FireWallなしの全ポート全IP素通し、sshを開けつつパスワード設定あるも鍵認証なし)でやっていた。私にはそっち系の知識は全くなかったのである。 大学によるセキュリティ対策もなかった(全く何もなかった)。 今ならネットに繋いで1日放っておくだけで確実に乗っ取られるような設定である。が、何の問題も起きなかった。ウチのデータベースは金銭のやりとりはなく、データは植物科学の研究者にしか意味を持たないもので、しかもデータベースへのアクセスはフリーなのである。クラッキングの対象にはならない、と考えていた。
面倒ではあるが 今はそれなりに対策を講じている。いろいろと対応して頂ける業者の方とのお付き合いもできた (注1)。大学のセキュリティガイドラインも今はかなり厳しい。
のであるが、とうとう今週唸り声をあげつつサーバーがフリーズしてしまった。
唸り声というのは空冷ファンの音で、最近妙にファンがまわると思いファンの掃除をしたりしていたのだが(平和ですね)、結局フリーズ。ファイルが壊れて暴走してるのかと思い、用意してあった代替機に交換したとたんに代替機も目の前でフリーズし、ようやく事態を理解した。唸り声とフリーズの原因はIPなのであった。LANケーブルを抜けばサーバーは回復する。
考えられる原因としては、①非常識な学生もしくは研究者がweb経由で全データ抽出を試みている、②どこかの大学で大規模な学生実習の対象になってしまいアクセスが集中した、③意図的な攻撃(いわゆるDDoS)、の3つくらいである。挙げてはみたが①と②は大した負荷にはならないはずではある。アクセスログを見たところ、フランスとアメリカの複数のIPからBotを使ったアクセスが高頻度で来ていた、のでDDoSと確定した。
謎なのは動機である。金銭目的で狙うようなサイトではない。愉快犯だとしても一般的にはもっと目立つサイト、例えば東京オリンピックのサイトとかを狙うのではないか。とりあえずいくつか可能性を考えて見る: ①レベルの低い愉快犯(目立つサイトは歯が立たなかったので今回はしょぼいサイトを狙ってみた。でもスキルアップしていずれはもっと大きな仕事を、みたいな)、 ②私怨による狙い撃ち(「ヤマモトめ、こらしめてやる」)、③クラック組織の新人教育(「おい新人、このサイト落としてみろ」)、④日本の公共機関のサーバーならどれでもいいからダウンさせろ、という非営利組織による活動、⑤大学とサイエンスを憎むUnabomber的な組織の活動(フード付きパーカー+サングラス)、⑥ウェブセキュリティ関連の営利団体によるマッチポンプ的な販促、⑦競合的なデータベースを立ち上げようとしている営利組織の露払い的な活動。書いてはみたものの最後の⑦はなさそうに見えるので除外する。残り6つあるが、考え出すと気持ちが暗くなったのでやめる。②はないと信じたい。
とか言ってるうちにアクセス元の複数のIPはクラウドサービスを提供する会社であることがわかった(フランス、アメリカ) 。さらに、DDoSというよりは情報収集を目的とする多数のcrawler/botに対してウチの貧弱サーバーが 負荷に耐えられなかった 、という可能性が出てきた(つまりは攻撃ではない)。これなら動機の面からも納得できる。ウェブの情報収集をしている会社がクラウドを借りてクローラーを動かしている、ということになる。真偽は不明ではあるが、とりあえずはこの説に沿って対策することにした。
忘れていたが、昔はクローラーといえば検索エンジンのもの(GoogleとかBingとか)だけで、「入ってこないで」とタテカンを立てておけば済んだのである。いまどきは広告系の会社も参入して、タテカンがあっても入ってくるクローラーが多いそうな。タテカン無視はひどい話だが、それに加えて単一の会社が自社の利益だけのために多数(数十?)のクローラーを使って単一のウェブサイトの情報収集するのは異常であると思う。腹立たしいことである。
大昔私が外部のWebサービスを利用するロボットを作ったときには、アクションごとに10秒待つ(3秒だったかな)、というしきたりがあったのでそれに合わせていたように記憶している。今思えばとても上品なロボットである。技術員が手でやる方が早かった(!)のではあったが、処理数が多いと「10秒待ちロボット」の方が断然ラクになる。 夕方仕掛けて翌朝結果を回収した。 2000年頃の話である。
それにしても、被害者はいつまでも被害を受け、加害者は自由に加害を続ける、という状況はどうにかならないものか。攻性防壁の開発が望まれる。あるいは、電気代のかからないウェブ迷路みたいなのを用意して、お行儀の悪いクローラーにはそちらへ飛んでもらうのもよいと思う。象の墓場みたいにクローラーが吹き溜まっていくが、死んでなくて着々とクラウド代がかかっていくのである。
2020. 5. 21
お知らせ:ppdbは復旧しました:) PM1:30, 5/22
追加情報:その後業者の方と一緒に情報を整理していくと状況が見えてきた。最も可能性が高いのは攻撃性のないボットの増加により先週からアクセスが急増した、である。急増の理由はわからない。
今回の件では一般の正常なユーザー以外のアクセス元として以下の2つのグループが存在するようであった。①クラウドを使って同時アクセスによりウェブ情報収集をしている非常識な広告系のボット、②ユーザーエージェント(普通はSafariとかChrome、ボットならGooglebot等)とIPを偽装して同時アクセスによりウェブ情報収集をしている犯罪系のボット。②は個人情報を集めて悪用するのであろうか。IPを偽装しているならデータ収集ではなくDDoSになるが(あってるかな)、攻撃というよりは作業中の目くらましが目的かも知れない。①をブロックすると②が増えてしまったので、①と②は連携している可能性もある。とすると①も実は②だった、という可能性も無いわけではない。
圧倒的とまでは言えないアクセス頻度と、フラフラと増減しているアクセス数の挙動とから狙い撃ちの攻撃ではないと考える(動機の点からも納得できる)。②は妙に多数のIPから来ていたので始めは感心していたのではあるが、ユーザーエージェント同様IPも偽造していると考える方が自然である。IPを偽造するとサーバーからの情報は受け取れない(たぶん)。
①はすぐにブロックしたが、②の扱いが面倒である。とりあえずラフな応急処置を行なったが、対応に不安が残る。そのうち人間証明(注2)のできたユーザーだけを登録して利用許可する、みたいなことをしないといけないのかも知れない。
ここまで読んで気づかれた方もおられるかも知れないが、サーバーの刷新によるマシンパワー強化という対策が全く出てこなかった。貧乏ラボなのである。加えて私はケチな京都人なので、無縁のボットを受け入れるためにお金を出すなんてことはまずない(攻性防壁とかクローラーホイホイになら喜んで出す)。
さて、サーバーは唸り声を上げてフリーズしたものの、ファイルもマシンも無傷であった。ので、無事故記録は更新中ということになる:)
//
注1:私はサーバーの保守でこまごまとお世話になっているが、バイオのシステム開発も対応しますと紹介して、と言われたので載せてみる。興味のある方は山本まで連絡下さい。
注2:例えばトップページで「あなたは誰ですか?」という問いかけをしてみる。
人間なら:①名前を言う、②「長良大学ポスドク」、③「30代男」、④「長良共和国民」、⑤「昔は山崎で油売りしてました」、⑥「イワナパラダイス愛好家」、 ⑦「持病は適応障害です」、⑧「よく考えるとわからなくなってきました、この質問は深いですね」、⑨質問を無礼に感じて回答拒否、あたりが正常な回答として考えられる。クローラーなら回答しない(のでしょうね?)。なので、質面を「失礼ですが、あなたは誰だとお考えでしょうか?」に変えて⑨を拾えばOKである。
Highly Cited Researchers of Gifu University