WordPressのセキュリティ対策が重要である理由

WordPressのセキュリティ対策の重要性

よくWordPressでは、セキュリティ対策が重要と聞くかも知れません。
その重要性とセキュリティ対策ができているかの確認方法ご紹介します。
セキュリティ対策をしているつもりでも、十分でない場合があるかも知れません。

WordPressの脆弱性と脅威とは?

脆弱性や脅威が、実害例としてどのようなもにおがあるか、不明な人が多いと思います。
実害を知ることで、対策の重要性や、目的、対策も検討しやすくなります。

WordPressの脆弱性と脅威

  1. 管理画面へのログインの突破
  2. プログラムの脆弱性をついた攻撃
  3. プログラムの誤動作などを起こす攻撃

実害例

  1. 個人情報など保持している情報の漏えい
  2. マルウェアを仕込こみ、訪問者に感染させて広範囲のハッキングの拠点とする
  3. サイト情報やDB内容の紛失(データを削除/上書きされるなど)、変更(振込先情報を意図に変更など)
  4. 異るなるページ(主に悪意のあるページ)へリダイレクトをする

ログインがハッキングされると、サイトにあるデータを変更できたり、プログラムをインストールができる状況になるため、甚大な被害が発生します。
それぞれは、はっきり改善された気づくほどの大きな変更をし、短期的に利益を得るハッキングと、気づかないよう改ざんを忍び込ませて、長期的に利益を得るハッキングの2パターンがあります。
WordPressの利用も含め、サイトを運営するという意味では、上記のリスクを承知の上で運営をし、これらの脅威に備える必要があります。

なぜWordPressが狙われやすいのか。

WordPressが狙われやすいのには、以下のような理由があります。

  1. 世界中で最も利用されているCMSツールのため、ターゲットになりやすい + 実例としても多くなる
  2. オープンソースのCMSツールのため、システムの仕様が公開されているため、セキュリティの脆弱性も把握しやすい
  3. オープンソースで常にアップロードさるがゆえに、過去のバージョンの脆弱性が判明しやしい

利用するサイトが多いということは、利用しているユーザも多い、訪問しているユーザも多いため、ニッチなCMSやサイトの脆弱性をつくよりは、ハッキングするにも利便性が高い側面があります。
また、WordPressは柔軟でかつパワフルなので、ホームページの作成以外にも、ECやコミュニティなど多種多様な機能を追加したり、データを蓄積する機能もあります。
WordPressがメジャーであるがゆえに、ハッキング対象でもメジャーであり、オープンソースがゆえに拡張しやすいので、ハッキングもしやすいという、ジレンマが生じているのです。
上記からセキュリティの対策が必要がご理解いただけますでしょうか。

WordPressの最低限のセキュリティ施策

最低限おこなっておくべきセキュリティ対策を紹介します。
各種簡易的なセキュリティホールがないか確認してから、セキュリティホールが場合に集中的に攻撃される場合と、特定のサイトに予め狙いをさだめ各種攻撃を集中的にする場合とがあります。
前者の方は、基本的なセキュリティ対策をすることで、ハッカー手間を掛けて脆弱性を検証しないで諦める可能性が高いです。
後者の方は、サイトの集客性、社会的有名性、保持しているデータの価値、バージョンが古いなどの要因からターゲットになる可能性が高いです。

必要最低限実施しておくべき対策

管理画面のURLの変更
WordPressの管理画面のURLはデフォルトのままのだと簡単に推測されます。
http://サイトURL/wp-damin/、http://サイトURL/wp-login.php などでログインページにアクセスできるままになっていませんでしょうか?

意外に変更をしない方が多いですが、ハッカーに玄関の場所を明示しいるのと同様なので、変えましょう。

管理画面へのアクセス制御
Basic認証やIP制限などURLを知っていたとしても、簡易にアクセスできない環境を構築しましょう。

ユーザ名の変更
契約したレンタルサーバのサービスでWordPressを自動インストールするなどの際に、多いのがユーザ名がadminのままになっていること。
管理画面のURLがわかってしまえば、あとはユーザ名とパスワードのみが頼みの綱なのですが、ユーザ名まで分かるとあとは、パスワードの総当たり攻撃だけでハッキングが完了します。

ユーザ名の非公開
WordPressのユーザ名がadminでないにしても、登録したユーザ名を記事の作者情報で一般公開している方もいます。
これでは意味が無いので、管理画面でログインユーザ名と変わるように変更をしましょう。

ユーザ名の隠蔽
http://サイトURL/?author=1
※末尾の数字は、2,3など変えることで他ユーザも露呈されます
とアクセスするとデフォルトのままでは
http://サイトURL/author/XXXXX
とリダイレクトされます。この XXXXX がログイン名となります。
リダイレクトされないよう調整しましょう。

パスワードの整合性の隠蔽
管理画面では丁寧にユーザ名が合っているが、パスワードが間違ってる場合「エラー: ユーザー名 XXXXX のパスワードが間違っています。 パスワードをお忘れですか ?」と回答します。親切にも ユーザー名 XXXXX が存在していることを回答しています。
このような回答にならないよう調整しましょう。

パスワード複雑化
推測されづらいパスワードを登録しましょう。
一般的に総当たり攻撃の所要時間は、現在の一般的なPCだと下記のような時間がかかります。

英字(大文字、小文字区別無)
4桁:約3秒 6桁:約30分 8桁:約15日 10桁:約30年

英字(大文字、小文字区別有)+数字
4桁:約2分 6桁:約4日半 8桁:約40年 10桁:約20万年

英字(大文字、小文字区別有)+数字+記号
4桁:約9分 6桁:約50日 8桁:約1千年 10桁:約1千万年

少なくとも1年以上は掛かるような設定が好ましいです。

ユーザ名とパスワードの管理
対策をしていても、ログイン情報を多数の方に共有したり、メールやSNSで安易にやりとりするなど、人為的に漏洩する機会があります。
必要な権限や管理体制や対策をして、漏洩することを防ぎつつ、漏洩した際の変更対策を事前にしておきましょう。

プログラムは最新化をする
WordPress本体やプラグインは、バグや不具合が発見されると随時更新されます。
常にあ最新のバージョンを維持しましょう。過去のバージョンほど脆弱性があるため、攻撃の対象となります。
また、過去のバージョンやテンプレートによっては、丁寧にバージョンをソース内に出力する設定になっている場合があります。
ハッカー以外は有益な情報にはならないので、表示しないよう調整をしましょう。

重要な設定ファイルへのアクセスを制限する
WordPressは、/wp-config.php というファイルにDBとの通信に必要なURL、ID、パスワードなど各種重症なを記載しています。
このファイルが外部に漏洩されれないよう外部からのアクセスを制限しましょう。

使用していないプラグインは削除する
プラグインにも脆弱性が存在します。使用していないとうっかり更新をしなかり、そのまま更新もなく放置状態になっている場合もあります。
そのままにしておくと攻撃者のターゲットになるので、削除しましょう。

上記の最低限と思われる内容は、プラグインだけで対応はできないため、素人の方では対応が難しいのが現状です。
WordPressとWEBに詳しい方に依頼をすることとをおすすめします。

WordPressケアスタジオにご相談ください

WordPressケアスタジオはセキュリティに自信がある保守サービスを提供しています。
webのテクノロジーも日進月歩であり、同様にハッキング方法も合わせて変化していきます。
このような状況で、常にセキュリティを担保するのは、片手間では難しい状況かと思います。
セキュリティを重視するなら、スペシャリストであるWordPressケアスタジオにご相談ください。

お困りですか?