株式会社アシッドハウスの芦田 哲也です。
今回の記事ではこういった疑問にお答えしていきます。
WordPressは常に脆弱性と隣合わせ
ある調査によると、全世界の25%のWEBサイトにWordPressが採用されているようです。
何でもそうですが、利用者のボリュームがそれなりにある場合は常に脆弱性と隣合わせになります。WordPressも例外ではないということですね。
しかし、WordPressには、
- 圧倒的にサイトの更新を容易にする
- 豊富なプラグインによる拡張性
- SEOの優位性(Googleのお墨付き)
という点があるので、脆弱性とトレードオフというのも事実です。
「SEOの優位性(Googleのお墨付き)」と一応書きましたが、今は微妙かもです。
これは今はGoogleを退職したマット・カッツ(Matt Cutts)の「WordCamp San Francisco 2009」での発表が基になってよく言われていることですが、かなり古い情報なのです。それに、今WordPressを使うこと自体が大きなSEOのアドバンテージになるとも言えない気がします。
とは言えWordPressのWEBサイトでの成功事例はやはり多いので、書きました。
WordPressで構築したサイトを守るためには?
- PASSは複雑なものにする
- アップデートは即行なう
- プラグインを最適化する
- バックアップを定期的に取る
上記が最低限抑えるところです。
一つずつ解説していきます。
「構成ファイルの権限設定を最適化する」「海外からのアクセスを遮断」「XMLRPC防御」「ドメイン更新忘れ防止」など対策を講じるところは他にもありますが、そちらは別の機会にしたいと思います。
PASSは複雑なものにする
これは別にWordPressに限った話ではないですが、ハッカーはあらゆる単純なパスワードを片っ端から使ってログインを試みます。「片っ端から試す」のはハッカーがツールで自動化しているので一瞬です。
必ずパスワードは「12c.Kmc_,((u6#(e」みたいな、英数字記号をランダムに織り交ぜた複雑なものを生成して利用するようにして下さい。そして、定期的に変更するのが望ましいことは、言うまでもありません。
ただ、こういった複雑なPASSで運用しようとすると、以下のようなことが弊害が起こることがあります。
- そもそも覚えられない
- 紙に書いたら判別ができなくなった
- 打ち込むのに時間がかかる
この問題を解決するのがPASS管理ツールでして、中でも1Passwordというツールがおすすめです。
毎月のランニングコストはかかりますが、覚えればいいPASSは1つだけで(もちろん簡単に推測されるようなものではダメですよ)、1Passwordに保存されたログインIDとPASSを引き出して使うという感じです。
リアルで例えると、鍵や実印など複数保管する金庫のような感じでしょうか。
なお複雑なPASSは自分で考える必要はなく、1Passwordのほうで生成してくれるので、それを使えばOKです。
PASSを使いまわしたり、コンピュータ上Wordファイルに書き込むなど、誰でもアクセスできる形で管理するのは避けましょう。各部屋全部同じ鍵をつかったり、実印を誰でも手に取れる状態にしているのと変わりません。
なお、GoogleのPASSはあらゆるサービスと連動していることが多いので、絶対に漏らさないようにして下さい。
アップデートは即行なう
これもWordPressに限った話ではないですね。
アップデートの対象はWordPressそのものとプラグインになります。
念のために注意したほうがいいこととしては、アップデートはセキュリティ上のリスクを下げるメリットがありますが、たまにアップデートしたことによって使い勝手が落ちたり、「これまで使えていたものが使えなくなった」というようなことが起こることもあります。
アップデートと並行しての不具合がないかググるなどして、情報をキャッチアップすることが大事です。
WordPress 4.9.8からWordPress 5.0にバージョンアップされた時は、エディタが大幅に変更になりました。ただ、Classic Editorというプラグインが提供されたため、これまでのユーザーは大きな負担はありませんでした。また、新しいエディタの安定性も特に問題なさそうです。
プラグインを最適化する
「最適化」と書きましたが、さらに以下に分かれます。
- 必要以上にプラグインを使わない
- 利用実績の少ないプラグインを使わない
- アップデートが長期間されていないプラグインを使わない
必要以上にプラグインを使わない
プラグイン数が多いとハッカーから狙われる間口が増えますし、WEBサイト自体が重くなるので最小化しましょう。
「では何個が良いのか?」というと諸説ありますが、私は10個以下と考えています。
※それぞれのプラグインの機能はご興味ある方はググってみてください。
上記プラグインそれぞれがすべてのユーザーに最適というわけではありませんが、「セキュリティ」「利便性」「グロース」という観点でこんなプラグインセットがいいかなと思います。
※ご利用される場合は、プラグインの内容をしっかりとご確認の上ご利用下さい。
利用実績の少ないプラグインを使わない
やはりアップデートは利用実績とフィードバックがあってこそなので、利用実績の少ないプラグインを使うのはやめましょう。
なお利用実績の多さの見極めですが、プラグインの評価がそれなりにあり、プラグイン名でググった時に一般ユーザーがブログで使い方を解説している程度という認識でOKです。
結局はみんなが使っている定番どころを使うのが一番ということですね。
アップデートが長期間されていないプラグインを使わない
アップデートが長期間されていないと、セキュリティホールが出来ている可能性が高まるので、ハッカーに狙われやすくなります。
ちなみに、このサイトでもプラグインセットの見直し中でして、Table of Contents Plusというのを使ってきましたが、長期間アップデートされていないのとヒートマップを見るにユーザーは大して目次を使っていなさそうなので、外そうかなと思っています。
なお、先ほど挙げたプラグインのWordfence Securityは長期間アップデートされていないプラグインがあるとアラートを出してくれるので、そういった意味でも便利です。
バックアップを定期的に取る
ここまで挙げてきた方法でカバーできないこともありますし、万全な対策を施していたのにもかかわらず、ハッカーに狙われ消えたということは十二分に起こりえます。
何事も100%安全ということはないのです。
そんな時に大事なのは、復旧の早さでしょう。そのためには、定期的かつスパン短めのバックアップを組み込んでおくことが大事です。
バックアップはBackWPupのようなプラグインを使う方法と、レンタルサーバーのコントロールパネルで設定する方法があります。
私は、mixhost を使っているのですがレンタルサーバー側で用意されているSoftaculousというアプリケーションで自動バックアップしております。
以前別サイトが一度消失したことがあったのですが、サーバエンジニアでない私でも比較的短時間で復旧させることができました。
どちらの方法がオススメかと言えば、やはりプラグインはWEBサイトの負荷になるので、レンタルサーバーでバックアップする機能が用意されているのであれば、そちらを使ったほうが良いかと思います。
※レンタルサーバーについては以下も併せてご参照下さい。
もっと簡単で確実な方法は?
以上が、ざっくりとですがあなたのWEBサイトを守る方法になります。
しかし、
という方も多いでしょう。
そんな方にご提案したい方法があります。
- WordPressの初期設定と運用保守を外注する
- note proやwixなどの次世代オウンドメディア構築プラットフォームを使う
平たく言うと、プロに任せてしまおうということですね。
前者は月5万円ぐらいかかりますが、更新忘れによるWEBサイトの消失を招くドメインの管理などもセットでお願いできますので、お金を払い続けるだけで自分たちだけで運用するよりも安全性はぐっと上がります。
後者はnote proやwixの提供元がサーバー管理していますので、脆弱性の対策に関して自社で何もやる必要はありません。仮にトラブルがあったとしても、迅速かつ的確な対応が見込めます。
※note proについては、以下の記事も参照下さい。
WordPressの初期設定・運用保守やります
私の方でも請け負うことが出来ますので、ご興味のある方は以下からお問い合わせいただければ幸いです
内容によりますが、概算としては初期設定10万円・月額5万円になります。