インターネット
 Computer >> コンピューター >  >> ネットワーキング >> インターネット

人気の高いWordPressサイトをサイバー攻撃から守る6つの高度なセキュリティ対策

人気の高いWordPressサイトをサイバー攻撃から守る6つの高度なセキュリティ対策

WordPressのセキュリティに対するニーズは、加速度的に高まっています。ある調査によると、WordPressサイトは毎分90,978件もの攻撃を受けており、WordPressの公開以来、2,450件以上の脆弱性が修正されてきました。すでに実施している基本的なセキュリティ対策に加えて、本記事では、DDoS(分散型サービス拒否)攻撃への対処法を含む、より高度なWordPressセキュリティ対策を6つご紹介します。

1. HTTP Trace機能を無効化する

XSS(クロスサイトスクリプティング)やXST(クロスサイトトレーシング)といった攻撃は、HTTP Trace機能が有効になっているシステムを標的とします。多くのWebサーバーはデバッグなどの目的で、HTTP Traceがデフォルトで有効になるように設定されています。攻撃者はヘッダーリクエストを利用してXST攻撃を実行し、Cookieなどの機密情報を盗み出す可能性があります。WordPressサイトの脆弱性や攻撃手法については、OWASP Top Ten Projectが包括的なリストを公開しているので、参考にするとよいでしょう。

人気の高いWordPressサイトをサイバー攻撃から守る6つの高度なセキュリティ対策

すべての脆弱性タイプの中で、クロスサイトスクリプティングは第1位です。実際、全ウェブサイトの46.9%がこの種の攻撃に対して脆弱だと言われています。HTTP Trace機能を無効化するには、以下のコードを.htaccessファイルに追加してください。

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

2. WordPressのヘッダー出力を削除する

WordPressサイトのさまざまな機能のために、ヘッダーには大量の出力が追加されます。これらの出力は、使用中のテーマの「functions.php」ファイルに以下のコードを追加することで削除できます。不要な情報を減らすことで、攻撃者にヒントを与えるリスクも軽減できます。

remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'wp_head', 'noindex', 1 );

3. データベースの接頭辞(プレフィックス)を変更する

人気の高いWordPressサイトをサイバー攻撃から守る6つの高度なセキュリティ対策

WordPressのデータベーステーブルのデフォルト接頭辞は「wp_」です。ハッカーや悪意のあるボットは、この接頭辞をもとにデータベースのテーブル名を推測できる可能性があります。接頭辞の値はwp-config.phpファイルで設定されているため、WordPressインストール時に変更しておくのが最も簡単です。「Change Table Prefix」などのプラグインを使う方法もありますが、手動で行いたい場合は以下の手順に従ってください。

  1. データベースの完全なバックアップを作成し、安全な場所に保存します。信頼できるバックアッププラグインを活用しましょう。
  2. ホスティングコントロールパネルの「phpMyAdmin」を使って、WordPressデータベース全体をテキストファイルとしてエクスポートし、そのファイルもバックアップします。
  3. コードエディタで、すべての「wp_」という接頭辞を独自の接頭辞に置き換えます。
  4. 管理画面で、すべてのプラグインを無効化します。
  5. phpMyAdminで旧データベースを削除した後、手順3で編集したファイルから新しいデータベースをインポートします。
  6. 新しい接頭辞の値に合わせて、「wp-config.php」ファイルを編集します。
  7. WordPressのプラグインを再度有効化します。
  8. 「設定」→「パーマリンク設定」を開き、保存ボタンを押してパーマリンク構造を更新します。なお、データベース接頭辞の変更によって、ドメイン名・URL・パーマリンク設定自体が変わることはありません。

4. 危険性の高いクエリ文字列をブロックする

XSS攻撃を防ぐために、以下のコードを.htaccessファイルに追加しましょう。コードを追加する前に、まず危険性の高いクエリ文字列を特定することが重要です。この一連のルールにより、URLリクエストから多くの悪意あるインジェクションを除去できます。注意点は次の2つです。

  • 使用中のプラグインやテーマが利用している文字列を除外しないと、機能が壊れる場合があります。
  • 以下の文字列はあくまで代表的なものなので、必要に応じて文字列を追加しても構いません。
RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]
RewriteCond %{QUERY_STRING} ../ [NC,OR]
RewriteCond %{QUERY_STRING} boot.ini [NC,OR]
RewriteCond %{QUERY_STRING} tag= [NC,OR]
RewriteCond %{QUERY_STRING} ftp: [NC,OR]
RewriteCond %{QUERY_STRING} http: [NC,OR]
RewriteCond %{QUERY_STRING} https: [NC,OR]
RewriteCond %{QUERY_STRING} mosConfig [NC,OR]
RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>|'|"|;|?|*).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%22|%27|%3C|%3E|%5C|%7B|%7C).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|config|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]
RewriteRule ^(.*)$ - [F,L]

5. DeflectでDDoS攻撃を防ぐ

立ち上げたばかりのサイト、独立系メディア、人権活動家や人権団体のサイトの多くは、DDoS攻撃に耐えるための技術的・資金的リソースを持っていません。そこで役立つのが「Deflect」です。Deflectは、商用のDDoS緩和サービスよりも優れたソリューションであることを自称しています。

人気の高いWordPressサイトをサイバー攻撃から守る6つの高度なセキュリティ対策

商用のDDoS緩和サービスは費用が高額であり、保護下にあるサイトが頻繁にDDoS攻撃を受けると利用規約が変更されることもあります。一方、Deflectはサイトを常時保護することで、DDoS攻撃をプロアクティブに阻止します。

さらに、Deflectを利用する副次的なメリットとして、クライアントサーバーやシステム管理者の負荷を軽減できるため、コスト削減にもつながります。Deflectはすべてのソースコードとドキュメントをクリエイティブ・コモンズ・ライセンスの下で公開しており、誰でも自分専用のDeflectネットワークを構築してDDoS攻撃を緩和できます。公式サイトから無料で登録すれば、すぐにサービスを利用開始できます。

6. SSL証明書とファイアウォール保護を導入する

Sucuriなどのセキュリティサービスでは、SSL(Secure Sockets Layer)証明書の導入やPCI準拠のファイアウォール保護といったセキュリティオプションが提供されています。技術的な知識がない方でも利用しやすい選択肢です。

人気の高いWordPressサイトをサイバー攻撃から守る6つの高度なセキュリティ対策

こうしたセキュリティソリューションは簡単にセットアップでき、あとはバックグラウンドで動作してくれます。Sucuriのように、必要に応じて自動更新されるものもあります。メンテナンスの手間が少なく、非常に効果的なセキュリティ対策といえるでしょう。

また、WordPressサイトにSSL証明書を追加できるプラグインも多数存在します。特におすすめのプラグインとしては、「CM HTTPS Pro」「Really Simple SSL」「WP Force SSL」「SSL Insecure Content Fixer」「Easy HTTPS Redirection」などが挙げられます。

まとめ

本記事で紹介した対策を実践すれば、サイトのセキュリティは大幅に向上するはずです。ただし、WordPressのセキュリティは常に進化していることを忘れないでください。目指すべきはリスクの「排除」ではなく「軽減」です。完全に排除することはほぼ不可能だからです。WordPressのセキュリティは動的であり、多層的に機能するもの。単一のプラグインや単一の対策ですべてをカバーすることはできないため、複数の施策を組み合わせることが重要です。

  1. WordPressバックドアマルウェア「PHP/ApiWord」の検出方法と完全削除ガイド

    近年、多くのWordPressサイトで、テーマのfunctions.phpファイルの先頭に悪意のあるコードが挿入されている事例が確認されています。このコードを悪用すれば、攻撃者はサイトに対してほぼ無制限の被害をもたらすことが可能です。この不正コードはApiWordマルウェアによるもので、post.phpやfunctions.phpへの改ざんだけでなく、バックドアとして機能するファイル/wp-includes/class.wp.phpを作成する特徴があります。 functions.phpファイルは、WordPressがテーマを認識するために不可欠な存在であり、ページが表示されるたびに必ず実行され

  2. マルウェアの脅威からパソコンを守る方法|初心者にもわかる対策ガイド

    マルウェア(悪意あるソフトウェア)は、コンピュータを使用する上で最も深刻かつ身近な脅威の一つです。私たちのシステムには、さまざまな経路から「PUP(望ましくない可能性のあるプログラム)」と呼ばれる不要なソフトウェアが次々と侵入してきます。インターネットを一切使わない限り、これらを完全にシャットアウトすることは不可能です。だからこそ、被害が発生する前にマルウェアを検出・駆除できるアプリが必要になります。本記事では、マルウェアの脅威からパソコンを守る具体的な方法を解説します。 Advanced PC Cleanup:信頼できるマルウェア対策ツール マルウェア攻撃からパソコンを守るためには、システ