Webの記録

WordPressで「ブルートフォースアタック」や辞書攻撃にあった時にやってみたこと。

投稿日:2014年4月7日 更新日:

この記事は約 5 分で読めます。

mac

昨年(2013年8月)、ロリポップのレンタルサーバーでWordPressサイトへの改ざん事件がありました。

その後も、「ブルートフォースアタック」や辞書攻撃があっているようですが、まさか自分のこのブログが攻撃されるとは思わず・・・。

自分なりに対策しているつもりではいたのですが、まだ他人事な感じでした。

そんな中、1件のお知らせから他人事ではなくなり、WordPress「ブルートフォースアタック」や辞書攻撃対策について改めて考えさせられたので、やってみたことを記録として残します。

目次

  1. 経緯
  2. やってみたこと
  3. 参考サイト・ページ
  4. まとめ


1.経緯

恐怖はいきなりやってきました。1通のレンタルサーバー会社からのメールで突然頭が真っ白になりました。

びっくりして自分のWordPressに、いつも通りログインしようとすると・・・ログインできなくなっていました。

lolii_2

幸い、「ブルートフォースアタック」や辞書攻撃を受けていても突破はされておらず、被害もありませんでした。

下記画像は、プラグイン「Crazy Bone(狂骨)」でみたログイン履歴画面で見た「ブルートフォースアタック」や辞書攻撃の履歴です。

log_err

これで見ると海外からのアクセスで、ユーザー名を「admin」でログインしようとしたことがすぐに分かります。

ユーザー名を「admin」のままにしていると、どれだけ危険かを痛感させられます。

ひとまずログインができる状態に(.htaccessの編集)して、今後に備えて対策開始です!(参考【ロリポップ「アクセス制限が実施された場合の対応方法」】)


2.やってみたこと

  • ウィルスチェック
  • パスワードの変更(長めのパスワード)
  • テーマやプラグイン、WordPress自体のバージョンが最新か確認
  • 不要なテーマ・プラグインは削除
  • パーミッションが正しく設定されているか確認
  • WAFの設定
  • ユーザー名IDを「URL/?author=1」で表示してしまうのを防ぐ(※1)
  • バックアップ


●ユーザー名ID「URL/?author=1」で表示してしまうのを防ぐ(※1)

実は、ユーザー名が「admin」でなくてもバレちゃう可能性があると分かってビックリ★
試しに自分のURLの後に「?author=1」を入れてみると、簡単にURLにユーザー名が出てしまいました。
(「1」がない場合は順番に数字を入れる)

そこで「functions.php」に記述追加することで、ユーザー名が分からないようにする方法を試してみました。

【参考】WORDPRESS.ORG日本語フォーラム「セキュリティ向上:ログインIDをURLにしたくない

//投稿者アーカイブを空欄化
add_filter( 'author_rewrite_rules', '__return_empty_array' );
//URLを非表示化
function disable_author_archive() {
	if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
		wp_redirect( home_url( '/404.php' ) );
		exit;
	}
}
add_action('init', 'disable_author_archive');

記述追加した後に、もう一度「URL/?author=1」をブラウザで試したら・・・見事にユーザー名を表示せずに404.phpへ飛んでくれました!


●今回役に立ったと思うプラグイン
1.「Login LockDown
連続して一定回数ログインに失敗すると、一定時間そのIPからはログインできなくすることができるプラグイン
2.Crazy Bone(狂骨)
WordPress のログイン履歴を保存するプラグイン
3.「Theme Authenticity Checker(TAC)」
WordPressテーマファイルに悪意のあるコードなどが埋め込まれていないかをチェックしてくれるプラグイン
4.「AntiVirus
WordPressのサイトテーマがウィルスに感染していないかを日々チェックして、異常があればメールでお知らせしてくれるプラグイン


3.参考サイト・ページ


4.まとめ

WordPressを始めて3年ちょっと。今までどこか他人事だったことが、こんなに身近で起こるとは思いませんでした。

何気に導入していたこともあったけれど、知らないこともたくさんありました。実際にいろいろ調べると奥が深いです!

今回特に実感したことは、「パスワードは複雑で桁数の多いものにすること」、「基本はテーマもプラグインも信頼性のあるものだけを使い必ず最新バージョンにすること」、「日々のメンテナンスやチェックが必要なこと」・・・などです。

WordPressは利用者が多く、とても便利ですが、その反面こうした攻撃に遭うこともあります。
新規で作るときは、本当にWordPressが最適なのかを考える必要があるし、利用するサーバーなどもしっかり検討しなくちゃいけないんだと思いました。

しかし、私はWordPressが好きなのでこうした攻撃をしてくる人が本当に憎いです!!

今回、ログインできるIPアドレスを制限して1カ所だけにしてしまったので、かな~り不便です。更新をどこでもできなくなってしまいました。安全と引き換えに、便利さを失ってしまった気がします(涙)

-Webの記録
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This blog is kept spam free by WP-SpamFree.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

WordPressプラグイン「NIVO slider light」でリッチなスライドショー簡単設置

この記事は約 1 分で読めます。 以前「jquery.nivo.slider.jsを使ってリッチなスライドショーにチャレンジ♪」で、「jquery.nivo.slider.js」というjQueryライ …

no image

ブラウザ別キャッシュクリア(一時ファイルの消去)の方法♪

この記事は約 1 分で読めます。 以前、Webサイトの更新作業をした後に、お客様から「前と表示が変わってない」と言われたことがあります。 キャッシュという、一度表示したページを早く表示するために一時フ …

no image

IllustratorとPhotoshopで刺繍風のイラストと文字を作ってみた。

この記事は約 1 分で読めます。布地に刺繍をしたみたいなイラストと文字をIllustratorとPhotoshopで作ってみました。 ※布地素材は既に用意している状態の説明です。

no image

無料Facebookアプリ「Pronto ContactForm」を試してみた♪

この記事は約 2 分で読めます。 最近、Facebook関連の便利なアプリをたくさん見掛けます。 Facebookページでお問い合せフォームが必要になった時に便利なアプリ「Pronto Contact …

no image

WordPressプラグイン「Easing Slider」でスライドショー簡単設置

この記事は約 1 分で読めます。 WordPressでカッコいいスライドショーを簡単に実現出来るプラグイン「Easing Slider」があったので、メモしておきます。 有料版もあるようですが、無料版 …