WordPressは、気をつけて運用しないと非常に危険な状態になってしまいます。だからといって「WordPress = 危険」なのかといえば、そんなこともなく、正しく運用すれば安全に利用することができます。
そして逆に、さまざまな記事などでWordPressの安全対策などが案内されていますが、「それはそれほど重要ではないのではないか?」という対策方法もあります。ここでは、筆者の考えも交えながら「是非やった方が良いこと」「やらなくても良さそうなもの」をそれぞれ紹介しましょう。
絶対にやった方が良いこと
パスワードを強固にする
これは、WordPressに限らずで必ずやるべきことです。パスワードが推測可能なものや解析可能なものになっていて、不正ログインされてしまうという事例が非常に多いです。
最近のWordPressの場合、パスワードは自動生成されます。基本的にはこのパスワードをそのまま利用しましょう。とはいえ、自動生成されるパスワードは覚えておくことはできませんので、Webブラウザに搭載されているパスワード管理ツールや、LastPass、1Password等のパスワード管理ツールを利用して管理すると良いでしょう。
WordPress、プラグインを最新版にアップデートする
WordPressやプラグインは常に最新版にアップデートして利用しましょう。セキュリティアップデートはもちろん、日常的なアップデートもしっかりと適用することで、バージョンアップ時のトラブルが少なくなり、安定して運用することができるようになります
ログイン情報を共有しない
WordPressのユーザー情報は他の人と共有してはいけません。パスワードを通知するときに漏洩する恐れがありますし、退社したメンバーがログインし続けられる状況になってしまうため、非常に危険です。また、トラブルが発生した場合の原因の切り分けも難しくなってしまうため、ログイン情報は個人個人に発行しましょう。
利用していないユーザー情報を削除する
退社や、運営から離れるなどでユーザーがいなくなった場合は、確実に削除するようにしましょう。不要なユーザーの情報を残しておくと、そこから侵入される恐れが出てきます。
利用していないプラグイン・テーマを削除する
プラグインやテーマの中には、利用していないが残しているといったものがあります。そして、これらをバージョンアップしないことでそこから攻撃につながる恐れがあります。利用していないプラグインなどは削除しておくと良いでしょう。
そのほかの対策は、SiteGuardで解決
この他、WordPressを安全に運用にするには次のようなこともやった方が良いでしょう。
- 複数回パスワードを間違えたときにロックをかける
- ログイン時に管理者に通知を行う
- 画像認証を導入する
- XML-RPCを無効にする
- ユーザー名を隠す
これらの対策は個別に行うにはかなり手間がかかります。しかし、SiteGuardというプラグインをインストールして設定すれば、これらの対策はプラグインが代行して行ってくれるので、それに従っておくと良いでしょう。
WAFに対応し、PHPのバージョンが変更可能なレンタルサーバーを選ぶ
WordPressに対応したレンタルサーバーはいくつもありますが、レンタルサーバーを選ぶときはPHPのバージョンをユーザー自身が選択できて、「WAF(Web Application Firewall)」と呼ばれる技術に対応したレンタルサーバーを利用しましょう。
PHPは、WordPressの動作要件に合わせて変更する必要がありますし、WAFはWordPressを含めたプログラムへの攻撃を防ぐことができます。また、先の「SiteGuard」というプラグインでは、このWAFの設定サポートの機能も内蔵されているため、特別な知識がなくても利用することができます。
それほど重要ではないこと
次に、よく言われる「安全対策」で、それほど重要ではない対策について紹介します。
とはいえ、これらの対策はやったからと言って害があるものではないため、やっても特に問題はありません。危険なのは、この対策をしたからと「安全になった」と誤解をしないことが大切です。これらの対策は、安全性の向上にはほとんど意味がありません。
generatorを隠すより、最新版へのバージョンアップ
WordPressで構築したWebサイトは、HTMLソース内に次のような「generator」と呼ばれるタグによってWordPressで実装されていることが分かるようになっています。
<meta name=”generator” content=”WordPress X.X.X″>
これを出力しないようにするノウハウや、出力を止めるプラグインが出回っています。WordPressで実装したことを隠したり、バージョン番号を分からなくするという対策ですが、正直これによる安全性の向上はほとんど見込めません。基本的に攻撃者は、このタグの有無にかかわらず、WordPressで実装されていることを前提に攻撃を加えてきますし、バージョン番号など見ていません。
大切なのは、最新版にアップデートをすることであって、隠したいくらい古いバージョンで運用しているWebサイトは、その時点ですでに危険です。
ログイン画面のアドレスを変更するより、ログイン画面のセキュリティ強化
WordPressは通常、次のアドレスで誰でもログイン画面まではアクセスすることができてしまいます。
https://example.com/wp-login.php
このアドレスを変更することで、ログイン画面を隠すという安全対策があります。これは、「攻撃の頻度を減らす」という意味では確かに有効です。実際、SiteGuardでも設定によって変更が可能であるため、筆者も有効にはしています。とはいえ、安全性が高まるかといえば、これ自体による効果はほとんどありません。(なお、弊社H2O spaceのWebサイトはWordPress.comで運用していて、2段階認証を導入しているため、ログイン画面のアドレスは変更していません)
大切なのは、ログインのアタックを受けても、複雑なパスワードであることやパスワードの管理がしっかりしていること、そして複数回間違えたときにロックをかけることの方が重要です。
パスワードを定期的に変更するより、複雑なパスワードに
「パスワードは定期的に変更した方が安全」という”誤解”は、古くからありますが、現在では明確に「定期的に変更する必要はない」とされています。定期的にパスワードを変更しようとすると、どうしても覚えられるような簡単な組み合わせのパスワードを使い回してしまう傾向があり、それよりは記憶ができないくらい、複雑な組み合わせで十分に長い英数字・記号の組み合わせのパスワードを使う方が安全性が高いです。
そして、数回間違えて入力した場合にログインロックをかけることや、2段階認証などを組み合わせる方が安全性が高まります。
WordPressを使わないことよりも、安全性に対する理解を
昨今「WordPressは危険」という”誤解”が広まって、ヘッドレスCMS等に移行する例があります。しかし、ここまで紹介したとおりWordPressも正しく運用すれば安全ですし、逆にこれらの安全対策についての理解がなければ、ヘッドレスCMSの管理画面に不正アクセスされてしまうなどの恐れもあり、ツールを変えたからと安全になるわけではありません。
大切なのは、安全対策や脅威に対して正しく理解をし正しく運用をすることです。H2O spaceでは、安全なWordPress運用をお手伝いするためのサービスをご提供しています。是非、ご相談ください。