wordpressでのスマホ対応webサイト制作・wpプラグイン・PHPプログラム・SNS活用・ 動画・bgmやテーマ曲アレンジまで考えるコラム!

wordpress構成ファイルのxmlrpc.phpを無効化する方法【実は攻撃されやすい】

      2020/09/17

こんにちは、管理人@SS_mshpです。

今回は、wordpressの構成ファイルで、ちょっとクセのある『xmlrpc.php』を無効化してみます。

このファイルがどういう働きをしているのか、また、ほっとくとどんな影響があるのか、無効化にはどのような方法があるかをチェックします。

xmlrpc.phpとは?どのような影響があるの?

アプリ更新などに関係するファイル


管理人は普段この機能は使わないんですけど、『wordpressアプリ(Googleプレイストアなどにあります)』を使って、アプリから更新や編集をする場合、このファイルが絡んできます(xmlrpc.phpがないとアプリなどから更新ができないなどの例が報告されています)。スマホでサクッと記事を出せるのは、一見便利に見えます。

xmlrpcの影響~実は脆弱性あり・不正ログインなどの攻撃対象になりやすいファイル

しかしこのファイルには『ブルートフォース攻撃など不正ログインなどに狙われやすい』という特徴があります。以前、wordpress脆弱性の記事でも書きましたが、かなりの頻度で狙われている、というデータがあります。

(過去記事リンク)【セキュリティ・脆弱性対策2018】wordpressでサイバー攻撃されやすいファイルってどんなのがあるの?
https://sounds-stella.jp/music-creation/archives/5604

不正ログインされるのはもちろんリスクですし、破られなくてもファイルに大量のアクセスがあることは、サイト負荷で重くなるリスクもあります。

xmlrpc.phpを無効化する方法

特にアプリログインなどを使わないのであれば、攻撃リスクを避ける為に無効化しておいた方が安全といえます。ここではその方法を紹介します。

単純にファイルを消してしまう


FFFTPでサーバーにつないで、ファイルを削除してみます。場所はwordpressをインストールしたフォルダの(アルファベットの順的に)一番最後にあります。管理人が実験したところ、この『xmlrpc.php』を削除しても、wordpressシステムは問題なく動きました。簡単にアタックリスクは避けられそうです。

しかしこの方法には注意点があり、『wordpressコアシステムをバージョンアップした場合、消してもxmlrpc.phpファイルが再度インストールされる』という点です。子テーマいれとかないと元に戻るみたいなイメージです。

パーミッションを他の人がアクセスできないように変える


『000』だとちょいと危ないかなと思ったので、『400』を設定してみました。
これはwordpressの管理画面からというわけでなく、サーバー側で設定します。

htaccessファイルでxmlrpc.phpに対するアクセス制限をかける


web系の技術者の間ではよく使われる方法です。htaccessファイルにdeny(拒否)と書いて、xmlrpc.phpに対するアクセスをハネます(この下のほうにbigin wordpressみたいなことが書いてあります)。


403でファイルにアクセスできなくなりました。負荷などの関係でもっと良い書き方もあるので調べてみましょう。

あとがき・まとめ

  • アプリ更新とかしない場合、xmlrpc.phpは攻撃されやすいので、なるべく無効に
  • 単純にファイルを消すと、wordpressアップデート時い復活するので、忘れないように
  • パーミッション設定やhtaccessファイルでのアクセス拒否ができる

まとめるとこんな感じです。特にxmlrpc.phpの機能を使っていない場合は、アタックされやすいということもあるので、なるべくこれらの方法を取り入れて、リスクを減らしておくと、安心してwordpressを使うことができます。『xmlrpc.phpが攻撃されやすい』という点だけでも頭に入れておくと、あとから思い出して対策できるので良いでしょう。

*アトリエSS・web制作サービスページに移動します。webリニューアル・ロゴ・記事・wordpress化などでお力添えできます。

【カテゴリ】 - サイトエラー対策と復旧(wp/php/css)
【タグ】 -

  関連記事

WPサイト接頭辞エラーまとめ~configやテーブル名変更・usermeta内の項目で、接頭辞不一致の場合

今回は、管理人がお仕事でWPサイトお引っ越しをしたときに遭遇した ...

MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法【エラー・管理画面に入れないときに】

今回のお題は、WordPressエラー復旧などに使えるかもしれな ...

【ログインページが404】ディレクトリやWordPress アドレス変更でログインできない場合は、データベースからログインできるアドレスに直す

今回は、WordPress を使っていて怖いエラーの1つ『ログイ ...

WordPressサイトヘルスを『改善が必要→良好』にしたいけど、どうすれば良い?(プラグイン・テーマ・WP/PHPバージョンアップデート)

今回は、WordPressがサイトのセキュリティや稼働状態を勝手 ...

WordPressをcookie関連設定でログイン不可能にしてみた(cookieブロック・トークン削除・ログイン成功cookie削除)

今回は、WordPressでよくあるトラブル『ログインできない』 ...

WordPress 5.2がサーバーPHP5.6.2以下で動かなくなる事例~更新や閲覧はできる?バージョンアップの注意点は?

今回は、WordPressの最近の新しいバージョンで、PHPバー ...

【WordPress/エラー対策】プラグインbizcalendarが改造テーマで表示しない事例

今回は、最近このサイトでAPIカレンダープラグインの話題のアクセ ...