Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから
公開日:2016年5月10日
最終更新日:2016年5月11日

WordPress のセキュリティ対策(まとめ的なもの)

はじめに

WordPress のセキュリティ対策は、情報が氾濫していて悩んでいる方もいるかもしれません。

そこで、WordPress を守るためにはどうするのがよいのかを、ネット上の記事と自分が行っている対策を元に、できるだけ簡潔にまとめてみました。

WordPress のセキュリティ対策

現状だと WordPress のセキュリティ対策は、以下の4点に集約されます。

  • WordPress 本体を最新にする
  • プラグインを最新にする
  • 強力なパスワードを設定する
  • 不具合よりセキュリティを取る

WordPress 本体の脆弱性は、最近大きいものは出ていないようですが常に最新にするよう心がけましょう。といっても、最近の WordPress は自動的にアップデートがかかるのでまかせても大丈夫かもしれません。ですが、できるだけ早めにアップデートする方が望ましいです。

プラグインを最新にするというのは、WordPress 運用で重要になってきます。プラグインは WordPress 本体と違って脆弱性が多い傾向にあるそうです。最近では、ImageMagick の深刻な脆弱性がありましたね。

ですので、プラグインを最新にするというのは重要なのですが、プラグインがアップデートされたかどうかは基本的にログインしてみないと分からないのですよね。そのため、こまめにログインしてアップデートがあるかどうか確認する必要があります。

強力なパスワードを設定するというのは当たり前のことのようですが、実際に強力なパスワードを使っているのか、パスワードの使い回しをしてないのかの確認は必要です。パスワード認証を突破されないというのは、最重要の対策になります。

不具合よりセキュリティを取るというのは極端な意見のように感じるかもしれませんが、WordPress を乗っ取られ、ユーザーを悪意のあるサイトに誘導するよう改ざんされたり、ネット上の攻撃元サーバーとして使われたりするかもしれません。こうなったら、もう被害者ではなく加害者になってしまいます。

ですので、少々の不具合であればセキュリティを優先し対策をとり、それから不具合の修正を行うのがこれからのスタイルになるのではないかと考えます。WordPress のサイトを一時閉鎖するのも一つの手段です。

WordPress のセキュリティを向上させてくれるプラグイン

SiteGuard WP Plugin

SiteGuard WP Plugin は、インストールするだけで WordPress のセキュリティを向上させてくれるプラグインです。また、提供している JP-Secure 社 は、 SiteGuard Lite という WAF (Web Application Firewall) を提供しているセキュリティベンダーなので、安全性にも信頼がおけます。

SiteGuard WP Plugin にはいろいろな機能があるのですが、不正ログインを防ぐものとしては以下の機能が役立ちます。

  • 画像認証
    • ひらがな、英数字の画像認証を追加する(2要素認証になる)
  • ログインロック
    • ログインに繰り返し失敗すると一定時間ロックがかかる
  • ログインアラート
    • ログインが成功した場合、管理者にメールが送信される
  • ダッシュボードのログイン履歴
    • ログインの成功・失敗・IPアドレスの履歴がダッシュボードに一覧で表示される

また、SiteGuard WP Plugin のよいところは、MarsEdit といったブログエディタの動作を阻害しないところですね。

Google Authenticator というプラグインがあるのですが、これは WordPress に Google の2段階認証を取り入れることができます。ですが、MarsEdit を使おうとするとエラーで弾かれてしまうので、記事を書く時点はプラグインを無効にする必要がありました。その点、SiteGuard WP Plugin はそのようなことがないのでよいですね。

Advanced Automatic Updates

プラグインのアップデートにはこまめにログインすることが必要だと先ほど記述しましたが、このプラグインはプラグインとテーマに更新があった場合、自動的にアップデートしてくれる優れものです。

但し、自動アップデートが怖いという場合は採用を見送ったほうがよいと思いますが、セキュリティを保つためには導入したいプラグインではあります。

BackWPup

WordPress のバックアップを取ってくれるプラグインです。但し、単にデータベースのバックアップを取るだけでなく、画像ファイルやプラグイン、WordPress のシステム全体をバックアップしてくれるすぐれものです。

また、バックアップ先もローカルだけでなく、Dropbox、Amazon S3、Microsoft Azure、SugarSync などのストレージサービスを選べます。サーバーが完全にダメになっても安心のバックアップです。

復旧も簡単です。バックアップしたファイルを元に戻し、記事の内容の SQL を MySQL で実行するだけです。実際に試してみましたが、簡単に復旧できました。

その他セキュリティ対策

WAF (Web Application Firewall) の導入

最近、レンタルサーバーなどでは、SiteGuard Lite などの WAF が無料でついてくる場合があります。その場合は積極的に採用しましょう。WAF を導入すると、攻撃者のリクエストをブロックしてくれる可能性が高まります。

過信は禁物ですが WAF を導入することは、今後の主流になるだろうと考えています。

なお、VPS など自分でサーバーを立てている場合は、ModSecurity などのオープンソースの WAF もあるので採用を検討してみてはいかがでしょうか。このサイトも ModSecurity を導入しています。

管理機能ログイン画面の HTTPS 化

これはレンタルサーバーではできない可能性もありますが、もしできるなら管理機能のログイン画面は HTTPS 化して暗号化通信にすべきです。

そうしないと、ID と パスワード がネットワークで平文で流れてしまうことになり、不正ログインされる可能性が高まります。

自分で VPS などでサーバーを立てている場合は、無償で利用できる SSL/TLS 証明書として Let’s Encrypt があるので、採用を検討してみてはいかがでしょうか。

自分でサーバーをできるだけ持たない

VPS やクラウドサービス(IaaS:Infrastructure as a Service)などの、サーバーの全てを自分で管理することができるサービスがあります。

ですが、自分でサーバーを管理するということは、自由度は非常に高いのですがサーバーを適切に管理するという責任もあります。具体的には、サーバーに脆弱性が発見された場合は対応をするということです。

セキュリティに興味がある人は別ですが、普通の人には脆弱性情報の収集は負担が大きいですし、対応も難しいと思われます。

ですので、サーバー管理はサービス提供者側に任せられるレンタルサーバーやクラウドサービスでも PaaS(Platform as a Service)と呼ばれるものを利用することがお勧めです。

パーミッションの設定

レンタルサーバーのみなのですが、ファイルやディレクトリのパーミッションの設定を間違えると、第三者にファイルを改ざんされてしまう危険性があります。

そうならないように、以下のようにパーミッションを設定します。

・HTMLやJS、CSS、画像は604
・PHP スクリプトは 600
・CGI スクリプトは 700
・ディレクトリは 701

http://blog.tokumaru.org/2015/12/wordpress-security.html

 

おわりに

これで一通り WordPress のセキュリティ対策はまとまったと思いますが、いかがでしょうか。

今後も情報を集めてアップデートしていければと思います。

この記事が参考になれば幸いです。

参考サイト


スポンサーリンク




カテゴリー:ブログ

Twitter でも、いろんな情報を発信しています。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA