webコンテンツを徹底強化!WordPressサイト制作とプラグイン&テーマ情報・メンテ/エラー対応から、PHP/CSS/javascript、動画・音・イラスト等制作まで扱うコラム
マルチメディアコンテンツ制作読んどけ☆コラム

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

      2021/03/04

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

今回は、wordpressの構成ファイルで、ちょっとクセのある『xmlrpc.php』を無効化してみます。 このファイルがどういう働きをしているのか、また、ほっとくとどんな影響があるのか、無効化にはどのような方法があるかをチェックします。

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

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

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

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

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

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

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

xmlrpc.phpを無効化する方法

特にアプリログインなどを使わないのであれば、攻撃リスクを避ける為に無効化しておいた方が安全といえます。ここではその方法を紹介します。wordpressスマホアプリを使っている場合は、xmlrpc.php無効化すると、アプリからのログイン・更新ができなくなるのでご注意ください。

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

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

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

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

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

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

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

403でファイルにアクセスできなくなりました。テーマのfunctions.phpでハネるという手もありますが、管理人はこの方法を採用しています。

あとがき・まとめ

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

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


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

  関連記事

【PageSpeed Insightsエラー】リクエストしたページを Lighthouse で正確に読み込めません→WPでメンテにしてました

今回はPageSpeed Insightsエラーで、『リクエスト ...

【WordPress】人気ブログランキング、新着記事が取得できない→フィード出力で解決・ブログ村は問い合わせ

今回は、WordPress構築のサイトで、『人気ブログランキング ...

スマホWordPressアプリでログインや、記事更新ができません→xmlrpc無効化してるとできませんが、セキュリティ上必要なこともあります

今回は、スマホWordPressアプリで『正しいパスワードやユー ...

フラッシュ形式のオーディオ・動画プレイヤーが表示されません(Adobe Flash Player終了)

今回は、うちのサイトであったわけではないですが、管理人がネットサ ...

【WordPress】ヘッダーに『" />』みたいな謎の記号が出るんですが?→固定ページ抜粋?・対処法も紹介

今回はWordPressを扱っていて、ヘッダーに『" />』みた ...

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

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

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

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