WordPress構成ファイルのxmlrpc.phpを無効化する方法【実は攻撃されやすい】
| 更新: 2024/02/16 | 1842文字

今回は、wordpressの構成ファイルで、ちょっとクセのある『xmlrpc.php』を無効化してみます。 このファイルがどういう働きをしているのか、また、ほっとくとどんな影響があるのか、無効化にはどのような方法があるかをチェックします。
目次
xmlrpc.phpとは?どのような影響があるの?
アプリ更新などに関係するファイル
管理人は普段この機能は使わないんですけど、『wordpressアプリ(Googleプレイストアなどにあります)』を使って、アプリから更新や編集をする場合、このファイルが絡んできます(xmlrpc.phpがないとアプリなどから更新ができないなどの例が報告されています)。スマホでサクッと記事を出せるのは、一見便利に見えます。
xmlrpcの影響~実は脆弱性あり・不正ログインなどの攻撃対象になりやすいファイル
しかしこのファイルには『ブルートフォース攻撃など不正ログインなどに狙われやすい』という特徴があります。以前、wordpress脆弱性の記事でも書きましたが、かなりの頻度で狙われている、というデータがあります。
(過去記事リンク)【セキュリティ・脆弱性対策2018】wordpressでサイバー攻撃されやすいファイルってどんなのがあるの? /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セキュリティ対策