この記事にはプロモーションが含まれています。
不正アクセス対策について-XMLRPCファイルの落とし穴-
目次
XMLRPCへの不正アクセスが多発!そもそもXMLRPCって?
最後の記事更新から約半年。
プラグインの更新などのためちょくちょくログインはしていました。
放置気味だったとはいえ、特に問題等も起きていなかったのでセキュリティについて特別なチェックなどは行っていなかったのですが…久しぶりにアクセスログを見て、驚き。
大量の不正アクセスログが残っていました!!
しかも気になったのが“XMLRPC”という場所からのアクセス。
調べたところ、ワードプレス内に“XMLRPC.php”というファイルがあり、そこに不正アクセスをされたようです。
このファイルには主に、管理画面等を遠隔で操作するために必要なプロトコルが入っているそうです。
しかし脆弱性が指摘されているファイルらしく、下記のような攻撃にさらされる恐れがあるとのこと。
- DoS攻撃(大量のリクエストを送ることでサーバーをダウンさせたり、サイトを重くさせる攻撃)
- ブルートフォース攻撃(ログインIDとパスワードを総当たりで実行し、最終的に管理者権限を盗んでアカウントを乗っ取る攻撃)
こ、怖…。
記事数も少ないこの辺境ブログにもこういう攻撃が来るのか…としみじみネットセキュリティの大切さを実感してしまいました。
XMLRPCを無効化しよう!
と、いうわけでこのまま不正アクセスを放置するのも怖いので、XMLRPCを無効化することにしました。
ただし、XMLRPCを無効化すると既存の他のプラグインなどにも影響が出る場合があります。
- スマホアプリでの記事の投稿・編集
- 記事のピンバック
- メールでの自動投稿
- Jetpackプラグイン(SNSへの自動投稿機能が不具合に引っかかる可能性あり)
上記を利用している方はXMLRPCを無効化してしまうと不具合が出たり使用できなくなる可能性が高いので注意してください。
そのほか遠隔操作関係のプラグインや機能を利用している場合、無効化する前に大丈夫か確認してから判断することをお勧めします。
私は上記を特に利用していないので無効化しちゃいました。今のところ不具合は出ていません。
XMLRPCを無効化する方法はいくつかありますが、私はWPのプラグインを使用しました。
プラグインを使ってXMLRPCを無効化する方法
使ったのは「XOセキュリティ」というプラグインの機能です。
手順は下記のとおり。
STEP
XOセキュリティプラグインをダウンロード
ダッジュボード→プラグイン→検索窓からXOセキュリティと入力して検索。プラグインをダウンロード。
STEP
XML-RPC の無効化+XML-RPC ピンバックの無効化
プラグイン→XOセキュリティ→設定をクリック→XML-RPCのタブを選択→XML-RPC の無効化+XML-RPC ピンバックの無効化のボタンを選択。変更を保存を押して完了。
これで終了です。プラグインを使えば簡単ですね!
他にもSiteGuardというプラグインやSecurity and Firewallというプラグインでも無効化できるようです。
.htaccessにコードを書きこんでXMLRPCを無効化する方法
今回はプラグインを使いましたが、.htaccessに直接コードを書きこんでXMLRPC へのアクセスを拒否する方法もあります。
.htaccessで無効化するメリットとしては、プラグインが使えなくなった場合も有効な点や、コード内にIPを記述することで特定のIPからのアクセスはOKにするなどの設定ができる点が挙げられます。
※コードをファイルに直接書きこむ場合、必ずファイルのバックアップを取ってから行ってください。
※記述する箇所を間違えたり、バージョンによっては重大な不具合を起こす場合がありますのでご注意ください。
.htaccessファイルに書きこむコード
下記のコードを.htaccessファイルの一番先頭に書き込みます。
書き込めたら保存して対策完了です。
#xmlrpc無効化
<Files "xmlrpc.php">
order deny,allow
deny from all
</Files>
特定のIPからのアクセスは受け付けたいとき
下記のコードの”XXX.XXX.XXX.XXX”となっている部分にアクセスOKにしたいIPを入れてください。
#xmlrpc無効化
<Files "xmlrpc.php">
order deny,allow
deny from all
Allow from XXX.XXX.XXX.XXX
</Files>
コードでの対策も記述しましたが、プラグインの方が簡単なので初心者やコードをいじるのが怖い方にはプラグインで対策するのがお勧めです。
というわけで、XMLRPCを無効化する方法についての記事でした。
XMLRPCからの不正アクセスで悩んでいる方の参考になれば幸いです。