田舎に移住 ✕ ICTでゆるゆるスローライフ

元システム管理者の備忘録

*

サーバが落ちた原因はWordPressに対する不正ログイン。

      2014/11/07

スポンサーリンク
Photo:wordpress speed By:Sean MacEntee

 

ブログのアクセス数が急に減った。その原因は・・・サーバーが落ちてたという話。の続きのお話。

原因がなんとなーく発覚しました。

おそらく「WordPressのログイン画面に向けたブルートフォースアタック」です。

単なるメモリエラーとかだと思ってたのに、まさかの攻撃によるダウン。
幸い、乗っ取られるところまではいかなかったようです。

起こった症状、サーバダウン時にたてた仮説と、ログ確認や対処法などを残しておきます。
同じような症状が起こった人の道標になりますようにっと。

Photo:wordpress speed By Sean MacEntee

サーバーダウン時の症状確認から、検証、再起動まで

サーバが止まってるぞひゃっほいと、困ったときの再起動という魔法を使う前に原因切り分けのために少し検証をしてみます。

Pingで応答確認
とりあえず、ターミナルを立ち上げPingを飛ばしてみる。
返ってきているのでネットワークの疎通はOK。

サイトにアクセス(ブラウザから)
表示はデータベース接続確率エラー。
このエラーは主にwp-config.phpの記述がおかしい時にでるようですが、今まで普通に動いていたので今回はmysqlが動いていないだろうと。

ただ、何かしら表示されるということはapacheは生きている(はず)

SSHで接続
なんと、弾かれるという結果に。
SSHが繋がらなかったらどうにも動けん・・・・

と、いうことでブラウザから借りているサーバのコントロールパネルにログインしてそこからサーバを再起動することに。

再起動後は表示をはじめ、すべての通信が回復しました。

仮説

データベース接続確率エラーはmysqlが何かしらの原因で仕事放棄したため、apacheとのバディを解散したものだと仮説を立てました、

なので、調べる焦点はmysqlとapacheをメインに進めることに。

ログ確認

apacheとmysqlのログ確認やー!と意気込んでは見たものの、mysqlのログを設定していなかったことに気付くダメっぷり。

なのでapacheのログをメインに確認しました。
使用しているサーバはCentOS。
ログの場所はデフォルトのまま。

とりあえず
/var/log/httpd/access_log
/var/log/httpd/error_log
の2種類を確認します。

サーバが落ちた日時の1日前くらいからログを確認していきます。
lessなり、viなり、ダウンロードしてテキストエディタで開くなりお好きな方法でどうぞ。

wp-login.phpに不正アクセス

ログを確認していると、サーバがダウンした日にwp-login.phpに対してかなりのアクセスがあるのを確認しました。

ジャブの如く数回のアクセスがあったあと、ご丁寧に別のIPアドレスからまとめてアクセスしてくれるというスタイル。
しばらく時間をおいてまた攻撃・・・アウトボクサータイプか・・・!

で、ログを眺めていると見慣れない記述を発見しました。

[% tools.ua.random() %]

怪しいニオイ、ぷんぷん。

とりあえずググってみるとこのUAからログイン画面へのアクセスもかなりあるとのこと。

ツールとかボットネットみたいなもんですかね?

とりあえず、迷惑な話です。

サーバが落ちた原因

さて、肝心の原因ですが「データベース接続確立エラー」を調べていた際に気になることを見つけました。

どうも、アクセスが集中した時にでることがある、と。

ということは

アタックによる大量アクセス  からの  WordPressがテンパッてフリーズ

って考えるのがしっくりくるかなーというところに落ち着きました。

サーバが落ちて以降、アクセスログを見るとアタックは止まっているようです。

ブルートフォースアタックは乗っ取りが成功するか、サーバが落ちるまで続くとは聞いていたもののまさかねー。

とりあえず、急ぎで管理者名とパスワードの変更は済ませました。

ちょっと今後は、ログインした動きを記録できるように設定やらプラグインを導入しようかなと。

あと、買ってなんとなくしか読んでなかったサーバーやセキュリティに関しての本、読みなおそう。


スポンサーリンク

 - WordPress, 小ネタ

ad1

スポンサーリンク

ad1

スポンサーリンク

  関連記事

スマホで防水機能は必要なのか??

スポンサーリンク   スマホ歴8年の僕がiPhoneを使わないたった1 …

timeismoney.jpg
サラリーマンがブログを1日3記事書くためのタイムスケジュール(案)

スポンサーリンク あくまで案です、案。 1日1記事じゃ甘ぇ!ということで、ブログ …

au-uq.jpg
通信費節約のため格安simにしたら月に4000円もダウン!

スポンサーリンク 【月額】約8,000円 機種代と基本料、通信費などが込みでこの …

odoroki.jpg
あの【賢威】を安く買う方法!

スポンサーリンク ここ最近、アフィリエイトもやってみようということでちょこちょこ …

Androidの開発者向けオプションをさくっと表示する方法

スポンサーリンク さーて、Xperia ZL2(Android4.4)を開発者向 …

ssh_connect
【WordPress】更新・プラグイン・テーマなどのインストールをSSHで行うための設定

スポンサーリンク ローカルでのテスト環境ならftpでもいいのですが、公開している …

Google Chromeを全てのユーザーにインストールする

スポンサーリンク Google Chromeを普通にインストールすると、ユーザー …

【作】MacからWindowsのファイルサーバに接続するためのAppleScript

スポンサーリンク 作ったってほどでもないんですが・・・。 Windowsのファイ …

batterybox-mail.jpg
BatteryBoxがいつ届くのか英語で問い合わせてみた。

スポンサーリンク 先日、BatteryBoxより「送るから住所教えてよ!」とメー …

android5uqtitle.jpg
androidをアップデートしたらUQ mobileに繋がらなくなった時の対処法

スポンサーリンク 過去記事通信費節約のため格安simにしたら月に4000円もダウ …