危なくないWordPress

2024.08.30

WordPressは、弊社株式会社デパートでも多くの案件で導入されており、使いやすさと柔軟性から世界中で広く利用されているコンテンツ管理システム(CMS)です。 なんと世界のウェブサイトの半分はWordPressで構築されているという調査結果もあるそうです。 しかし、その人気の高さゆえに、セキュリティ面でのリスクも指摘されています。この記事では、WordPressがなぜセキュリティ面で危険だと言われているのか、そしてどのような対策を講じるべきかについて詳しく解説します。

WordPressがセキュリティ面で危険だと言われる理由

WordPressのセキュリティリスクは主に以下の要因から生じています。

  1. 高い普及率
    W3Techsによると世界のCMSを使用したウェブサイトの約62%以上がWordPressを使用しており、過去バージョンの脆弱性情報やセキュリティホールなどの情報も周知されています。攻撃者にとっては魅力的なターゲットです。

  2. プラグインの脆弱性
    多数のプラグインの中には、セキュリティテストが不十分なものや、メンテナンスが行き届いていないものが存在します。有名なものに関しては上記同様に脆弱性情報が周知されている可能性があります。

  3. 古いバージョンの使用
    多くのユーザーがWordPress本体やプラグイン、テーマを最新の状態に保っていないため、既知の脆弱性が修正されないまま残されることがあります。

  4. 共有ホスティング環境
    多くのWordPressサイトが共有ホスティング上で運用されており、1つのサイトの侵害が他のサイトにも影響を及ぼす可能性があります。

  5. デフォルト設定の脆弱性
    初期設定のままでは、セキュリティ面で脆弱な部分が残されています。

  6. ユーザー側の知識不足
    多くのユーザーがセキュリティに関する基本的な知識や対策を十分に理解していません。

ウェブサイトにおける、よくある攻撃とは

一般的なウェブサイトにも言えることですが、CMS機能を持つWordPressでよく受けがちな攻撃は以下の3つです。

1. ブルートフォースアタック

上記理由の 1, 5 に該当
名前がかっこいいですが、ブルートフォースアタックは、ログイン情報を総当たりで試行し、不正にアクセスを得ようとする攻撃手法です。中小規模のサイトでは、セキュリティ対策が不十分なケースが多く、この攻撃の標的になりやすいです。 会員情報などを持つサイトでは特に注意が必要です。 ログインを乗っ取られるため、サイト改ざんのリスクもあります。

2. 既知の脆弱性を狙った攻撃

上記理由の 1, 2, 3 に該当
普及率の高さ故に脆弱性情報も検索すればすぐに知ることができてしまいます。 言ってみれば古いバージョンのWordPressやプラグインは穴だらけです。 情報の流出リスクや、サイト改ざんのリスクがあります。

3. DDoS攻撃

上記理由の 4, 5 に該当
これはCMSに限ったことではないのですが、なぜか最近流行っているようなのでピックアップしました。以前はDoS攻撃、F5連打などと呼ばれていましたが、進化して分散型になりました() DDoS攻撃は、大量のトラフィックを一斉に送り込むことで、サーバーやネットワークリソースを枯渇させ、サイトを利用不能にする攻撃です。中小規模のサイトは、大規模なDDoS攻撃に対する耐性が低いことが多く、標的になりやすいです。 頻繁にサーバが落ちるとサイトの信用度にも関わり、検索結果からランディングできないケースが増えるとランクも下がってしまいます。

ところで:サイト改ざんの怖さとは

閑話休題ですが、サイトが改ざんされるとはどういうことでしょうか?
でたらめな記事を公開されて迷惑だな、とかの次元ではなく、事態はもっと深刻です。

例えば怪しいスクリプトを埋め込まれて来訪者を怪しいサイトへ飛ばしてしまうとか、勝手に広告埋め込まれてしまったり、以前は全画面iframeで偽サイトを表示させたり…ということが事例としてありました。

よくある攻撃に対する具体的な対策方法

1. ブルートフォースアタックへの対策

総当りさせないよう、ログインまわりに対策が必要です。以下の対策を講じましょう!

対策1 強力なパスワードの使用

管理者やユーザーに対して、複雑で長いパスワードの使用を義務付けます。大文字、小文字、数字、特殊文字を組み合わせた12文字以上のパスワードを推奨します。

対策2 二段階認証の導入

パスワードに加えて、スマートフォンのアプリやSMSを使用した二段階認証を導入します。WordPressには、Google Authenticatorなどのプラグインが利用可能です。

対策3 ログイン試行回数の制限

失敗したログイン試行回数を制限するプラグイン(例:Limit Login Attempts Reloaded)を導入します。一定回数以上のログイン失敗で一時的にアクセスをブロックすることで、ブルートフォース攻撃を防ぎます。

対策4 ログインURLの変更

デフォルトの「/wp-admin」や「/wp-login.php」を、カスタムURLに変更します。これにより、攻撃者がログインページを見つけにくくなります。

2.古いバージョンを狙った攻撃

WordPressはコミュニティが活発なので、重大な脆弱性についてもアップデートですぐに対応してくれます。 つまり最新版であれば、既知の重大な脆弱性問題は解決済みということになります。

対策1 自動更新の有効化

WordPressコア、プラグイン、テーマの自動更新を有効にします。ただし、重要な更新の場合は事前にテスト環境で確認することをお勧めします。

// wp-config.phpに以下を追加
define( 'WP_AUTO_UPDATE_CORE', true );

対策2 不要なプラグイン・テーマの削除

使用していないプラグインやテーマは完全に削除します。これにより、攻撃対象となる可能性のあるコードを減らせます。

プラグインの無効でもよいのではと思われる方がいるかも知れませんが、プラグインが無効になっていても実行ファイルは存在するので、有効/無効はあまり効果がありません。

対策3 信頼できるソースからのプラグイン・テーマの導入

WordPressの公式ディレクトリや評判の良い開発者のプラグイン・テーマのみを使用します。 今後のことを考慮して、アップデートが活発なものを選択する事ができれば、新たな脆弱性にも素早く対応してもらえることが期待できます。

対策4 定期的なセキュリティスキャン

Wordfence Security等のセキュリティプラグインを導入し、定期的にサイトをスキャンします。これにより、既知の脆弱性や不審なファイルを検出できます。 プラグインでなくてもURL入力するだけでサイトをチェックしてくれるサービスなどもあるので適宜利用してみるとよいです。

有料のサービスと無料のサービスがあり、詳細に調査したい場合は有料プランで定期的にチェックするのも手かもしれません。

WordfenceSecurity
https://ja.wordpress.org/plugins/wordfence/

Securi社のSitecheck
https://sitecheck.sucuri.net/

GlobalSIgn
https://jp.globalsign.com/service/sitelock/

3.DDoS攻撃(分散型サービス拒否攻撃)

いかにして不正なアクセスをブロックできるかが鍵となります。 対策や手段を以下に挙げますが、すべて対策したほうがよい!ではなく、いずれかはやるべき! といったニュアンスです。

対策1 CDN(コンテンツデリバリーネットワーク)の利用

CloudflareやAmazon CloudFrontなどのCDNサービスを利用することで、トラフィックの分散と不正アクセスのフィルタリングができます。

対策2 ウェブアプリケーションファイアウォール(WAF)の導入:

WAFを導入することで、不正なトラフィックを検知し、ブロックすることができます。多くのCDNサービスにはWAF機能が含まれています。 ご自身のサーバにWAF機能がない場合は、クラウド型WAFなどを用いることもできます。トラフィックの入口を変更し、正しいトラフィックだけ流すことが可能です。 近年ではレンタルサーバでもWAF機能を備えているケースが増えています。

対策3 SSG(静的サイトジェネレーター)構成の採用

WordPressをヘッドレスCMSとして使用し、フロントエンドをSSG(例:Gatsby, Next.js, Hugo)で構築する方法があります。この構成には多くの利点があります。

まず、パフォーマンスが大幅に向上します。静的ファイルのみを配信するため、サーバーの負荷が大きく軽減されます。これにより、DDoS攻撃時でも比較的安定したサービス提供が可能になります。

次に、セキュリティが強化されます。動的な処理がほとんどないため、多くの攻撃ベクトルを排除できます。これは特に、SQLインジェクションやクロスサイトスクリプティングなどの一般的な攻撃に対する耐性を高めます。 加えて、この構成はブルートフォース攻撃の防止にも非常に効果的です。通常のWordPressサイトでは、ログインページが公開されていることが多いですが、SSG構成では管理画面へのアクセスを完全に分離できます。これにより、ブルートフォース攻撃のリスクを大幅に削減できます。攻撃者はログインページの場所を特定することさえ困難になるため、攻撃の成功率が著しく低下します。

さらに、スケーラビリティが向上します。静的ファイルは容易にCDNでキャッシュでき、大量のトラフィックにも効率的に対応できます。これにより、DDoS攻撃時でも、より多くのリクエストを処理することが可能になります。

SSG構成を採用する際は、まずWordPressをヘッドレスCMSとして設定します。次に、REST APIまたはGraphQLを使用してコンテンツを取得し、SSGでフロントエンドを構築します。最後に、生成された静的ファイルをCDNにデプロイします。

この方法により、WordPressの管理のしやすさと静的サイトのセキュリティ・パフォーマンスの利点を組み合わせることができます。ただし、この構成への移行には一定の技術的知識と初期投資が必要となるため、サイトの規模や要件に応じて慎重に検討することが重要です。

まとめ

WordPressは優れたCMSですが、その人気ゆえにセキュリティリスクも高くなっています。しかし、適切な対策を講じることで、これらのリスクの多くを軽減することができます。本記事で紹介した従来の対策に加え、クラウドでのサーバ構成やヘッドレス化といった最新のアプローチを採用することで、さらに強固なセキュリティと高いパフォーマンスを実現できます。 クラウド技術を活用することで、スケーラビリティと柔軟性が向上し、より効果的なセキュリティ対策が可能になります。また、ヘッドレス化によってフロントエンドとバックエンドを分離することで、攻撃対象面を減らし、より安全なウェブサイト運営が可能になります。 セキュリティは継続的なプロセスであり、常に最新の脅威と技術動向に対応する姿勢が重要です。従来の対策と新しいアプローチを組み合わせることで、より安全で効率的なWordPressサイトの運営を実現できるでしょう。最新のセキュリティベストプラクティスを常に学び、実践することで、安全なウェブサイトを維持していきましょう。

 

Contact

制作のご依頼やサービスに関するお問い合わせ、
まだ案件化していないご相談など、
お気軽にお問い合わせください。

お問い合わせはこちら