WordPressを初期状態のまま運用していませんか?
- WordPressをインストールしたっきり。
- 管理者ログインURLもデフォルトのまま。
- 特にセキュリティ設定はしていない。
こういった方は、できるだけ早くWordPressのセキュリティ対策を行った方がよいかもしれません。
「セキュリティ対策って必要なの?」という声もありますが、絶対に必要です。
ネットを使えば多くの人にサイトを訪問してもらえる反面、サイトへの不正アクセス等のセキュリティの脅威、リスクが高くなります。
- サーバーやサイトに管理者権限で不正アクセスされてしまった。
- 登録していたデータをめちゃくちゃにされた(データ改ざん)。
- 大切な個人情報が盗み見された(データ流出)。
こういったことが起き、あとで後悔しても遅いですよ。
ホームページやブログなど、WordPressでサイトを立ち上げた当初はあまり気にしないかもしれませんが、サイト管理者としてセキュリティ対策は最低限やっておいた方がベターです。
今回は、最低限やっておきたいWordPressのセキュリティ対策について紹介します。
※全部で10項目あります。
WordPressのセキュリティ対策は誰のために必要?
WordPressのセキュリティ対策は、自分のためでもあるし利用者のためにも必要です。
自分のためにセキュリティ対策が必要な理由
自分のサーバーが攻撃者に不正侵入されると、サイトが改ざんされるだけでなく、知らないうちに自分が加害者になってしまう可能性があります(下図参照)。
上図のとおりで、攻撃を試みる人は自分で直接攻撃するのではなく、あなたのサーバーを操作(経由)して、間接的に攻撃を仕掛けます。
なぜ、わざわざ間接的に攻撃するの?
犯人の特定が難しくなるからです。間接的に攻撃すれば直接攻撃した場合に比べて、攻撃した形跡が分かりにくくなります。
こうした攻撃に自分のサーバーが利用されてしまうと…
- 自分がやったことではなくても加害者として疑われる。
- 罪はなくても社会的信用を失う。
- 結果的に売り上げ等の機会損失につながる。
「自分は大丈夫!」と安心している方も世の中にはたくさんいますが、こういった攻撃に巻き込まれない、踏み台にされないためには、自分が管理するサーバーやサイトのセキュリティ対策が必要です。
利用者のためにセキュリティ対策が必要な理由
攻撃者はあなたのサイトに不正侵入し、個人情報を流出させる可能性があります。
個人情報が流出してしまうと、サイト運営者(例えば、あなた)がサイト利用者へのお詫びの連絡、場合によっては損害賠償を負うことになります。
それだけでなく「信用」も失うことになり、利用者は加速的に離れていきます。あなたのサイトをいつも楽しみにしている人も離れていきます…。
一度信用を失ってしまうと、信用回復はそう簡単ではありません。10年かけて社会的信用を築いてきたとしても、信用を失うのは一瞬です。
「自分は悪くない、悪いのは攻撃者だ」と思うかもしれませんが、利用者からすると「セキュリティ対策をしていない側にも責任がある」ということになります。
サイト利用者の個人情報を扱うのであれば、利用者が安心してあなたのサイトに情報を預けられるよう、利用者のために最低限のセキュリティ対策はやっておきましょう。
WordPressのセキュリティ対策でやるべき10項目
後悔しないために今あなたがやるべきセキュリティ対策は、次の10項目です。
- WordPressのバージョンを最新化する
- PHPのバージョンを最新化する
- プラグインを最新化する
- WordPressの管理画面のログインURLを変更する
- WordPressの管理画面のログイン試行回数を制限する
- WordPressの管理画面のログインを複雑にする
- wp-config.phpへのアクセスを制限
- URLを常時SSL化をする
- サーバーにWAFを設定する
- その他のセキュリティ設定
※④〜⑥のログインアクセス制限はまとめて実施できます。
①WordPressのバージョンを最新化する
WordPressは常に最新バージョンを使うように心がけましょう。セキュリティ対策の基本ですが超重要です。
WordPressのバージョンを最新化するには、まずWordPressの管理画面にログインします。
WordPressの管理画面にログインできたら、下図のように「更新」の表示があるのでここを選択します。※最新バージョンがある場合のみ表示されます。
次に「今すぐ更新」を選択します(所要時間は1分ほど)。
たったこれだけです。めちゃくちゃ簡単ですが超重要です。
ちなみに、WordPressの最新バージョンには、機能アップだけでなくセキュリティの見直しが含まれています。最新のセキュリティ脅威に対応しているので、更新通知があれば早めに対応するように心がけましょう!
WordPressのテーマ(テンプレート)によっては最新バージョンに未対応の可能性もあります。少し様子をみて、テーマがWordPressの最新バージョンに対応しないようであれば、使用しているWordPressテーマを変えることを検討した方がいいかもしれません。
②PHPのバージョンを最新化する
WordPressでは「PHP」というプログラム言語を使用していることがほとんどです。
PHPは大変便利なプログラム言語ですが、その反面、次のようなセキュリティ被害に遭うことも少なくありません。
- クロスサイト・スクリプティング
- SQLインジェクション
- ディレクトリ・トラバーサルなど
これらのセキュリティ対策にあなたができることは、PHPのバージョンを最新化することだけです。
PHPバージョンを最新化する方法
Xserverを例に解説します。まず、サーバーパネルにログインします。
サーバーパネルにログインできたら、下の画像ように「PHP > PHP Ver.切替」の順に選択していきます。
ドメイン選択が聞かれる場合は、該当のドメインを選択してください。
変更後のバージョン欄には、最新のPHPバージョン(例:PHP7.3.14)を選択し、最後に「変更」を選択すれば完了です。
③プラグインを最新化する
プラグインはWordPressの機能を補完してくれる大変便利なツールですが、「好き勝手にインストールしても良い」というものではありません。
プラグインの入れすぎには注意が必要で、なるべく必要なものを厳選した方がいいです。プラグインは必要最低限に抑えることがポイントです。
というのも、プラグインはWordPressユーザの有志が作ったものがほとんどで、プラグイン内にセキュリティホール(セキュリティの弱点)が存在する可能性があるからです。
現時点でセキュリティホールになっていなくても、数ヶ月後にはセキュリティホールになっていることもあり得るので要注意。セキュリティの脅威は日々進化しています。
プラグインを最新化する方法
WordPressの管理画面にログインし「プラグイン」を選択します。
上の画像では「プラグイン」の横に数字が表示されていますが、これはWordPressにダウンロードしたプラグインに最新バージョンがあることを教えてくれています。※更新対象のプラグインの数を示しています。
下の画像は「All in One SEO Pack」というプラグインの例ですが、最新バージョンが公開されているので、「更新」ボタンを選択します。
以上でプラグインの最新化は完了です。
ちなみに、不要なプラグインは「無効化」ではなく、なるべく「削除」するようにしましょう。無効化しただけではあなたのサイトにプラグインのプログラムがまだ残っている状態なので、サイト攻撃者に悪用される可能性があります。
プラグインによっては何年間も更新されていないものがありますが、こういったプラグインは今すぐ削除してしまった方がいいです。セキュリティのリスクが高くなります。
④⑤⑥WordPress管理画面にアクセス制限をかける
次の3つのWordPress管理画面のアクセス制限は、「SiteGuard WP Plugin」というプラグインを使えばめちゃめちゃ簡単にできます。まとめて紹介します。
- ④WordPressの管理画面のログインURLを変更する
- ⑤WordPressの管理画面のログイン試行回数を制限する
- ⑥WordPressの管理画面のログインを複雑にする
といっても、正直SiteGuard WP Pluginをインストールするだけなので、特に説明することもないのですが、とりあえず上記3つがどういった対策なのかを簡単に解説します。
④ログインURLの変更
まず、WordPressをインストールしただけの初期状態では、ログインURLが次のようになっています。
ご覧のように、ログインURLがわかりやすく固定されています。これではサイト攻撃者に攻撃窓口(WordPressの管理画面のURL)を教えているようなものです。
管理画面のログインURLは他人に教える必要はないので、自分だけが知っているURLに変更してしまえばOK!
サイトに攻撃を受けないためには、この方法が手っ取り早いです。
⑤ログイン試行回数の制限
仮に管理画面のログインURLが攻撃者にバレた場合、攻撃者は特殊なプログラムを使って、考えられるすべてのパターン(無数のランダムなログインIDとパスワード)で繰り返しログインを試みます。
「ブルートフォースアタック(和名:総当たり攻撃)」といわれますが、簡単にいうと、力ずくで攻撃するよ〜という意味です。
この攻撃への対策としては、ログイン試行回数を制限することが有効です。
攻撃者は「億」以上のパターン数でログインを試行してきますが、一定期間で数回ログインを失敗したらログイン制限(ロック)をかけてしまうというものです。
ログイン制限をかけてしまえば、攻撃しようにも攻撃できなくなるという理屈です。
ちなみに、ログインパスワードは8桁以上、できれば10桁以上(大小英数字・記号を含む)に設定しておくことをおすすめします。コンピュータでもパスワードの解読が難しくなります。参考:IPA
⑥ログインの複雑化
あまり考えにくいですが、数回のログイン試行でログインIDとパスワードがヒットしたということは、可能性としてはゼロではありません。
さらにもう1段階、管理画面へのログインを難しくする方法があります。パスワードに加えて「画像認証」を利用する方法です。
上のような画像をみたことはありませんか?
画像認証を利用したログインでは、「画像内の文字を人が認識し、ログイン時に手入力する」という方法をとります。
こうしたひと手間を加えることで、ログイン操作を複雑にしています。
実はコンピュータは画像を認識することはあまり得意ではなく、画像認証を利用することで、攻撃被害にあうリスクをグッと下げることができます。
⑦「wp-config.php」ファイルへのアクセスを制限
WordPressで最も重要なファイルの1つに「wp-config.php」というファイルがあります。
このファイルにはデータベースの接続情報など、WordPressを利用する上で重要な内容が記載されています。
この情報が攻撃者に知られてしまうと、データベースの情報が流出・改ざんなどにつながってしまいます。
なので、外部から「wp-config.php」ファイルにアクセスされないよう、セキュリティ対策をしておく必要があります。
wp-config.phpにアクセス制限する方法
やることは簡単です。「.htaccess」ファイルに次のコードを追加するだけです。
<files wp-config.php>
order allow,deny
deny from all
</files>
ちなみに、Xserverの場合は設定不要です。初期設定でアクセス制限がすでに設定されています。
⑧URLを常時SSL化をする
ネット回線上には、クレジットカードなどの個人情報を含め、様々な情報が流れています。
一見、危険に感じますよね?
しかし、URLを常時SSL化すれば通信データを暗号化できるので、途中で大切な情報が盗み取られることを防げます。
Googleもウェブサイトの安全性を高める目的でSSL化を推奨しています。SEO的にみてもURLをSSL化しておいた方がGoodです。
GoogleのSSL化促進について
SSLの設定方法
Xserverを例に解説しますが、少し記事の内容にボリュームがあるので、記事を分けることにしました。
詳しい設定方法は、WordPressのURLを常時SSL化する方法【エックスサーバー編】をご覧ください。
⑨サーバーにWAFを設定する
WAF(Web Application Firewall)とは、Webサイトを保護するための1つの機能で、サイト攻撃者による不正アクセスを防ぐのに役立ちます。
Xserverを使用している方であれば、WAFが標準搭載されているので無料で利用できます。設定方法も簡単です。
WAFの設定方法(Xserver編)
Xserverを例にWAFを設定していきます。
サーバーパネルのトップ画面に戻り、画面右下の「WAF設定」を選択します。
WAF設定画面で、以下の6項目すべてを「ON」に変更します。
- XSS対策
- SQL対策
- ファイル対策
- メール対策
- コマンド対策
- PHP対策
すべて「ON」にチェックを入れたら「確認画面へ進む > 設定する」の順に選択していきます。これでセキュリティ設定は完了です。
⑩その他のセキュリティ設定
Xserverを使用している方であれば、その他以下3つのWordPressのセキュリティ設定も簡単に行うことができます。
- 国外IPアクセス制限の設定
- ログイン試行回数制限の設定
- コメント・トラックバック制限の設定
サーバーパネルのトップ画面に戻ります。次に、画面中央下部の「WordPressセキュリティ設定」を選択します。
①国外IPアクセス制限の設定
国外IPアクセス制限設定タブで、以下3つの設定をすべて「ON」に変更します。※既に「ON」の場合は変更不要です。
- ダッシュボード アクセス制限
- XML-RPC API アクセス制限
- REST API アクセス制限
②ログイン試行回数制限の設定
ログイン試行回数制限設定タブで、設定を「ON」に変更します。※こちらも既に「ON」の場合は変更不要です。
③コメント・トラックバック制限の設定
コメント・トラックバック制限設定タブで、以下2つの設定をすべて「ON」に変更します。※既に「ON」の場合は変更不要です。
- 大量コメント・トラックバック制限
- 国外IPアドレスからのコメント・トラックバック制限
以上で、WordPressのセキュリティ設定は完了です。
おつかれさまでした。
まとめ
今回は、最低限やっておきたいWordPressのセキュリティ対策を10項目を紹介しました。
サイトを運営していれば、たくさんの人に訪問してもらえる一方、セキュリティの脅威は常につきまといます。
セキュリティ対策は緊急性が高いわけではないですが、事故が起きてからでは遅いですし、あとで後悔しても意味がありません。事前の対策が必須!
WordPressでサイトを立ち上げた当初は、他のことで忙しくセキュリティ面まで気が回らないかもしれませんが、サイト管理者として後悔しないために、是非この機会にセキュリティ対策をやっておきましょう!