先日、さくらのVPSで運用しているWordPressサイトがDDoS/DoS攻撃を受けました(その1) 応急措置とfail2banを用いた対策という記事を書きました。その記事ではタイトルの通り、DDoS/DoS攻撃に対してfail2banというアプリケーションを用いて、対処する方法をご紹介しました。
今回の記事では、WordPressサイトについてfail2ban以外の方法でDDoS/DoS攻撃に対処する方法をご紹介します。
WordPressへのDDoS/DoS攻撃 2種類の対処方法
ググって調べていると、WordPressサイトに関するDDoS/DoS攻撃には2種類あることが分かりました。それぞれ攻撃の種類が異なるので、異なる手段で対抗する必要があります。
wp-login.phpに対する攻撃
上記の画像は2秒に1回程度の割合でwp-login.phpに目がけて攻撃を仕掛けられている様子を示しています。この攻撃に対抗するための手段として、SiteGuard WP Pluginというプラグインを使用します。
SiteGuard WP Plugin
SiteGuard WP Pluginは管理ページとログインページの保護を中心として、wp-login.phpに対する不正ログイン・管理ページ(/wp-admin/)への不正アクセスなどに対して有効です。
ちなみにさくらのVPSではOSをインストールする際にオプションとして、無料でSiteGuard Liteをサーバーアプリケーションとして利用することが可能です。機能はSiteGuard WP Pluginと同じです。
- さくらのVPSでSiteGuard Lite(Web Application Firewall)をセットアップする方法(その1)
- さくらのVPSでSiteGuard Lite(Web Application Firewall)をセットアップする方法(その2)
- さくらのVPSでSiteGuard Lite(Web Application Firewall)をセットアップする方法(その3)
サーバーアプリケーションとしてSiteGuard Liteを利用したい場合は、上記のページを参考にしてください。
Login rebuilder
Login rebuilderを有効化すると、WordPressログインページのURLを変更できるようになります。WordPressのログインページはデフォルトでは”wp-login.php”という名前が使用されていますが、その名前を”wp-hoge”など任意の名前に変えることができます。
もし攻撃者が不正ログインのために”https://dummy.com/wp-login.php”などにアクセスすると、WordPressの404.phpに飛ばされることになります。
このプラグインを使っても、攻撃者が”https://dummy.com/wp-login.php”にアクセスされ続けることには変わりません。ただ、404.phpは読み込む速度が速いのでサーバーがレスポンスするときの負荷が軽くなります。
404.phpの読み込み速度について(2018年1月22日追記)
後日、wp-login.phpと404.phpの読み込み速度を確認したところ、当ブログではwp-login.phpを読み込んだ方が速いということが分かりました。したがってどちらのファイルが表示速度が速いかどうかは、それぞれのサイトの作りによって異なると考えられます。
xmlrpc.phpに対する攻撃
WordPressのディレクトリ直下にxmlrpc.phpファイルがあります。xmlrpc.phpファイルはスマートフォンアプリからの投稿および画像のアップロードをするために使われます。ただxmlrpc.phpファイルは、DDoS/DoS攻撃やブルートフォース攻撃の対象にもなりやすいファイルでもあります。
上記のページのように.htaccessを利用した対処方法も考えられますが、固定IPアドレスを使っていない人(動的IPアドレスを使っている人)には有効ではなさそうです。動的IPアドレスを利用している人は、プラグインのDisable XML-RPC Pingbackを利用した方が攻撃に対して有効であると考えられます。
サーバーのスケールアップをする
WordPressに限った話ではありませんが、DDoS/DoS攻撃に対してサーバースペックのスケールアップをするという対抗手段もあります。
VPSのスケールアップについて
サーバーがDDoS/DoS攻撃による大量アクセスされると、メモリの容量が圧迫されます。容量の小さいメモリであると小規模な攻撃でもサーバーに接続できなくなってしまいます。逆にサーバーのメモリの容量が大きいと小さな攻撃では通常のアクセスとして、攻撃自体を無力化させることができます。
そこでさくらのVPSを使っている場合は、既存のプランからサーバースペックのスケールアップをしてDDoS/DoS攻撃に対処するということになります。
Muninの利用
ただしさくらのVPSでは、一旦サーバーのスケールアップをするとスケールダウンができません。スケールアップしすぎてアクセスのに比べて割高な利用料金を払ってしまう恐れがあります。
したがってVPSのスケールアップをする前に、現在どれぐらいの負荷がかかっているか、サーバーの状態を確かめる必要があります。
そこでサーバーの状態を監視するツールとして、Muninを利用します。上記の「さくらのナレッジ」では、CentOS6を対象としてMuninのインストールとその利用方法について説明されています。
その3に続きます。