3月4月と2カ月の長期休みを取っていたんだけど、その期間内にブログへの攻撃があったからその手口とか対処法を解説する。
と言ってもブルートフォースアタックという超メジャーなやつで別に乗っ取りというほど大した話ではないんだけど、メジャーだからこそ対策は必須。
ブログ運営者とかこれからブログを運営しようとしている人は参考にしてほしい。
この記事の目次(クリックでジャンプ)
ブルートフォースアタックとは
ブルートフォースアタックはウェブ上で不正アクセスを行うために用いられる最もメジャーな攻撃手段で、原理はチャリのダイヤルロックを0から9999まで全部試すのと同じ。
ターゲットとなるウェブサイトに手当たり次第にログインIDとパスワードを入力して当たればラッキーというもの。もちろん人の手でやってるわけでなく、悪意あるプログラミングによる全自動で、今回ガジェマガがターゲットになったのも本当にたまたま。
ブルートフォースアタックの目的はその先の犯罪
そしてブルートフォースアタックの主な目的はウェブサイトを乗っ取ることではなく、他人の名義で犯罪を行うことなんだ。つまり乗っ取れるならどこでもよくて、乗っ取る先の規模を問わない。ブログの規模が小さいからと言って安心はできない。
しかも乗っ取られると自分の名義で犯罪が行われるから知らず知らずのうちに片棒を担ぐことにもなるのが厄介。だから対策をしておくに越したことはないという話。
ちなみにブルートフォースアタックの主な攻撃元は中国らしい。イメージ通り。
ガジェマガはブルートフォースアタック対策済み
もちろんガジェマガは俺の生活の基盤でもあるから絶対に乗っ取られるわけにはいかないということでブルートフォースアタックの対策済み。実際にブルートフォースアタックを受けた際に来た通知が下記。
ユーザーネームadminを使ったIPアドレス108.160.134.158からのログインをロックしましたという内容。ブルートフォースアタックは無差別攻撃だからユーザーネームは世界で最も使われているであろう「admin」を使うらしい。現在adminを使っている人は変更した方がよさげ。
ガジェマガのブルートフォースアタック対策内容
上の通知が来たのは俺がワードプレスのプラグインでブルートフォースアタックの対策をしているからなんだけど、その対策内容は下記3点。
- ガジェマガのログインURLの変更
- ガジェマガのログインページの入力情報を追加
- ガジェマガのログイン試行回数を3回に限定
ガジェマガのログインURLの変更
ガジェマガに限らず50%のウェブサイトはワードプレスというウェブシステムで作成されているんだけど、ウェブ上にシステムがあるということはログインURL、ログインID、パスワードを知っていれば誰でもアクセスができてしまうということでもある。
実際下記がワードプレス運営者なら誰でも見たことがあるログイン画面で、ここにアクセスできればあとはユーザー名とパスワードを入力すればブログの乗っ取りが可能。ワードプレスによるブログシステムは意外に脆い。
そしてワードプレスのログイン画面のURLは意図的に変更しない限りは全て同じで(ウェブサイトアドレス/wp-admin)という感じになる。例えばガジェマガの場合は2week.net/wp-adminという感じ。
ログインページにアクセスされたところでユーザー名とパスワードがわからなければログインはできないんだけど、そもそもログインページにすらアクセスさせなければ乗っ取りの可能性は無くなる。どんな強固なロックよりカバーの方がバイクの盗難を防ぎやすいのと同じ。
ということでガジェマガはログインページのURLを変更しているんだけど、今回のブルートフォースアタックはログイン画面には到達してるから、URLの壁は突破されてた。マジで総当たりで攻撃してるっぽくてすごい。
ガジェマガのログイン失敗可能回数を3回に限定
ブルートフォースアタックは全自動でユーザー名とパスワードの総当たりを行う攻撃だから何度もログインを試行することが前提。つまり同じ人によるログイン試行回数に制限を設けてやれば対策が可能。
ガジェマガのログインページも対策済みで、ログインに3回失敗した場合はそのIPアドレスからのアクセスを一定時間遮断する。と同時に上で紹介したメールによる通知が行われて俺が攻撃に気付いたという流れ。
ガジェマガのログインページの入力情報の追加
ここまででブルートフォースアタックの対策はできているんだけど、実際の攻撃を目の当たりにして更に対策を追加することにしたのが下記。
ログインページにユーザー名とパスワードだけでなく簡易の計算結果の入力も必要にした。上の画像だと18+20だから38と入力しないとログインできない仕組み。この計算式は毎回変わる。
繰り返しになるけどブルートフォースアタックはプログラムによる自動攻撃だから応用が利かない。つまりワードプレスのユーザー名とパスワードを自動で入力出来ても計算まではできないから、これでより強固にブログを守れるというからくり。
ブルートフォースアタックの対策方法
ここまででブルートフォースアタックの話は終わり。ここからは具体的に対策しているプラグインとその設定方法を解説する。今全く対策していない人は参考にしてほしい。
All In One WP Securityをインストール
まずAll In One WP Securityをインストールする。(⇒ ダウンロード)
ユーザーログインの設定
ダッシュボード左側にWPセキュリティの項目が出現するから、その中から「ユーザーログイン」を選択して下記を設定する。
- ログインロックダウン機能を有効かにチェック
- 最大ログイン試行回数を設定
- ログイン再試行時間を設定
- ロックアウト時間の長さを設定
- 通知するメールアドレスを設定
総当たり攻撃の設定
次に左側メニューから「総当たり攻撃」(ブルートフォースアタック)を選んでログインページURLを任意の物に変更する。
これで設定を保存するとログインページのURLが変わってしまうから忘れないうちにお気に入りの登録を変更したい。
最後に同じく「総当たり攻撃」から「ログインCaptcha」タブを選択して「ログインページでCAPTCHAを有効化」にチェックを入れれば計算式の答えがログインに必要になる。
これで晴れてブルートフォースアタックの対策は完了。5分で終わる。
プラグインのアンインストールで設定解除も可能
ブルートフォースアタックを対策してしまうと怖いのが万が一自分が試行回数制限に引っかかってログインできなくなってしまった場合なんだけど、そんな時はFFFTPから直接プラグインを削除すればOK。
FFFTPは説明するとそれだけで一つの記事になってしまうから自分で調べてほしいんだけど、簡単に解説するとFFFTPを使えば自分が借りているサーバーのデータを直接管理することが可能。
つまりワードプレスのフォルダとかプラグインのフォルダがたくさん入っているから、All In One WP Securityのフォルダを直接削除すればいいだけ。
これによってブルートフォースアタックの対策が無効化されてログイン試行回数の制限が消えるからまたログインできるようになる。(⇒ FFFTPダウンロード)
最悪の事態を避けるために
繰り返しになるけどブルートフォースアタックの目的は他人の名義だから、ターゲットは全自動で選ばれるし規模の大小を問わない。
犯罪の片棒を担がされる無駄なリスクを背負わないために、ワードプレスでブログを運営している人は稼げている稼げていないに関わらず必ず対策に取り組んでほしい。あとユーザーネームにadminを使っている人は推測されやす過ぎるから変更するのがおすすめ。