WordPressへのブルートフォースアタック(総当り攻撃)の内容とその防ぎ方

ブルートフォースアタック(総当り攻撃)の内容とその防ぎ方 Web制作
記事の目的:Wordpressをブルートフォースアタック(総当り攻撃)から守る方法について知る

あなたのWordPressも攻撃を受けているかもしれません。

今回は、WordPressの多くが受けているサイバー攻撃

「ブルートフォースアタック(総当り攻撃)」「リスト型攻撃」について知ること。

そして、その対策についてまとめてみました。

腹が立つ攻撃ですが、その内容を理解して正しい対策を行えば大丈夫です。

しかし、何も対策を打たなければ、ハッカーに乗っ取られるのも時間の問題かもしれません・・。

 

知らぬ間に、あなたのWordPressは攻撃されている。

 

BOTを使った総当り攻撃で襲ってくる

BOTとはソフトウエアのrobot(ロボット)の略称。

BOTの仕事は、ランダムに大量のパスワードを入力して、正解か不正解かを調べることです。

ハッカーはこのBOTを使って攻撃を仕掛けています。

残念ながらこのBOTソフトはネットで簡単に手に入ってしまいます。

その使い方も解説しているサイトがあったりします。

この記事を読んでいるあなたでもすぐにハッカーに攻撃ができてしまいます。

だからこと、防御をしっかり整える必要があります。

 

ブルートフォースアタック(総当り攻撃)とは

とにかく数字やアルファベットなど順番に入力していく攻撃です。

最近はログイン画面ではなくwordpressのxmlrpc.phpファイルに対して行ってくることが多いそうです。

事前にIDは既にばれていて、xmlrpc.phpを通してパスワードだけを入力を試してくる攻撃です。

リスト型攻撃

WordPressの管理画面から、正しいIDとパスワードを入力すると誰でも管理画面に入ることができます。

攻撃をする相手は、まずIDを手に入れます。

手に入れたIDに対して、次々にパスワードを入力して正解を探す攻撃です。

パスワードの入力は、人が手で入力しているのではなくBOTを使って手当たり次第に調べています。

コンピュータ―が行うので、ものすごい数とスピードで勝手に調べているのです。

 

あなたのIDはバレバレです。ご注意ください。

パスワードはわかりませんが、WordPressのIDは簡単に調べることができます。

WordPressを利用したホームページを見つけたら、ハッカーはまずIDを調べます。

さーあなたも試してみましょう、URL入力欄に

「あなたのWPドメイン/?author=1」と入力してEnterキーを押すと

「 あなたのWPドメイン/author/admin/」とあなたのIDが表示されてしまいます。

ここではadminがあなたが使用しているWordPress管理画面のIDです。

こんな簡単に、他人には知られてはいけないIDがバレてしまうんです。ヤバ!

 

攻撃されている状況を「見える化」してみましょう

何の対策もしないで、放置しているとWordPressはほぼすべてが攻撃をうけています。

あなたのWordpressが、どれだけ攻撃されているか見てみましょう。

「SiteGuad WP Plugin」というプラグインを設置して2~3日後にログイン履歴を確認してみましょう

「ログイン履歴」を確認すると・・・

結果:失敗 というリストがあったら攻撃されている可能性が高いです。

ここでは、一つは自分が打ち間違えてエラーになったもの、もう一つは見知らぬIPアドレスからでした。

タイプ:XMLRPC と記録されています。ログイン名は自分の使っているIDになっています。

アクセスしているIPアドレスを調べてみると、私が使っていないビッグローブ株式会社のサーバーのIPでした。

このサーバーから私のID名で、何度もアクセスを失敗していました。

これは国内のサーバーからでしたが、多くは場合海外からのサーバーが多いようです。

 

ログイン履歴

 

XMLRPCとは、WordPressファイルの中になるxmlrpc.phpファイルのことです。

他のプラットフォームやデスクトップクライアントとの通信を担う機能のようです。

このファイルに直接アクセスし、botを使って複数のパスワードを入力してアクセスできるかを調べるのがXMLRPS攻撃です。

 

この攻撃を受けたのは、ブログの準備をしている段階なので、

検索エンジンには登録せず、評価もされず存在自体も知られていない時期です。

それなのに、このサイトの存在を知り、wordpressであることを知り、

アクセスIDまで調べて攻撃してる、困ったもんだ。

 

間違ってパスワードを突破されてしまえば、

攻撃者は堂々とログイン画面からIDパスワードを使ってサイトを乗っ取ってしまうんですね。

そんなことにならないようにセキュリティ対策をきちんとしないとね。

 

ブルートフォースアタックへの対策

WordPressにはセキュリティ対策用のプラグインがあります。

しかし、何にどのように効果があるのか知って正しく設定しないと効果がありません。

内容を確認をして、プラグインソフト+αの対策を行うようにしましょう。

ログイン画面からリスト攻撃を加える相手に対して、なすべき対策は

  1. 自分のIDを知られないようにする
  2. XMLRPC.phpにアクセスさせない、又はなくしてしまおう
  3. ログイン画面のアドレスを変更してアクセスされないようにする
  4. パスワードの入力に何度か失敗したらロックがかかるようにする。
  5. そもそもパスワードの桁数を増やして解析する負担を多くしてやる
  6. パスワード以外に画像認証や2段階認証を追加してBOTでは対応不能にする。

1.自分のIDを知られないようにする。

方法は2つあります。

① 「ブログ上の表示名」をIDと違うものにしてしまおう

② 「ブログ上の表示名」を探せないようにしてしまおう です。

 

① ブログ上の表示名を変える方法は、WordPressの管理画面から行います。

ユーザー設定画面

管理画面の「ユーザー」で管理者ユーザーを選びます。

ここに記録している「ユーザー名」が、ログイン画面のIDなのです。

デフォルトでは「ユーザー名」が「ブログ上の表示名」と一緒になっています。

ブログ上の表示名を変えてしまえば、IDはバレなくなります。

ここには「名」「姓」「ニックネーム(必須)」も入力するようになっています。

入力すると「ブログ上の表示名」を、ユーザー名、名、姓、ニックネームのいずれかから選べるようになります。

ブログ上の表示名を、ユーザー名以外に変えることで見える名前を変えられます。

 

② ブログ上の表示名探探せないようにしてしまおう、というのは、

「あなたのWPドメイン/?author=1」を入力しても、表示されないようにする方法です。

少し難易度が上がりますが、functions.phpにコードを追加することで

ネームを表示させないような設定ができます。

以下のコードを、functions.phpに記入します。(コピペします)

//authorでアカウントIDを非表示
	function author_archive_redirect() {
	   if( is_author() ) {
	       wp_redirect( home_url());
	       exit;
	   }
	}
	add_action( 'template_redirect', 'author_archive_redirect' );

※functions.phpは、少しでも間違ったコードが書かれると、ホームページが表示されなくなってしまいます。

必ず、控えを取ってから、自己責任でお願いします。

2.XMLRPC.phpにアクセスさせない、又はなくしてしまおう

WordPressには、xmlrpc.phpというファイルが付いています。

ハッカーはこれを利用します。しかし、無くしてしまえば攻撃ができないのではないでしょうか

XMLRPC.phpファイルを利用して狙ってくる相手に対して

  1. XMLRPC.phpにアクセスさせないようにする。
  2. または、XMLRPC.phpを削除する。

という方法もあります。

XMLRPCをなくしてしまっても問題はないのですが、xmlrpc.phpを利用したプラグイン(JetpackやAKismetなど利用している方は使えなくなってしいます)を利用している方は、事前に調べてから対処しましょう。

アクセスさせないようにする対策として、.htaccessにコードを追加する方法があります。

以下のコードを.htaccessに記入します。(コピペします)

#xmlrpc無効化
<Files "xmlrpc.php">
order deny,allow
deny from all

XMLRPC.phpが無効化されて、利用することができなくなります。

※あくまでも自己責任でお願いします。

 

3.ログイン画面のアドレスを変更して、アクセスされないようにする。 4.パスワードの入力に何度か失敗したら、ロックがかかるようにする。

これに関しては、セキュリティープラグインを利用するのが間違いない。

おススメのプラグインは、

おすすめ1、SiteGuad WP Plugin

日本製、シンプルでわかりやすい。設定も簡単です。上記の項目を確認しながら正しく設定しましょう。

SiteGuard WP Plugin – WebセキュリティのEGセキュアソリューションズ

 

おすすめ2、All In One WP Security & Firewall

WordPressをマルチサイトで利用している場合、「SiteGuad WP Plugin」は利用できません。

そんな時はAll In One WP Security & Firewallを使いましょう。少し前まで英語表記でしたが、最近日本語対応してくれたのでとても分かりやすく使いやすくなりました。

All-In-One Security (AIOS) – Security and Firewall
All-In-One Security (AIOS) は、WordPress 用に特別に設計された包括的で使いやすいセキュリティ プラグインで、Web サイトを保護します。

 

※設定具体例は、後日追加します。

 

5.そもそもパスワードの桁数を増やして解析する負担を多くしてやる
6.パスワード以外に画像認証や2段階認証を追加してBOTでは対応不能にする。

については、直ぐに取り入れられるので割愛します。

最後におまけ、

 

海外IPのアクセスを制御する

 

以前このブログに攻撃を仕掛けてきたのは、日本のサーバーでした。

しかし多くの場合、攻撃してくるのは海外のサーバーからが多いようです。

ですから海外のサーバーのIPアドレスは、受け付けないという設定を行います。

現在わたしが利用して、分かっているのは、

エックスサーバーさくらインターネットの2つのサーバー会社です。

この2社のサーバーでの海外IP制限方法をご案内します。

xseverはここを調整

 

さくらサーバーならここを調整

 

これを設定することで、海外からの攻撃を防ぐことができます。

 

注)Googleのサービスなどでは海外からアクセスして確認するようなものもあります。

その場合、この海外IPをブロックする設定を行っているとサービスが受けられなくなることがありますのでご注意ください。