なぜWordPressへのセキュリティ対策が必要なのか
世界中でサイトの40%超がWordPressを用いて作られているとされ、WordPressは特に人気のCMSとなっています。
しかし、オープンソースであることから、WordPressのファイル構造やコードは誰でも閲覧可能であり、ハッカーなど悪意のある人間がプログラムの脆弱性を見つけてしまうと、そこを突いた攻撃が行われる可能性があります。
ほかにも、WordPress本体ではなく、インストールしているプラグインを介した攻撃が行われる場合もあります。
また、WordPressで作られたサイトは基本的に同じ設計となっていることが弱点になることもあります。
例えば、WordPressにログインするためのURLは、変更しない限りはほぼ同じ形であることから、無理やりログインIDやパスワードを割り出そうとするなどの攻撃方法があります。
そのため、WordPressを使うのであれば、セキュリティ対策は必須となっています。
これは、レンタルサーバーなどで設定してもらえるセキュリティではなく、自身でWordPressへの対策を導入していく必要があるものです。
本記事では、どのような攻撃が行われるのかを事例を交えて説明しつつ、対策としてどんな方法を取ることができるのかを解説していきます。
WordPressへの攻撃事例
自身のサイトに攻撃されることはないと思う人もいるでしょうが、WordPressで作られたサイトへ攻撃が行われた事例は決して少なくありません。
攻撃された事例を知ることは、セキュリティ対策の必要性を理解することにもつながり、またセキュリティをより高める場合はどうすればいいのかを考える際のヒントにもなります。
では、実際にどのような攻撃が行われたことがあったのかをいくつか紹介していきます。
プラグインの脆弱性を突いたスクリプトなどの不正挿入
2015年当時人気だった画像用のプラグイン「Fancybox for WordPress」に脆弱性が見つかり、Javascriptのコードやコンテンツを無理やりサイトに挿入されてしまうという事例がありました。
挿入されたサイトは勝手にリダイレクトされてしまったり、意図しないコンテンツを表示されてサイトの評価を落とされてしまったりという被害がありました。
参考:WordPressプラグインの「Fancybox」、未解決の脆弱性を突く攻撃が横行
プラグインを介した攻撃は特に多く、他にもアクセス制限の不備をついたものや、不正なリクエストを送ってスパムメール(迷惑メール)を送り付けるなどの事例もあります。
WordPressの機能を利用してサイトをダウンさせる
こちらはWordPressの基本機能である「ピンバック(Pingback)」機能を利用して、サイトに負荷を与えて表示させなくするといったDDoS攻撃を行ったものです。
ピンバックとは、お互いにWordPressを用いたサイトであり、片方のサイトでもう一方のサイトのページを参考リンクなどのようにして貼り付けた場合、貼り付けられた側のサイトに通知が届くというものです。
ピンバック機能は標準状態で作動するようになっており、元々はユーザー間のコミュニケーションを図って相互リンクをつけてもらうなどの目的であった機能ですが、このときは数秒間のうちに何百万もの通知が届くようにされていました。
その結果、大量の通信が行われて負荷がかかり、サイトが表示されなくなるという事態に陥りました。
参考:今度はWordPressが踏み台に、Pingback機能を悪用しDDoS攻撃
ハッキングによる不正アクセス
WordPressのログイン画面は、特に変更していなければ、サイトの末尾に「/wp-login/」を付けると表示されます。
そのため、WordPressで作られたサイトであれば、誰でもログイン画面を表示させることが可能です。
ログイン情報を流出させないように管理するのは基本ですが、簡単なログインIDやパスワードを設定していたために、総当たりで解析されてしまったという事例もあります。
この総当たりによるログイン情報を解析する攻撃は「ブルートフォースアタック」と呼ばれる有名な手法で、本来は暗号解読などに用いられるものです。
常、WordPressはログイン時に失敗したからと制限がかかることもないので、基本の管理者IDである「admin」やメールアドレスなどから推測されるIDでアタリをつけ、そこから機械的に何度もパスワードを入力して解析するというような方法が取られてしまいます。
この事例では、外部の人間に不正ログインされ、知らないうちに管理者アカウントを新規発行されるということが起こりました。
管理者アカウントがあれば、内部のファイルやコンテンツを操作できるため、不正なプログラムを追加できてしまいます。
WordPressのセキュリティ対策方法
いくつかの事例を紹介してきましたが、セキュリティ対策を取ることで、すべて防ぐことは可能です。
プラグインの脆弱性はバージョンを更新したり、削除したりすることでなくすことができ、不正アクセスやピンバック機能を利用された攻撃は設定の変更やセキュリティ強化用のプラグインを使うことで対処可能です。
それでは、一つずつ詳しく見ていきましょう。
WordPressとプラグインのバージョンを最新にする
WordPressやプラグインは最新バージョンへと常に更新することをおすすめします。
脆弱性が見つかった場合、次のバージョンでは対処されたものになっています。
自動で更新するように設定しておくこともできますが、PHPのバージョンによっては更新したことでプラグインが機能しなくなる場合もあります。
この場合は手動で更新していくしかありませんが、いつ・どのバージョンで脆弱性が見つかるかはわかりません。
PHPのバージョンはサーバーごとに異なるため、あまりに古いバージョンのPHPを提供しているサーバーを利用しているのであれば、セキュリティ対策のためにも乗り換えを検討した方がいいかもしれません。
また、あまり更新がないプラグインは、脆弱性が見つかっても更新されない可能性があります。
更新頻度が無い・少ないものはセキュリティ面でも危険であり、元から不正プログラムが仕込まれていることもあるので、基本的にはインストールせず、削除して代わりのプラグインを探すようにしてください。
使わないプラグインの削除
試しにインストールしたようなプラグインは、利用していなくても攻撃の対象になります。
この場合はアップデートするのではなく、削除した方が良いです。
不要なプラグインを削除することは、サイトの高速化にも良い影響をもたらしますので、セキュリティだけでなくSEOの面でも有効です。
機能においても新しい別のプラグインであれば、更新頻度も高くて使用していたいくつかのプラグインの機能をまとめて使えるということもありますので、プラグインは一度すべて見直してみましょう。
ログインURLを変更する
先ほどの事例でも触れましたが、初期設定のWordPressのログイン用URLはすべて同じです。
ただ、ログインURLは変更可能です。
変更用のPHPファイルを作成し、「function.php」という機能に関するWordPress内のPHPファイルを編集することでできますが、プラグインでより簡単に変更することができます。
後述しますが、プラグインでログインに何回か失敗したら一定時間ログインできない状態にしたり、画像などによる二段階認証を導入することもできるプラグインもありますので、その設定と併せてログインURLも変更しておきましょう。
パスワードを予測しにくいものにする
WordPressに限らず、ログイン情報を守るための基本的な方法ですが、パスワードは予測がしにくいものに変更しておきましょう。
予測の難易度は「パスワード強度」と呼ばれ、主に大文字・小文字・数字・記号のすべてを組み合わせた8文字以上のパスワードにすることで強度を高めることができます。
強度の高いパスワードは総当たり攻撃でも解析することは実質不可能です。
文字数が長く、記号や大文字も含まれているとなると、機械的に総当たりで調べても数十年かかるレベルであるため、まず解析される心配はありません。
ログインIDも同様に難しいものにする方がより良いのですが、ログインIDを忘れてしまったときなどのリスクを考えると、パスワードのみを複雑にしておく程度で十分だと思われます。
初心者にも使いやすいおすすめのセキュリティ対策用プラグイン
これまで解説した対策を取るにあたっては、下記2つのプラグインの導入がおすすめです。
- SiteGuard WP Plugin
- All In One WP Security & Firewall
「SiteGuard WP Plugin」はログイン用URLを簡単に変更できるほか、画像認証やログインロックなどの機能を追加することができます。
また、ピンバック機能の有効化・無効化なども設定できるため、これひとつで基本的なセキュリティ対策ができるプラグインとして有名です。
そして、「All In One WP Security & Firewall」はさらにセキュリティを強化することに活用できます。
WordPressのログインURL変更はもちろん、IP制限やPHPファイルのバックアップを行うことができます。
加えて、サイトのテキストや画像のコピー&ペースト無効化などの機能もあるため、コピーコンテンツを作らせないといった迷惑行為を防ぐのにも役立ちます。
セキュリティ系プラグインはこの2つが特におすすめですが、そのほかにも利用していない・更新がされていないプラグインを見直す際の参考に、下記記事も併せて読んでみてください。
参考:WordPressでまず最初に入れておきたいおすすめのプラグイン|デザイン・機能・テーマなど使い方別にご紹介
セキュリティに関する情報をきちんと追うこと
これまで起きた攻撃の事例は、初期状態のままであったり、管理を怠ったりということが主な原因になっています。
そのため、プラグインでセキュリティを高めるだけではなく、バージョンの更新やパスワードの変更など、WordPressの管理においても注意することが必要です。
また、セキュリティ対策に終わりはなく、バージョンが変わるにつれて、また新たな脆弱性が発見されるということもあります。
サイト運営を行うのであれば、常に情報を追いながら、セキュリティ対策についても情報を更新していくようにしましょう。
最近のコメント
コメントなし