ライフハック

【ブルートフォースアタック】ブログが乗っ取られかけたのでその反省と対策について

ブログがブルートフォースアタックされたのでその反省と対策について

こんばんは。りんぽすです。私の運営しているこのブログがブルートフォースアタックされて乗っ取られかけたので、今回はその対策や被害を受けた際の対処について紹介します。結論から先に言うと、

解決方法

  • ブログ(サイト)のバックアップを取っておく
  • サーバーからブログの中身を全て消去し、バックアップしたものをアップロードする

対策

  • WordPressのログインURLを変更する
  • ログイン情報に文字認証を追加する

以上を行うことでブログが完全復活したのでその方法を備忘録としてまとめます。

そもそもブルートフォースアタックとは
ブルートフォースアタック(総当たり攻撃)は、暗号解読のために考えうる文字列の組み合わせを全て試すやり方。

WordPressでいえばログインに必要なパスワードを無限に試して不正にログインすること。ブログの規模の大小に関わらず犯罪に利用される可能性があるので気をつけたい。

突然ブログの管理画面へのアクセスが不可能に

普段WordPressを利用している人なら上記画像を見て異変に気づくかもしれませんが、明らかにレイアウトがおかしく(CSSが効いてない?)、さらにどのリンクをクリックしても403エラーが出てそれ以上何もできなくなりました。

403エラーなのでサーバー関連のエラーかと思いサーバーの障害情報を調べましたが特に起こっておらず、これは自分のブログが攻撃されたのでは?と思いました。それが実際に当たっており、ブログの中身を確認すると不自然なファイルが生成されていたり.htaccessが書き換えられたりしていました。

ブログが攻撃された反省とその原因は?

この「節約コーヒーらいふ」が攻撃された理由として最も大きなものは、ブログのログインURLを変更せずそのままにしておいたことだと考えます。

と言うのも、WordPressでブログやサイトを作成するとデフォルトで
http(s)://ドメイン名/wp-admin
がログインページになっています。意図して変更していなければここにログインすればブログを好き勝手弄れます。

WordPressはブログなどの管理システム(CMS)の中でもシェアが高く、それゆえに狙われやすいです。私も攻撃される前はデフォルトのままだったため狙われたのだと思います。

面倒くさがってURLを変更しなかった自分のセキュリティに対する甘さが引き起こした問題だということで猛省しています。

ブログを狙われないための対策は?

対策として新たに実施したことは

  • WordPressログイン画面の変更
  • ログイン情報に画像認証を追加
  • ログインミスの回数制限を追加

の3つです。これで完全に防げるかは不明ですが、このくらいセキュリティを厚くすれば不正ログインもおされにくくなるのではと思います。

WordPressログイン画面の変更

これは最優先で変更すべき事項です。先述の通りここに狙いを定めて攻撃してくる場合が考えらるため、デフォルトの「/wp-admin」ではないものを設定するようにしましょう。

その方法は簡単で、「SiteGuard WP Plugin」というプラグインを追加するだけです。これを追加して有効化することで、ログイン画面を変更することができます。

この画面に遷移し、自分の好きなURLを設定することで新しいログイン画面にアクセスすることができます。

ログイン情報に画像認証を追加

これに関しても先ほど追加した「SiteGuard WP Plugin」で行うことができます。画像認証のところにいくつか条件を追加してその状況で画像認証が追加されますが、これは自動で最初から書かれているので特に設定をし直す必要はないです。

ログインミスの回数制限を追加

ブルートフォースアタックはパスワードを適当に試行回数を機械的にこなすことで不正ログインを試みていますが、それを防ぐためにある程度ログインミスをするとしばらくロックがかかる設定をします。

そこで役立つプラグインが「Limit Login Attempts Reloaded」で、これもインストールするとあらかじめ設定されているので特にいじる必要はありません。

何回ログインミスをしてもいいか、そのミスの上限を超えるとどのくらいロックされるのか、など詳しく設定することができます。その回数や時間を変えるだけなので特に難しいことをする必要はありません。私はそのままで使っています。

バックアップを行うことが大切

レンタルサーバーの中には自動でコンテンツのバックアップを取ってくれているところもありますが、そうであっても有料だったり手間や時間がかかったりすることがあります。なので基本的にバックアップは自分で取るのがおすすめです。

バックアップに関してもプラグインで簡単にとることができます。それが「BackWPup」で、これをインストールしてジョブを設定することによってバックアップが取れます。

BackWPupのジョブの設定方法

ジョブを設定するには、BackWPupのジョブを選択することで行えます。新規ジョブ追加のところでそのスケジュール設定をすると自動でバックアップを取ってくれます。頻度は好みですが、私は毎週1回に設定しています。

あまり頻度が低いと更新したものが反映されなかったり、逆に頻度が高すぎるとバックアップしたものがサーバーの容量を圧迫して毎回選定するのが大変なので、週一程度がおすすめです。

バックアップの復元方法

バックアップを復元する方法ですが、自分の使っているサーバーにアクセスしてpublic_htmlの中にある該当するドメインを選択し、BackWPup→バックアップをダウンロードします。

ダウンロードして身を解凍したあとはもう一度ドメインのフォルダを開き、その中身を完全に消去して解凍したバックアップの中身をドメインのフォルダに入れます。

最後に解凍したフォルダの中にあるSQLファイルを取ってサーバーのMySQLにアクセスしてアップロードすれば完了です。

ちなみにSQLファイルが見つからないことがありますが、そのときは「○○○.sql.×××」のようなファイルがあると思うので、それを解凍すればSQLファイルが出てきます。

これでブログが前回のバックアップ通りに戻ります。念の為WordPressのパスワードは変更しておくと安心です。

まとめ

ブログの構築の知識がなくても簡単にブログをを始められるWordPressは便利でおすすめのシステムですが、運営会社がいるわけではないので自分の身は自分で守らなければなりません。

もし私のように攻撃されたことが判明したのであれば、今回のやり方を行えば比較的簡単にバックアップ時の状態に戻すことができます。

[speech_bubble type=”think” subtype=”L1″ icon=”me.jpg” name=”りん”]常日頃のバックアップは重要です。[/speech_bubble]