この記事では、ブロガー向けにWordPressの不正ログイン対策を書きます。
WordPressのリスクは、不正ログインされやすいことです。
WordPressでは管理者ログインページが、インターネット上で誰でも見れる仕組み。
便利ですが、ID・パスワードが分かると誰でもログインできてしまいます。
ログインさえしてしまえば、サイトの内容を変え放題。
- 勝手に広告を入れられる
- ドメインを勝手に売られる
- 迷惑メールの送信に使われる
といった被害が考えられます。
KINSTAによると、WordPressのシェアは34%で全世界トップ。
攻撃者にとって、メインのターゲットとなります。
企業と違い、個人のWordPressでは自分で対策しないといけません。
そこでこの記事では、月間5万PV規模の当ブログで行っている不正ログイン対策を書きます。
特別な知識はいらない内容です。
ぜひ、読んでみてください。
WordPress 不正ログイン対策
- WordPressの更新
- ログインIDを隠す
- パスワードを複雑に
- ログイン試行を制限
- WAFを有効に
- IP制限
の6つです。
すべてやるのがベストですが、最低でも4まではやることおすすめします。
1.WordPressの更新
WordPress自体に脆弱性があると、不正ログインされるかもしれません。
- WordPress
- プラグイン
- WordPressテーマ
を最新の状態へ、常に更新します。
わたしは週に1度、アップデートをチェックするようにしています。
2.ログインIDを隠す
WordPressでは、最初はログインIDが公開されています。
IDとパスワードが分かると不正ログインされるため、まずIDを隠します。
ニックネームを設定
まず、投稿した記事の下の方。
コメント欄のあたりに書いた人が表示されますが、これがログインIDになっています。
「ダッシュボード」→「ユーザ」→「あなたのプロフィール」で変えられます。
ニックネームを設定し、「プロフィールを更新」をクリック。
「ブログ上の表示名」でニックネームを選び、さらに「プロフィールを更新」で完了です。
著者のアーカイブページ
自分が書いた記事の一覧ページのURL。
ここで、ログインIDが表示されてしまいます。
画像の「n_fx」というところです。
Edit Author Slugというプラグインで変えられます。
インストール後、「ダッシュボード」→「ユーザ」→「あなたのプロフィール」へ。
「カスタム設定」をえらび、適当な名前にしましょう。
「プロフィールを更新」をクリックすれば、完了です。
3.パスワードを複雑に
言葉を組み合わせる、などではなくランダムな長い文字列がベスト。
他のサービスで使っているパスワードは使わず、
- WordPress
- レンタルサーバ
それぞれに、別のパスワードを設定します。
パスワードを作るのには、このページが便利です。

このページが100%絶対安全!とは言い切れません。
出てきた文字列を、さらにいじくってから設定しましょう。
4.ログイン試行を制限
ログイン試行の制限とは、ログインに何度か失敗するとログインできないようにすることです。
ブルートフォースアタック※への対策になります。
ログイン制限は、SiteGuard WP Pluginというセキュリティプラグインで出来ます。
他にも多機能なセキュリティプラグインで、無料・日本語対応です。
ログイン制限については以下のような画面。
この画像の場合、5秒以内に3回ログインに失敗すると1分間ログインできなくなります。
ちなみに、ログインに画像認証を追加する機能も。
文字を読んで入力しないといけないので、自動化がむずかしいです。
また、日本語の「ひらがな」なので海外のハッカーはやる気をなくすでしょう。
5.WAFを有効に
Webサーバの前面に配置して通信を解析し、Webアプリケーションの脆弱性を突いた攻撃からWebサイトを守るためのセキュリティ対策(引用元)
です。
WordPressそのものに脆弱性があったとしても、アクセスをはじくことができます。
設定は、レンタルサーバからできます。
設定したほうがいいのですが、デメリットもあります。

WAFのせいで、設定が保存できない!
ことがたまにあるのです。
- ウィジェットでHTMLコードを保存できない
- テーマの設定が保存できない
などが起きたときは、WAFが原因のことが多いです。
一時的に外しましょう。
外れるのには、数分かかります。
少しめんどうですが、不正ログインを防ぐためならやむなしです。
6.IP制限
特定のIPアドレス(接続元)からのみ、ログインページにアクセスできるようにします。
ログインページ以外にも、WordPressの構成ファイルへの直接のアクセスを防ぎましょう。
サーバーにあるWordPressのファイルのうち、「.htaccess」というファイルを編集します。
「.htaccess」の一番上(# BEGIN WordPress より上)に、以下のコードを貼ります。
<Files ~ “^\.(htaccess|htpasswd)$”>
deny from all
</Files>Options -Indexes
<Files “wp-login.php“>
Order deny,allow
Deny from all
Allow from 00.00.00.00
</Files><FilesMatch “^(wp-config\.php|wp-cron\.php)”>
order allow,deny
deny from all
</FilesMatch><IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^xmlrpc\.php$ “http\:\/\/0\.0\.0\.0\/” [R=301,L]
</IfModule>
(引用元:WordPressのセキュリティを高める.htaccessの設定)
SiteGuard WP Pluginで「wp-login.php」の名前が変わっているなら、書き換えます。
「login_12345」など。
00.00.00.00のところは、自分のIPアドレスに書きかえましょう。
これで、自分のIPアドレスからはアクセス可能になります。
自分のIPアドレスが変わったときは、「.htaccess」を忘れずに書きかえます。
自分のIPアドレスは、こちらで見られます。
不正ログイン対策まとめ
WordPressのリスク
ID・パスワードがバレてしまうと、ログインされてしまうこと。
- 勝手に広告を入れられる
- ドメインを勝手に売られる
- 迷惑メールの送信に使われる
といった被害が考えられる。
WordPress 不正ログイン対策
- 更新する
- IDを隠す
- パスワードを複雑に
- ログイン試行を制限
- WAFを有効に
- IP制限
の6つ。
最低でも4まではやるのがおすすめ。