WordPressのサイトを立ち上げたらまず最初にしたいのがセキュリティ対策。特にハッカーにログインされないための工夫が必要です。
デフォルトのログインURLを変更する
ハッカーは次のようなWordPressのデフォルトのログインURLを狙ってきます。
https://proggy.jp/wp-login.php
https://proggy.jp/wp-admin/
これらを独自のものに変更することが大切です。
function.phpなどにコードを追加するなど、プラグイン追加無しで行うこともできますが、プラグインを使う方が楽にできます。
また、最近のこの手のプラグインは不正ログイン対策の様々な機能が入っているので、利用するのがおすすめです。
どのプラグインがいいのか?
不正ログイン対策の代表的なプラグインとしては、
があります。
結論からいうと、WP Cerber Securityがオススメです。
というのは、専門的な話になりますが、SiteGuard WP PluginはWEBサーバとしてApacheを利用しているのが前提になっています。Apacheの.htaccessという機能を利用し、ログインURLを変更しています。したがって、最近利用が増えているNginxというWEBサーバには対応していません。
Apacheを使っているならSiteGuard WP Pluginを使うのもいいと思いますが、移行時のことも考えるとNginxにも対応しているWP Cerber Securityを使っておいた方がいいでしょう。
またボット対策としては、SiteGuard WP Pluginは画像認識(文字の画像を読ませる)、WP Cerber SecurityはGoogleが運営するreCAPTCHAを利用しています。
どちらも有効なのでこの点は差は無いと思いますが、WP Cerber Securityはログイン履歴をしっかり保存していて、あやしいIPアドレスからアクセスされていないか確認できます。SiteGuard WP Pluginよりもこのあたりの機能がしっかりしています。
WP Cerber Securityの使い方
ログインURLを変える
まず通常のプラグインと同じように、WP Cerber Securityをインストール、有効化します。
WPCerberのダッシュボードから「メイン設定」タブをクリックします。
そして、以下のように設定します。
ダッシュボードのリダイレクトを無効にする | 有効化する |
---|---|
404ページを表示する | 「アクティブテーマから404テンプレートを使用する」を選択 |
カスタムログイン URL | ログインURLにしたい文字列を入力 |
wp-login.php を無効にします | 有効化する |
「アクティブテーマから404テンプレートを使用する」を選択していないと、デフォルトのログインURLにアクセスすると、白画面に「Not Found」とだけ表示されるWEBサーバの非常にシンプルな404画面が表示されてしまいます。ドメイン配下の適当なURLにアクセスした時に表示される「お探しの記事が見つかりませんでした」という綺麗にデザインされた404画面と差ができてしまいます。ボットはそのあたりの差をみつけてくるかもしれないので、全て綺麗な404画面になるようにこの選択をします。
「wp-login.php を無効にします」の設定をしても、このプラグインは賢こ過ぎて一度ログインが成功したIPアドレスからのアクセスだと、普通にwp-login.phpにアクセスできたりします。なので、動作確認を自分のパソコンからしていると、「あれ、アクセスできちゃうなぁ。」ということがあります。その場合は、携帯の電波でテザリングするなどしてIPアドレスを変えて試してみてください。
reCAPTCHAを導入する
ボットからのログインを防ぐため、reCAPTCHAを導入します。これはSiteGuard WP Pluginでは文字画像の認識で人とボットを区別していますが、WP Cerber Securityの場合はGoogle社のサービスであるreCAPTCHAを使います。
reCAPTCHAを導入すると、次のようにチェックを求められます。
さらに、毎回ではないのですが、時々ランダムなお題で画像を選択することを求められます。
reCAPTCHAを導入するには、次のページで「サイトキー」と「シークレットキー」を発行します。
「reCAPTCHAタイプ」には「
英語だと、
Error for owner – invalid key type
となります。
「サイトキー」と「シークレットキー」を発行したら、「アンチスパム」をクリックし、
「reCAPTCHA」タブをクリックします。「サイトキー」「シークレットキー」を入力し、次のように設定します。
WordPress ログインフォームの reCAPTCHA を有効にする | 有効化する |
---|---|
WordPress コメントフォームの reCAPTCHA を有効にする | 有効化する |
ログインしているユーザーへの reCAPTCHA を無効にする | 有効化する |
これでログイン画面でreCAPTCHAが動作するようになります。
reCAPTCHAはGoogle社が運営しているので、Google社への依存を強くしたくない!という原理主義的な考え方の方には合っていないかもしれません。その場合は、SiteGuard WP Pluginを使う方がいいかもしれません。
ログインのアクティビティを管理できる
まとめ
このように
なお、ConoHa VPSというサービスでKUSANAGIのWordPressサイトを立上げた経緯を次の記事に書きました。参考にして見てください。