第8回 【WordPress】 プラグイン SiteGuard ログインURL変更ではなく、XMLRPC防御に利用 セキュリティ対策

WordPress GCP

1. 第8回 【WordPress】 プラグイン SiteGuard ログインURL変更ではなく、XMLRPC防御に利用 セキュリティ対策

環境:Debian 9 php 7.0 Apache 2.4.25 MySQL 5.7 Cocoon

目的:ログインURL変更ではなく、XML-RPC防御に利用

通常、WordPressでは、ログインURLを変更するために、プラグイン「SiteGuard」を利用されている人も多いと思います。検索したりするとそのような感じを受けます。

私は、「XML-RPC」の「Pingback 機能」を無効にすために利用させてもらっています。

NTTコミュニケーションズによれば、「Pingback 機能」について言及されています。

WordPress の Pingback 機能を利用した攻撃対策の強化について

オープンソースの CMS (Contents Management System) である WordPress の Pingback 機能を利用した、

大規模な DDoS 攻撃が多発しています。

また、ニュースなどによるとWordPressを利用している人気ブロガーのサイトもこの機能を悪用されサーバーダウンさせられたとも報じられていました。

ログインURL変更の機能を利用した場合

私は、何故か相性が悪いんです。

  • 「画像キャプチャ」を利用したログイン画面で画像が出ない。
    そもそも、画像が出ないからログイン自体ができなくなってしまう。
  • 「404 not found」の画面が2種類あり、一つの方ではサイドバーに設定しているウィジェットが「表示・非表示の設定」に関係なく、全て表示されるといった現象が出てしまう。
「404 not found」の2種類
  • 存在しないページにアクセスすると、通常の「404 not found」
  • 「/wp-admin」にアクセスされた場合、すべてのサイドバーウィジェットが表示されてしまう「404 not found」

そんなこともあり、利用方法を限定させてもらっています。

あまり衝撃的な感じは受けないかも知れませんが、私の場合、特に「tokyo2020 unofficial.com」においては致命的で、出し入れしている200以上のウィジェットがすべて表示されてしまいます。

だって、いくらロードバランサーを利用しているからといっても10ページ「404 not found」になっただけで、2000以上のウィジェットが同時に読み込まれるのはえげつないなと。

これは、編集画面「例、https://tohyo2020.org/wp-admin/post.php?post=999999999&action=edit」という投稿編集ページに外部からアクセスされても、同様です。

かといって、ネットで検索する限りにおいては同様の現象は見られていないようです。考えられることとすれば、

  • 「Facebookコメントプラグイン」「Pinterestウィジェット」の2種類を多用しすぎていること。
  • サイドバーにこの2種類のウィジェットを利用している人が見当たらないこと。
  • 「GCP」「OSなどの環境」「テーマ」この相性によるもの。

何が原因になっているのか調べようとも思いましたが、私にはちょっと無理だなと。

最終的に、「XML-RPC」の「Pingback 機能」を無効化することを目的に利用しています。

もう一つ、利用している機能。

ログイン詳細エラーメッセージの無効化

この機能も利用させてもらっています。下記の機能は嬉しい機能です。

ユーザー名の存在を調査する攻撃を受けにくくするための機能です。ログインに関するエラーメッセージがすべて同じ内容になります。ユーザー名、パスワード、画像認証のどれを間違えても同じエラーメッセージを表示します。

有効化する上での注意点

プラグインをインストールして有効化するだけなのに、注意点なんかないと思いますが、先程触れた部分で、

ログイン画面の「画像キャプチャ」が表示されない。

という可能性があります。ログインができなくなるので、バックアップを取っていないと気分的に相当やられます。

その注意点も含めて書いていきます。

手順の流れ
  • WordPress
    SiteGuard インストール

  • WordPress
    SiteGuard 有効化

    有効化した時の危険な回避ポイント

  • WordPress
    SiteGuard 必要な機能のみ頂く

    「XML-RPC」の「Pingback 機能」無効化
    ログイン詳細エラーメッセージの無効化

1.1 SiteGuard インストール

WordPress管理画面「プラグイン」「新規追加」の順番でクリックして次へ進みます。

1.2 ログイン後

SiteGuard WP Plugin」を検索して「今すぐインストール」「有効化」します。

この先注意です。

1.3 SiteGuard 有効化 危険回避ポイント

  1. 「有効化」した瞬間に「ログインURL」が強制的に変更されます。
  2. 「新しいログインページURL」を右クリックして新しいタブで開き、ブックマークします。

これ以上、余計なことはせずに次へ進みます。

1.4 SiteGuard 有効化 画像認証回避

画像認証が問題なく表示される人も多くいますが、私はそこから外れる人です。歩きながら後ろ向いて話してて小石につまずくタイプです。同じような人は気をつけたほうが良いです。

先程、新しいURLのブックマークが完了した時点から、どこもクリックせずに下へスクロールして、「SiteGuard」のところへマウスを持っていくと、色々とメニューが出てきます。

「画像認証」の部分を右クリックして新しいタブで開き、次へ進みます。

1.5 画像認証 即OFF

  • 初期設定「ON」→「OFF」
  • 「変更を保存」をクリックします。

これで、WordPress管理画面にログインできなくなることはないと思います。

1.6 SiteGuard ダッシュボード

SiteGuardのダッシュボードを見ると色々な機能があります。私が頂くのは次の2つの機能のみ。

  • 「XML-RPC」の「Pingback 機能」無効化
  • ログイン詳細エラーメッセージの無効化

1.7 SiteGuard 頂いた2つの機能

頂いた機能以外は、すべて「OFF」にさせてもらっています。

人によっては、必要な機能があると思いますので、他の機能については調べてみてください。私は自分で利用していない機能については細かく説明しませんし、できません。

1.8 「XML-RPC」の「Pingback 機能」無効化

詳細画面です。

Pingback機能を無効化する、あるいは、XMLRPC全体( xmlrpc.php )を無効化し、悪用を防止します。XMLRPC全体を無効化すると、XMLRPCを使用したプラグインやアプリの使用ができなくなります。支障がある場合には、本機能を使わないでください。

このように書かれています。冒頭のDDoS攻撃の対象となるのは「ピンバック機能」です。その他もすべて無効化すると支障を来す恐れがあるとのこと、私は石橋を叩いて叩いて渡らせるタイプ。「ピンバック機能」のみ無効にさせてもらっています。

もう、何度もエラー画面を見るのは嫌なので。

1.9 さいごに

通常の「SiteGuard」の利用方法とはちょっと違った利用方法かと思います。ですが、最低限のセキュリティ対策と、できる限りの軽量化とを両立することが一番良い結果を得る方法だと考えています。

そうすると、シンプルに必要な機能だけを利用させてもらい、他の機能は「OFF」にする。単純にこれが一番と思います。

次回は、「ログインURLのみの変更」と「きれいな 404 not found」ページが利用できるプラグインです。


次は、第9回です。


【コメント】 ※「メールアドレス不要」