セキュリティ基礎解説|なぜその対策が必要なのか
セキュリティ完全ガイドの各ページでは具体的な設定手順を解説していますが、このページでは一歩下がって「なぜその対策が必要なのか」を、SSL・パスワード・バックアップ・wp-config.phpという4つの基本要素を中心に、初心者にもわかりやすく解説します。
① WordPressサイトを狙う主な攻撃
WordPressは世界で最も使われているCMSであるがゆえに、自動化された攻撃プログラムの標的になりやすいという特徴があります。まずは代表的な攻撃手法を知っておきましょう。
ブルートフォース攻撃
IDとパスワードの組み合わせを機械的に総当たりで試す攻撃。ログインページへの自動アクセスの多くがこれにあたります。
SQLインジェクション
入力フォーム等を通じて不正なデータベース命令を送り込み、情報を盗んだり改ざんしたりする攻撃。
XSS(クロスサイトスクリプティング)
悪意のあるスクリプトをサイトに埋め込み、訪問者のブラウザ上で実行させる攻撃。コメント欄等が狙われます。
マルウェア設置
更新されずに放置されたプラグイン・テーマの脆弱性を突いて、不正なファイルをサーバーに設置する攻撃。詳しくはマルウェアスキャン・駆除やWordPress更新管理ガイドを参照してください。
② なぜSSL化が必要か
通信の盗聴・改ざんを防ぐ
SSL/TLSは、ブラウザとサーバー間の通信を暗号化する技術です。SSL化されていない(http://の)サイトでは、フォームに入力したパスワードやクレジットカード情報が、通信経路上で第三者に読み取られる可能性があります。URLが「https://」で始まっているサイトは、この暗号化が有効な状態です。
SEO・ブラウザ表示への影響
Googleはランキング要因の1つとしてSSL化を挙げており、SSL化されていないサイトはブラウザ上で「保護されていない通信」等の警告が表示されます。訪問者の信頼を得るためにも必須の対策です。証明書の種類・無料のLet's Encrypt・混在コンテンツ対策など詳しくはSSL証明書とHTTPS化の解説を参照してください。
③ なぜ強固なパスワードが必要か
ブルートフォース攻撃への耐性
短い・単純なパスワードは、総当たり攻撃によって短時間で突破されてしまいます。英数字・記号を組み合わせた12文字以上のパスワードにすることで、突破に必要な時間を現実的でないレベルまで引き伸ばせます。
使い回しの危険性
他のサービスと同じパスワードを使い回していると、その別サービスから情報が漏洩した際に、WordPressサイトも芋づる式に突破されるリスクがあります。サイトごとに異なるパスワードを設定しましょう。
④ なぜバックアップが必要か
「予防」ではなく「回復」のための対策
ここまでの対策がすべて「攻撃を防ぐ」ためのものだったのに対し、バックアップは「万が一被害にあった場合に、被害前の状態に戻す」ための対策です。どれだけ予防策を講じても、被害を完全にゼロにすることはできないため、バックアップは対策の最後の砦となります。
ハッキング被害からの復旧の第一歩
万が一改ざん被害にあった場合、正常な状態のバックアップがあれば、原因調査と並行して迅速にサイトを復旧できます。詳しくはハッキング被害後の復旧手順およびバックアップ完全ガイドを参照してください。
⑤ なぜwp-config.phpの保護が必要か
データベース接続情報を含む最重要ファイル
wp-config.phpには、データベースのユーザー名・パスワード・秘密鍵(認証キー)など、サイトの根幹に関わる機密情報が記載されています。このファイルの中身が第三者に読み取られると、データベースに直接アクセスされる重大なリスクにつながります。
// .htaccessに追記することで直接アクセスを拒否できる設定例 <files wp-config.php> order allow,deny deny from all </files>
⑥ Nonceとは何か
Nonce(ノンス)は、「Number used once」の略で、WordPressが不正なリクエストを見分けるために発行する使い捨てのトークンです。例えば、投稿削除ボタンを押した際に送信されるリクエストが「本当にその画面から送信されたものか」を検証する役割を持ちます。
⑦ セキュリティ完全ガイド全10ページ
ここまでの「なぜ」を踏まえて、具体的な設定手順は以下の各ページで解説しています。