★★★ たった "1日" でできるWordPressブログの作り方講座 ★★★ はじめてみる

ブログ(WordPress)へのxmlrpc攻撃が酷すぎたので無効化してみた

私はWordPressでブログ運営してます。

このブログも含め、全部WordPressですね。

その中の1つのブログにおいて、
xmlrpc攻撃がしつこく繰り返されています。

サーバー負荷とかも心配だったので、
ついに WordPressでxmlrpc無効化 を試してみました。

そのメモというか忘備録です。

WordPressにxmlrpc攻撃!無効化までの経緯

きっかけはログイン履歴を調べたこと

自分はそのブログでSiteGuardを入れてます。

そのプラグインはログイン履歴も見れるんですよね。

ログイン履歴を確認したところ・・・

xmlrpc攻撃が数秒単位でしつこく繰り返されていた(怒

xmlrpc攻撃がしつこく繰り返されてる。(怒

しかも1分単位とかでもなく数秒単位。
これはサーバーへの負荷も気になってしまいます。

恐らく人力攻撃ではなくBot的な攻撃ですね。

そこでxmlrpc自体の無効化を試したわけです。

まずxmlrpc無効化していいかの確認から

xmlrpc無効化の前に注意点があります。

そもそもxmlrpcは何なのかという話ですが...

Wikipediaではこう解説されている

XML-RPCとは、遠隔手続き呼出し (RPC) プロトコルの一種であり、エンコード(符号化)にXMLを採用し、転送機構にHTTPを採用している。非常に単純なプロトコルで、少数のデータ型やコマンドだけを定義しているだけであり、その仕様は2枚の紙にまとめられる。これは多くのRPCシステムが膨大な量の規格を規定し、実装に多量のプログラミングを要することに比べると、際立った特徴と言える。

引用元 : https://ja.wikipedia.org/wiki/XML-RPC

「遠隔手続き呼出し (RPC) プロトコル」

データのやり取りをする決まり事ですね。

つまり、xmlrpcは無意味なものではないんです。

WordPressではこういう用途で使われる

  • WordPress専用のスマホアプリ
  • Word(ワード)からの直接投稿
  • 被リンク時のピンバック機能
  • その他リモート投稿など...

xmlrpcを止めると全部できなくなります。

もしxmlrpcを無効化するつもりなら、
かならず 止めてしまっていいかの確認 が必要です。

マイブログではxmlrpcは使ってません。

だから無効化してしまっても大丈夫でした。

WPでxmlrpc.phpを無効化する2つの方法

xmlrpc無効化は xmlrpc.php を停止するだけ。

その方法は次のどちらかでできます。

WP上級者の自覚がある人は1つめの方法、
WP初心者~中級者は2つめの方法を試してください。

1.サーバーで.htaccessに記述を追加

まずサーバーにFTPで接続してください。

気の利いたレンタルサーバーならWebFTP、
そうでないならFileZillaなどのソフトを使います。

あとWordPressから直接接続する方法もあります。

 FTP不要でファイル操作!「File Manager」の紹介

WordPress内でFTP不要のファイル操作!「File Manager」の紹介
WordPressでFTP操作が必要だけど操作に慣れていないまたは面倒な時に便利なのが「File Manager」というプラグインです。これを使えばファイルのアップロード・移動・削除・リネームなどの操作がWordPress上で全てできてしまいます。とても便利なのでここではそのプラグインの導入方法と機能についていくつか紹介していきます。

この記事で紹介したプラグインを使ってもOK

では接続したら xmlrpc.php のあるディレクトリへ。

WPインストールした一番上の場所にあるはずです。

そこで .htaccess というファイルを探します。
もしなかったなら自分で作成してください。

こういう記述を追加すればOK

<Files xmlrpc.php>
Order Deny,Allow
Deny from All
</Files>

やってることは簡単で xmlrpc.php へのアクセスを無効化してるだけです。上のように Deny from All と書くことで、誰からもアクセスできないファイルになります。

これでxmlrpc攻撃におびえる必要なし。

2.SiteGuardからxmlrpc.phpを無効化

SiteGuardプラグインを入れてる人限定

このプラグインには XMLRPC防御機能 があります。

次の手順で xmlrpc.php を無効化できます。

まず「SiteGuard」ー>「XMLRPC防御」をクリック

するとこんな画面が開きます。
デフォルトでは「ピンバック無効化」な模様

SiteGuardのXMLRPC防御画面。デフォルトでは「ピンバック無効化」が選択されている

これを「XMLRPC無効化」に切り替えればOK

SiteGuardのXMLRPC防御画面。xmlrpc.phpを無効化するには「XMLRPC無効化」に切り替えればOK

この方法だと .htaccess の編集がいりません。
安全にxmlrpc無効化できるのが良いとこですね。

あとSiteGuardはセキュリティプラグインとしても優秀です。

優秀な所をいくつか挙げてみると・・

  • ログイン画面の画像認証
  • ログイン失敗のロック
  • ログイン時にメール通知
  • 不正ログイン履歴の記録
  • 管理ページアクセス制限

私自身もWordPressブログに必ず入れてます。

ブログは資産だから 自己防衛 が大切です。

xmlrpc不要なら無効化がグッド👍

もしWordPressでこういう状態なら・・・

WPアプリやピンバック機能を使ってない。
それなのにxmlrpc.phpは無効化していない。

その状態はミドルリスク・ノーリターンです。

心配ならxmlrpc無効化しておくのがグッド👍

以上、WordPressでxmlrpc無効化する手順でした。

The following two tabs change content below.

フク郎

昔はプログラミングに熱中していたが、ブログとWordPressに興味を持ち始め今はサイト・ブログ作りが生きがい。自分の「好き」をブログに変えたい、情報発信したい人に役立つWordPress術・サイト構築術を発信中。一日一歩楽しんでブログ構築できるように読みやすい&楽しい記事作りを心がけています。