かわたま.net

Enjoy Creative! かわたまのwebメモ

wordpress管理画面の不正アクセスを防ぐためにまず最初にしておくべき設定

2015 January 14

Tag:

ブラウザから記事の編集やテンプレート編集ができとっても便利なwordpress。
便利な反面、ユーザ名/パスワードが分かれば誰でも管理画面にアクセスできるため、サイトの乗っ取りやファイルの書き換えなど、標的にされやすい怖さもあります。

安心してサイトを運営するために、wordpressをインストールしたらまずしておくべきセキュリティの設定をまとめます。

目次
1, ユーザー名、パスワードの決め方
2, 投稿者の表示を「ユーザ名」ではなく「ニックネーム」に変更
3, AuthorアーカイブページのURLをカスタマイズするプラグイン「Edit Author Slug」をインストールする、もしくは Authorアーカイブページを無効にする
4, 管理画面の不正アクセスログを表示してくれるプラグイン「Crazy Bone」をインストール

1, ユーザー名、パスワードの決め方

ユーザー名、パスワードどちらもサイトから連想されるような文字列(サイト名、adminなど)や、短すぎるものはやめましょう。パスワードは、パスワードを生成してくれるサイトなどを利用して、なるべく強度の高いものにします。

2, 投稿者の表示を「ユーザ名」ではなく「ニックネーム」へ変更

デフォルトだと、投稿者の表示名はおそらく「ユーザー名」になっています。
記事ページで投稿者名を表示してないとしても、テーマによっては「メタ情報」内に投稿者の情報が入っている場合もあります。
この「ユーザー名」はもちろん管理画面にログインする際の「ユーザー名」ですから、これがサイト上で見えるのはとっても危険!
「ユーザー名」が確定したところで、パスワード総当たり → 不正アクセス → サイト乗っ取り・・・なんて恐ろしいことになってしまうこともあるようです。

管理画面ツールバーの「ユーザー / あなたのプロフィール」から、「ニックネーム」を設定して、「ブログ上の表示名」をニックネームに変更します。

kawatama.net

これで、投稿者の情報はニックネームで表示されるようになります。

3, AuthorアーカイブページのURLをカスタマイズするプラグイン「Edit Author Slug」をインストールする、もしくは Authorアーカイブページを無効にする

2 で投稿者の表示名を「ニックネーム」に変更しましたが、これだけではまだ、Author アーカイブページのパーマリンクで「ユーザー名」が分かってしまいます。

【パーマリンクから「ユーザー名を割り出す方法】
『サイトURL/?author=1』(数字はページIDなので任意)にアクセスすると『サイトURL/author/ユーザー名』が表示されます。例えば、「ユーザー名」が「admin」の場合、『サイトURL/author/admin』となり、「ユーザー名」を第三者でも簡単に知ることができます。

この簡単な方法で「ユーザー名」を教えないようにするためには、このパーマリンクを変更するか、もしくは Authorアーカイブページを無効にする必要があります。

3-1:Authorアーカイブページのパーマリンクを変更するプラグイン「Edit Author Slug」の設定方法

kawatama.net

まずは「プラグイン/新規追加」で「Edit Author Slug」をインストールして有効化します。

管理画面のツールバー「設定 / Edit Author Slug」で、「Automatic Author Slug Creation」にチェックを入れ、「Author Slug」「nickname」に変更したら「変更を保存」。

kawatama.net

『サイトURL/?author=1』にアクセスしてみてURLの最後が「ニックネーム」になっていればOK、もしまだ「ユーザー名」のままだった場合は

管理画面ツールバーの「ユーザー / あなたのプロフィール」の一番下に「Author Slug」設定欄が追加されているので、設定した「ニックネーム」にチェックを入れて「プロフィールを更新」。

今度は『サイトURL/?author=1』にアクセスすると最後が「ユーザー名」でなく「ニックネーム」が表示されるようになります。

kawatama.net

3-2:Authorアーカイブページを無効にする

もし、Authorアーカイブページが必要なければ、『サイトURL/?author=1』などでAuthorアーカイブページにアクセスしたときはトップページにリダイレクトするように設定します。
私はできるだけ使うプラグインは最小限にしたいと思っているので、こちらの方法がおすすめです。

functions.phpに下記を追記します。

function theme_slug_redirect_author_archive() {
    if (is_author() ) {
        wp_redirect( home_url());
        exit;
    }
}
add_action( 'template_redirect', 'theme_slug_redirect_author_archive' );

これで、Authorアーカイブページにアクセスするとトップページにリダイレクトするようになります。

4, 管理画面の不正アクセスログを表示してくれるプラグイン「Crazy Bone」をインストール

「Crazy Bone」とは

kawatama.net

サイト管理画面にアクセスを試みたユーザーを記録し、一覧で表示してくれるプラグインです。
入力したユーザー名、日時、IPアドレス、国、ユーザーエージェント、ログインの可否を記録してくれます。

kawatama.net は小さいサイトですから、不正アクセスがどれくらい来ているのかなんて今まであまり気にしたことはありませんでしたが、このプラグインを試してみたら、、、震えました。

kawatama.net

数時間でたくさんアタックされています・・・。恐ろしい。

■「Crazy Bone」設定方法
「プラグイン/新規追加」で「Crazy Bone」をインストールして有効化します。
これだけ☆

あとは、ツールバーに「ユーザー / ログイン履歴」が追加されるので数時間待ってから確認してください。
フィルターを「全て」にして確認します。

kawatama.net

これで不正アクセスログを確認できるため、例えば「ユーザー名」が割り出されてアクセスを試みている形跡があったら、直ぐに「ユーザー名」を変更するなどいち早く対処できます。

以上がここ最近、私がしているwordpress管理画面からの不正アクセスを防ぐための設定です。
wp-login.phpにベーシック認証をかけて2段階認証にするのも良いみたいなので、近いうちにしてみようと思っています。
他にも必須な設定とかあったら是非教えて下さいm(__)m

今回参考にしたサイト:Think deeply, Do less, More effective