WordPress のセキュリティ対策に必要なログインページのURL変更や、海外アクセスブロックなどの機能をまとめたプラグイン「SiteGuard WP Plugin」の設定方法と使い方をご紹介します。
WordPress に対するブルートフォースアタック(総当たり攻撃)対策や、不正アクセス防止のための管理ページ(wp-admin)アクセス制限も、SiteGuard WP Plugin で対処できます。
各項目の設定も非常に簡単ですし、日本製のプラグインなので初心者でも安心して使えます。
WordPressのセキュリティなんてわからんという方は、SiteGuard WP Plugin をインストールして、最後の「SiteGuard WP Plugin 参考設定」の通りにしておけばOKですよ。
WordPressのセキュリティ対策
WordPress は世界中で使われているオープンソースのコンテンツマネジメントシステム(CMS)です。世界の CMS の中でシェア1位を誇り、世界中で様々なテーマやプラグインが開発されています。
しかし、オープンソースのCMSでこれだけシェアが大きいと、逆に攻撃対象になりやすいということを意味します。実際にWordPress の脆弱性を突いた攻撃が多く、不正アクセスの対象になることも増えました。
もちろん、脆弱性が見つかればその都度対策されるのですが、WordPress は利用者の知識やセキュリティのレベルがバラバラなので、対策が遅れることも多く、攻撃側とのいたちごっこが延々続いています。
WordPress には誰でも自由に使えるというメリットと、脆弱性への対策は自分で対処しないといけないというデメリットがあります。そのデメリットを補うには、自前でセキュリティを強化して、自分のサイトやブログを守る必要があります。
とはいえ、セキュリティの強化と言われてもなぁ・・・という方も多いでしょう。そんな時にオススメするのが、様々なセキュリティ機能を1つにまとめたWordPressのセキュリティ対策プラグイン SiteGuard WP Plugin です。
セキュリティの知識がない初心者でも簡単に設定することができるので、これをインストールしておけば、大抵の WordPress に対する攻撃からサイトを守ることができます。
SiteGuard WP Plugin インストール
では、早速 SiteGuard WP Plugin をインストールしてみましょう。ダッシュボードの左側メニューから「プラグイン」→「新規追加」に進み、右上の検索窓で「SiteGuard WP Plugin」を検索してください。
SiteGuard WP Plugin を「いますぐインストール」して、プラグインを有効化すれば使用準備は完了です。
※ このプラグインは、インストールするとログインページのURLが変更されます。すぐにダッシュボードの「SiteGuard」→「ログインページ変更」をクリックして、新しいログインページのURLをブックマークしておいて下さい。管理者にはメールでログインページURLが届きます。
SiteGuard WP Pluginの設定方法
SiteGuard WP Plugin をインストールすると、ダッシュボードの左メニューに「SiteGuard」が表示されるようになります。クリックすると SiteGuard WP Plugin の設定画面に移動します。
SiteGuard WP Plugin で設定できる項目は以下の通りです。
- 管理ページアクセス制限
- ログインページ変更
- 画像認証
- ログイン詳細エラーメッセージの無効化
- ログインロック
- ログインアラート
- フェールワンス
- XMLRPC防御
- ユーザー名漏えい防御
- 更新通知
- WAFチューニングサポート
SiteGuard WP Plugin の初期設定はダッシュボードで確認可能で、チェック入りの項目が有効になっています。また、下にログイン履歴も表示されます。この状態ですでに各機能が有効になっているので、設定が面倒だという方は、このまま使っても問題ありません。
各項目の設定は、全て上部の ON/OFF スイッチで切り替えて、「変更を保存」をクリックすることで反映されます。一つ注意点ですが、ON/OFF スイッチだけでは設定は変更されません。必ず 「変更を保存」クリックを忘れないようにしてください。
では、各設定項目を見ていきましょう。
管理ページアクセス制限
ログインしていない接続元をIPアドレスでチェックして、管理ディレクトリ /wp-admin/ 以下のファイルにアクセスできないようにします。外部アプリなどと連携が必要なファイルは、除外パスを入力してログインの有無にかかわらずファイルにアクセスできるようにしておきます。
デフォルトでは OFF になっていますが、管理ディレクトリ /wp-admin/ 内には重要なファイルが多いので、当ブログでは ON に変更しています。
ログインページ変更
ログインページURLを変更します。初期値は「login_<5桁の乱数>」ですが、好きな名称に変更できます。
WordPress のログインページ URLは、通常「http://ドメイン名/wp-login.php」となっています。ログインページ URLはどの WordPress でも共通なのですが、ここを変更するだけで入口の見当がつかなくなり、かなりのセキュリティ向上が見込めます。
画像認証
ログイン画面に画像認証を設置できます。画像認証をONにするとログインページで日本語の入力が必要になるので、海外からの不正アクセスやブルートフォースアタック(総当たり攻撃)、コメントスパムなどの攻撃を受ける確率がぐっと下がります。
ログインページに画像認証が追加された状態です。「上に表示された文字を入力してください。」に表示されているひらがなや英数字を入力しないと、ログインできなくなります。これで海外からの攻撃はほぼ無効化できますよ。
ログイン詳細エラーメッセージの無効化
WordPressにはログイン失敗時に原因をエラーメッセージで教えてくれるという 余計 親切な機能があるのですが、このエラーメッセージをすべて同じ内容にします。これでユーザー名やパスワードの絞り込みが難しくなります。
ログインロック
ログインロックは繰り返しログインに失敗したユーザーをしばらくの間ロックできます。ブルートフォース攻撃やリスト攻撃等の連続攻撃に有効な機能です。
ログインアラート
ログイン時にメール通知される機能です。ログインすると、管理者のメールアドレスにログイン元のIPアドレス、リファラー、ユーザーエージェントが通知されます。
不正ログイン検知に有効な機能ですが、ログインするたびにメールが届くので、当ブログではOFFにしました。
フェールワンス
毎回のログイン時に初回だけログインを失敗させるという機能です。必ず一度はエラーになるので、初回から正しいログイン情報を入力しても間違いだったのかと勘違いさせることができます。
初回だけとはいえ、いちいちエラーになるのは面倒なので、ここもOFFにしてます。
XMLRPC防御
WordPress のピンバック機能、またはXMLRPCのどちらかを無効化します。
ピンバックは他のサイトからリンクされたことを知らせてくれる機能ですが、このピンバック機能を外部から悪用された場合、DDos攻撃(大量のアクセスを送ってサーバをダウンさせる)の踏み台になってしまいます。
これを防ぐために、ピンバック機能は無効化しておきましょう。
XMLRPC はスマホアプリなどの外部システムから記事を投稿したり、画像をアップロードするときに使うプロトコルで、有効にしておくとブルートフォース攻撃を受ける可能性があります。
ただし、無効化するとXMLRPCを利用したプラグインやアプリが使えなくなるのでご注意を。
ここをONにする場合は基本的にXMLRPC無効化を選びますが、XMLRPCを利用した外部アプリやプラグイン(Jetpack等)に不具合があれば、ピンバックのみ無効化してください。
ユーザー名漏えい防御
「ユーザー名漏えい防御」は、ユーザー名の特定を防いで漏えいを防止します。
WordPressはサイトURLの後ろに「/?author=1」を追加すると、ログインで使用するユーザー名が表示されますが、この機能をONにすると、ユーザー名の表示を止めることができます。
WordPressはユーザー名とパスワードの組み合わせでログインするので、片方がフリーになると一気に攻撃されるリスクが高まります。ユーザー名は隠したほうが安全です。
この機能をONにしておくと、ユーザー名を隠すプラグイン「Edit Author Slug」等は不要になります。
また、ユーザー名はREST APIでも確認できるので、オプションの「REST API 無効化」にもチェックを入れておくと安心です。
ただし、REST APIを無効化すると動作しないプラグインもあるので、除外プラグインのリストにプラグイン名を追加してください。
更新通知
WordPress 本体、プラグイン、テーマの更新が必要な時にメールでお知らせしてくれる機能です。更新の有無はダッシュボードに表示されるので、マメにログインされてる方は必要ないでしょう。
WAFチューニングサポート
WAF(ウェブアプリケーションファイアウォール)が導入されているサーバーで、誤検知を回避するための設定機能です。さくらやロリポップなどのWAF導入済みサーバー以外であれば、設定する必要はありません。
さくらインターネット レンタルサーバ-機能詳細 WAF(ウェブアプリケーションファイアウォール)http://www.sakura.ne.jp/function/waf.html
SiteGuard WP Plugin ログインできない場合
SiteGuard WP Pluginを有効にすると、ログインページのURLが wp-login.php から login_ + 5桁の数字(例:login_12345) に変更されます。
そのため、変更後のログインURLをブックマークしておかないと、WordPressにログインできない場合があります。
こんな時はFTPでサーバーのWordPressディレクトリにアクセスして「.htaccess」ファイルを開くと、ログインURLを確認することが可能です。
RewriteRule ^login_12345(.*)$ wp-login.php$1 [L]
.htaccessをメモ帳などで開いて、上記コードを探してください。「login_12345」という部分が、SiteGuard WP Pluginによって変更されたログインページのURLです。
SiteGuard WP Pluginを有効にしたら、必ずログインURLをブックマークしておきましょう。
SiteGuard WP Pluginを無効化するとログインできない
SiteGuard WP Pluginの設定で「ログインページ変更」を使うときの注意点です。
WordPressのダッシュボードでSiteGuard WP Pluginを無効化してまた有効化すると、以前のログインページURLが変わってしまうのでログインできなくなります。
これを知らないと、ログイン時に突然「404 NOT FOUND」が表示されるのでびっくりします。
WordPressのメンテナンスやサイトの引っ越し等でSiteGuard WP Pluginを無効化したら、必ず元のログインページURLを確認して、次に有効化したときに戻しておきましょう。
SiteGuard WP Pluginでセキュリティ対策
WordPress のセキュリティ対策は、本来ならそれなりの知識と技術が必要なのですが、SiteGuard WP Plugin を使えば、初心者でも簡単にセキュリティを強化することができます。
特に海外からの不正アクセスやブルートフォースアタック(総当たり攻撃)は、このプラグイン1つでほぼ100%防御できるでしょう。また、wp-admin へのアクセスを制限しておけば、大抵の不正ログインも防ぐことができます。
各項目の設定も非常に簡単ですし、初心者でも安心して使えます。「セキュリティなんてわからん」とお嘆きの方は、ぜひ一度 SiteGuard WP Plugin を使ってみてください。
ただし、最近人気のブログテーマ「SWELL」とSiteGuard WP Pluginは相性が悪いようで、ログイン画面にアクセスできなかったり、SWELLで不具合が起こるみたいです。
SWELLと併用される際は、事前にテストしてみてください。
SiteGuard WP Plugin オススメ設定
最後に当ブログのオススメ SiteGuard WP Plugin 設定を載せておきます。初心者の方やセキュリティ設定がわからない方は、この通りにしておけばOKです。
ただし、他のプラグインと機能がバッティングすることもあるので注意してください。
「ON」にしたもの
管理ページアクセス制限
ログインページ変更
画像認証
ログイン詳細エラーメッセージの無効化
ログインロック
XMLRPC防御
ユーザー名漏えい防御
「OFF」にしたもの
ログインアラート
フェールワンス
更新通知
WAFチューニングサポート