WordPressはHTMLやCSS、PHPの理解が少なくても、気軽にホームページやブログシステムを構築できるCMSです。プラグイン(Plugin)を利用すればたくさんの機能を追加することができます。さらに無料で利用できることから手頃に始められますが、その反面、WordPressは攻撃者のターゲットになりやすく、利用する際にはWebセキュリティ対策を考えることが大切です。WordPressを使用している方、これからWordPressを利用したいと考えている方に、最低限、抑えておきたいセキュリティ対策のポイントについてご説明します。
サイバー攻撃の対象としてWordPressが狙われる理由の一つに、デフォルトのユーザー名やID、オープンソースであることから、ディレクトリ構造やファイルの位置がわかりやすいことが挙げられます。最初に管理権限を持つユーザーの取扱いやログイン画面周りのセキュリティチェックをしてみましょう。
WordPressのインストールの仕方によってはID:1、ユーザー名adminという形で管理者権限を割り振られることがあります。この場合、パスワードを試すサイバー攻撃を仕掛けられると、WordPressを乗っ取られてしまう可能性があります。対策としてはID:1に割り振られる管理者権限を持つユーザーを無効設定にすることが挙げられます。注意点としては、管理権限を付与したユーザーを作成し、新しく作成したユーザーからID:1を削除することです。
また、管理権限を持つユーザーIDとパスワードについては慎重に取り扱うようにして、安易に複数の人と共有するようなことは避けなくてはなりません。
WordPressデフォルトのログインファイルの位置は非常にわかりやすいので、ブルートフォースアタックや辞書攻撃による不正アクセスを受けやすくなっています。プラグインを利用することで、ログイン画面URLの変更や、一定時間一定回数のログイン施行ミスが行われた場合に検知する設定もあるので、必要に応じて導入しましょう。
また、管理画面へのアクセス制限を設定することも大切です。IPによる制限を設けたり、ログインユーザー以外はアクセスできないように対策を練りましょう。
WordPressのインストールは非常に簡単ですが、FTPなどでアップした場合、またはレンタルサーバなどの簡単インストールを利用した場合でも、パーミッションがよくわからないままWordPressを動かすことができてしまいます。
特にWordPressについて学びながら、手探りでインストールした時にありがちなのが、本来変更すべきでないパーミッションを一括で変更してしまう、ファイルを修正するために一時的に変更して元に戻すのを忘れてしまう、ということがあります。管理権限と同じようにパーミッションについても理解を深めておきましょう。
パーミッションはFTPクライアントやWebFTPなどで変更可能なアクセス権のことを意味します。読み・書き・実行の権限を適切に設定しておくことで、不正な閲覧やファイルの書き換えを防ぎ、意図しない実行を処理しないようにすることができます。
WordPressをインストールする時、古い情報を元にパーミッションを変更してしまうことや、ファイルではなくディレクトリごとパーミッションを変更し、下位フォルダの権限までアクセス権が変更されてしまうことがあります。
多くの場合は自分では気が付かず、サイバー攻撃にあってしまします。WordPressに関する情報は多くありますが、なるべく公式のオンラインマニュアルを参考するようにして、情報自体の鮮度を確認し、正しく新しい情報を得ることも大切です。
WordPressを構築するファイルにはアクセス権の付与に注意しないと危険なファイルやディレクトリが多数あります。その中でもwp-config.phpや.htaccessについては説明するページが多く、セキュリティを考えた時に触れてしまう可能性が高いです。適切なパーミッションを設定・確認しようとするタイミングで、誤って変更してしまうことが考えられます。
誤ったパーミッションの場合、WordPressが動かなくなるだけでなく、データの書き換えやシステムを乗っ取られてしまう恐れもあるので、注意が必要です。
外部からのアクセスによって悪意のある操作をされない為にもディレクトリの構造やファイルのアクセス権については学んでおくべきです。パーミッションを変更した時に「全てのディレクトリに適用する」などアラートが出たら、わからないままOKをクリックしないこと。また、不用意に下調べもせず、パーミッションを変更しないこと。
WordPressは、バグ修正やセキュリティ向上のために、定期的かつ頻繁にプログラムがアップデートされます。頻繁に更新が行われることで、テーマやプラグインが使えなくなったり、不具合が起きたりすることがあります。
PHPやHTML、CSSに詳しい方であれば修正できる場合もありますが、CMSとして簡単にインストールし、簡単なホームページやブログとして気軽に利用されている方ですと非常に難しいです。しかし、テーマやプラグインが利用できなくなるとしても、WordPressを更新しないという選択肢を選ぶべきではありません。
WordPressの更新、バージョンアップすることで、サイトのデザインが崩れたり、プラグインとの相性が合わなくなったりすると、バージョンアップするのが嫌になることがあるでしょう。サイトのデザインが崩れることに対する不安よりも、バージョンアップしないことで脆弱性(セキュリティホール)が排除されないことで受ける被害を理解しておくべきです。また、WordPress本体のバージョンアップを怠ることによる被害の他に、テーマやプラグインのバージョンアップを行わずに被害を受ける場合もあります。
WordPressの魅力として、テーマを利用することで簡単にデザインを変更できること、また、テーマの追加CSSに書き込むことで、CSSに詳しくない方でも、デザインの変更がしやすいということが挙げられます。プラグインについても同様であり、サイドバーやヘッダーやフッター部分の変更、SNSのソーシャルボタンを設置するなど様々なものがあります。考え方としてはWordPress本体のバージョンアップを優先して、その次にテーマやプラグインのバージョンアップをする。プログラムをアップデートする際には、アクシデントに備えてWordPress全体のバックアップを取っておくように心がける。そして、テーマやプラグインが利用できなくなった時に、対応するテーマに変更することや、対応する代替プラグインを探してサイトの維持をする方が、脆弱性(セキュリティホール)を排除し、不要な被害を受けないためには必要なことだと思います。
WordPressで最低限抑えておきたいセキュリティチェックについていくつかご説明しました。今回取り上げたのはWordPressに関係する項目のごく一部であり、その他にもデータベースへの対策や.htaccsessの記述なども含めて、学んでおくべき項目があることを忘れないようにしましょう。
また、WordPressのセキュリティ対策だけでなく、サーバのセキュリティ対策、サイバー攻撃への対策など、多角的に学ぶ必要もあります。
共通して言えるのはプログラムの脆弱性(セキュリティホール)を利用して攻撃してくることであり、無防備なままWordPressを運営していると、攻撃を受けるだけでなく、サイトの改ざんによって誤った情報を発信したり、悪意のある第三者の作成したページに移動されてしまったりすることで加害者となる恐れもあることです。
サイトの運営に集中する為に、自分の身を守るだけでなく、善意の加害者になってしまわないよう、WordPressのセキュリティチェックを怠らないようにしましょう。
(2018/05/31 執筆、2019/10/02修正・加筆)
サイバーセキュリティクラウドが提供する「攻撃遮断くん」はWordPressなどのWebサイト・Webサーバへのサイバー攻撃を可視化し、遮断するセキュリティサービスです。
ブルートフォースアタック、クロスサイトスクリプティング、Webスキャンと言ったサイバー攻撃をリアルタイムで検知・遮断しています。
ユーザーごとに提供される管理画面で、契約したWebサーバへの攻撃の情報を確認することができます。
この記事と一緒に読まれています
WordPressの脆弱性による被害事例と今すぐできる対策とは?
2019.06.03
セキュリティ対策
Apache Struts2の脆弱性で広がるサイバー攻撃の被害
2017.03.30
セキュリティ対策
2019.12.17
セキュリティ対策
2020.02.14
セキュリティ対策