WordPressでXSS攻撃を修正および防止する方法

公開: 2022-06-14
How to fix and prevent xss attacks

あなたはハッカーがあなたのウェブサイトを攻撃することを心配していますか?

XSSとも呼ばれるクロスサイトスクリプティングは、WordPressサイトに対する最も一般的な攻撃の1つです。 ハッカーはサイトの脆弱性を見つけ、それを使用して情報を盗み、Webサイトを悪用します。

さらに悪いことに、すぐに修正しないと、これらのハッキングによってさらに深刻な被害が発生する可能性があります。これは、回復が非常に難しい種類です。

WordPressサイトにファイアウォールをインストールすることで、これらのハッキングを防ぐことができます。

あなたのウェブサイトがすでに攻撃を受けている場合は、簡単な初心者向けの言語ですぐに修正する方法を紹介します。 このチュートリアルでは、サイバーセキュリティの専門用語を最小限に抑えます。 また、将来の攻撃を防ぐ方法についても説明します。

まず、XSS攻撃で何が起こるかをすばやく理解して、XSS攻撃を処理するための準備を整えましょう。

WordPressのXSS攻撃とは何ですか?

XSSはクロスサイトスクリプティングの略で、ハッカーが悪意のあるスクリプトをWebサイトに挿入する一種のインジェクション攻撃です。

これらのスクリプトは、信頼できるWebサイトでは優れたコードに偽装されています。 次に、ユーザーがこのWebサイトにアクセスすると、ブラウザは悪意のあるスクリプトを含むすべてのコードを実行します。これは、すべてが信頼できる命令であると見なすためです。

簡単に言うと、あなたがスパイであり、政府から極秘任務についての公式メールを受け取ったところを想像してみてください。 これには、Tまで従う必要のあるすべての指示が含まれています。

あなたが知らないのは、誰かがその電子メールを傍受し、彼ら自身のいくつかの指示を追加したということです。 政府はそれについての手がかりを持っておらず、あなたは情報源を信頼しているので、あなたはわざわざ再確認する必要はありません。

それのいくつかは意味がありませんが、あなたはあなたの使命を達成するためにすべての命令に従うように訓練されています。

このシナリオでは、政府がWebサイトであり、スパイがユーザーのブラウザーです。 ブラウザはWebサイトの指示に従い、良いスクリプトと悪いスクリプトを区別できません。

これらのスクリプトは通常、最も人気があり広く使用されているプログラミング言語の1つであるJavascriptを使用しています。 ただし、これらの攻撃は、クライアント側の任意の言語を使用して発生する可能性があります。

現在、XSS攻撃を実行する方法はたくさんあります。 1つの方法は、疑いを持たないユーザーにリンクを送信して、クリックしてもらうことです。 クリックすると、攻撃は次の1つ以上を実行する可能性があります。

  • ユーザーを悪意のあるサイトにリダイレクトする
  • ユーザーのキーストロークをキャプチャする
  • Webブラウザベースのエクスプロイトを実行する
  • アカウントにログインしているユーザーのCookie情報を盗む

ハッカーがCookie情報を盗むことができる場合、ハッカーはユーザーのアカウントを完全に侵害する可能性があります。 たとえば、Webサイトのwp-adminパネルにログインしている場合、ハッカーは資格情報を盗んでサイトにログインする可能性があります。

これらの攻撃を防ぐために必要なことは、すべてのユーザーデータがWebサイトに入る前に、適切に検証およびサニタイズされていることを確認することです。 そうすれば、ユーザー入力が悪意のあるJavascriptコードになることはありません。 それに加えて、ハッカーが攻撃する可能性のあるXSSの脆弱性がサイトにないことを確認する必要があります。

XSS攻撃の表面をかじっただけですが、WordPressXSS攻撃がどのように機能するかを十分に理解していただければ幸いです。 サイトがハッキングされている疑いがある場合は、以下の簡単なステップバイステップのチュートリアルに従ってください。

WordPressでXSS攻撃を見つけて修正する方法

サイトであらゆる種類のマルウェアやハッキングを見つけるには、ファイルやデータベースを含むWebサイト全体でディープスキャンを実行する必要があります。

ハッキングされたサイトをスキャンしてクリーンアップするためにSucuriを使用します。 Sucuriは、ファイアウォール、マルウェアスキャナー、マルウェアクリーナーなどの堅牢なセキュリティ設定を提供します。

Sucuriは、プラグイン»[新規追加]タブに移動してWordPressサイト内にインストールできる無料のWebサイトマルウェアスキャナーを提供しています。

プレミアムサーバーサイドスキャナーの使用をお勧めします。 これにより、Webサイトが裏返しになり、マルウェアの痕跡が見つかります。

それに加えて、ここにそのハイライトのいくつかがあります:

  • スパムおよび悪意のあるスクリプトを監視します
  • ハッカーによって作成された隠されたバックドアをチェックします
  • DNS(ドメインネームシステム)およびSSLに加えられた変更を検出します
  • 検索エンジンやその他の機関によるブラックリストのチェック
  • Webサイトの稼働時間を監視します
  • 電子メール、SMS、Slack、RSSによるインスタントアラート

詳細については、Sucuriレビューをご覧ください。

Sucuriには年間199.99ドルの値札が付いています。 予算が足りない場合は、他のセキュリティプラグインを試すことができます。 私たちのリストを参照してください:比較された9つの最高のWordPressセキュリティプラグイン。

セキュリティプラグインを選択するときは、マルウェア感染を見つけて修正し、Webサイトを保護するために必要なすべてのサイバーセキュリティ機能が提供されていることを確認してください。

ステップ1:あなたのウェブサイトをスキャンする

開始するには、Sucuriでプランにサインアップする必要があります。 次に、サイトを追加できるSucuriダッシュボードにログインします。

Add site in Sucuri

ここでは、FTPクレデンシャルを入力してWebサイトに接続する必要があります。 FTPクレデンシャルがわからない場合は、Webホストから取得できます。

Connect site to Sucuri

あなたのサイトが接続されると、Sucuriはあなたのウェブサイトの徹底的なスキャンを自動的に実行します。 完了すると、[個人用サイト]タブに詳細なレポートが表示されます。

Sucuri dashboard site infected

これで、警告メッセージの横にある[詳細]ボタンをクリックできます。 これにより、ハッキングまたは感染の詳細を表示できる[監視]ページが開きます。

ステップ2:マルウェアのクリーンアップをリクエストする

[監視]ページで、サイトに感染したマルウェアの種類を確認できます。 Sucuriは、リスクレベルを示す評価を追加します。 したがって、それが重大または高リスクである場合は、すぐに修正する必要があることがわかります。 それに加えて、あなたのサイトが検索エンジンによってブラックリストに載せられているかどうかも表示されます。

Clean up site with Sucuri

サイトが感染していることがわかったので、サイトをクリーンアップする必要があります。Sucuriを使用すると、これが非常に簡単になります。 プロセスを開始するには、[マイサイトのクリーンアップ]ボタンをクリックします。

Malware removal request in Sucuri

次のページで、[新しいマルウェアの削除リクエスト]ボタンをクリックすると、サイトの詳細を入力できるフォームが表示されます。

Malware removal request form in Sucuri

フォームに記入して送信するだけです。 完了すると、Sucuriのセキュリティ専門家があなたのサイトをクリーンアップします。 フォームに必要な詳細がわからない場合は、Webホストに問い合わせることができます。

今、あなたはあなたのサイトをきれいにするのにどれくらい時間がかかるのか疑問に思うかもしれません。

Sucuriは、ビジネスプランのユーザーを最優先します。 彼らは6時間のターンアラウンドタイムを保証します。 他の計画の場合、それはあなたのサイトの感染がどれほど複雑であるか、そして彼らがキューに持っているリクエストの量に依存します。

攻撃の直後に、すべてのユーザーをサイトからログアウトし、安全のためにログイン資格情報を変更することを強くお勧めします。

WordPressサイトへのXSS攻撃を防ぐ方法

Webサイトを保護し、サイトに対するこの種のマルウェア攻撃を防ぐことが常に最善です。 ハッキングされたWebサイトを修正するよりも、はるかに簡単で安価です。 サイトへのXSS攻撃を防ぐための推奨手順は次のとおりです。

1. Webアプリケーションファイアウォール(WAF)を有効にします

Sucuriには、WordPressサイトに最適なファイアウォールの1つがあります。 XSS攻撃だけでなく、DDoS、ブルートフォース、フィッシング、SQLインジェクションなどの他のあらゆる種類のマルウェア攻撃をブロックします。

ファイアウォールはWebサイトの前に配置され、通過するすべてのユーザーをスキャンします。 不良ボットがサイトに到達する前に、それらを識別してブロックします。

Sucuriファイアウォールを有効にするには、Sucuriダッシュボードの[ファイアウォール]タブに移動します。

サイトを選択すると、従うことができるセットアップ手順が表示されます。 Sucuriには、ファイアウォールを設定するための2つのオプションがあります。

1.自動統合: cPanelまたはPleskを使用してホスティングクレデンシャルを入力するだけです。 この方法では、SucuriにWebサイトのサーバーへのアクセスを許可して、サイトにファイアウォールを自動的に設定する必要があります。

Sucuri firewall waf

2.手動統合: Sucuriへの内部アクセスを許可せずに、独自にファイアウォールを設定できます。 開始するには、内部ドメインリンクをクリックして、読み込まれることを確認します。

check internal domain link

次に、WebトラフィックをSucuriファイアウォールに向けるようにDNSを構成できます。 このためには、ホスティングアカウントのDNSレコードにアクセスする必要があります。 ここで、サイトの「A」レコードを変更し、Sucuriが提供するIPアドレスを入力できます。

sucuri dns ip addresses

これが非常に複雑であることにストレスを感じている場合は、Webホストに支援を求めることができ、Webホストがプロセスをガイドします。 さらに、Sucuriでサポートチケットを発行することもできます。サポートチームがDNSレコードの変更を支援します。

チケットを開くには、同じページのマニュアルの説明の中にリンクがあります。

open a ticket sucuri

ファイアウォールの設定が完了したら、通常、変更が反映されるまでに数時間かかります。 最大48時間の待機時間が期待できます。

ファイアウォールを有効にすると、XSS攻撃からサイトを保護するために、サイトにセキュリティヘッダーが自動的に追加されます。

XSS攻撃が試みられた場合、Sucuriはそれをブロックし、[レポート]タブで報告します。

Sucuriファイアウォールで私たちが気に入っているのは、初心者も含め、誰でも簡単に使用できることです。 サイバーセキュリティの専門家である必要はなく、コーディングを知っている必要もありません。

[設定]»[セキュリティ]タブをクリックするだけで、あらゆる種類の保護機能を有効にできます。

たとえば、DDoS保護とジオブロッキングを有効にして、ハッカーがサイトを攻撃しにくくすることができます。

Emergency ddos protection

ここでセキュリティ機能を有効にするには、チェックボックスをオンにして設定を保存するだけです。 無効にする必要がある場合は、チェックボックスをオフにするだけです。

これとは別に、Sucuriプラグインは次のようになります。

  • スパムや悪意のあるコードを定期的にスキャンして監視します
  • クロスサイトスクリプティングの脆弱性を警告する
  • 悪いボットやハッカーをブロックする
  • 検索エンジンやその他の機関でブラックリストを確認する
  • Webサイトの稼働時間を監視する
  • DNS(ドメインネームシステム)とSSLに加えられた変更を検出する
  • 電子メール、SMS、Slack、RSSを介してインスタントセキュリティアラートを送信します

したがって、サイトは常に保護されます。

2.セキュアフォームを使用する

脆弱なWebサイトでは、フォームはハッカーの最も一般的な標的の1つです。 フォームが保護されていない場合、これは誰でもフォームフィールドに悪意のあるコードを入力できることを意味します。

Webサイトのフォームを保護するための推奨事項はWPFormsです。 これは、セキュリティが組み込まれている#1のWordPressフォームビルダーであるため、フォームは最初から保護されます。

anti spam protection in WPForms

デフォルトでは、フォームのスパム対策保護がオンになっています。 さらに、CAPTCHAをフォームに追加して、スパムボットをブロックすることもできます。

Advanced noCaptcha and Invisible Captcha

非表示のキャプチャ、またはユーザーが小さなパズルを解くか、ボックスにチェックマークを付けて人間であることを証明する必要があるタイプを有効にすることができます。

3.ユーザーロールのアクセス許可を設定します

複数の人がWebサイトで作業している場合、全員に管理者アクセスを許可するのは賢明ではありません。 必要な権限に基づいて役割を割り当てることをお勧めします。

WordPressでは、次の役割を作成できます。

  • スーパー管理者
  • 管理者
  • 編集者
  • 著者
  • 寄稿者
  • サブスクライバー

これで、ハッカーがユーザーのアカウントを制御できるようになると、サイトでできることは制限されます。

4.非アクティブユーザーの自動ログアウト

ハッカーは、ブラウザセッションを乗っ取って、Cookieを盗むことにより、ユーザーアカウントにアクセスできます。

非アクティブなWordPressユーザーをログアウトすることで、このリスクを最小限に抑えることができます。

多くのセキュリティプラグインにはアイドルセッションログアウト機能があります。または、非アクティブログアウトプラグインを使用できます。

5.ウェブサイトを定期的に更新します

WordPressプラグイン、テーマ、さらにはWordPressインストールでさえ定期的に更新を取得します。 それらが利用可能になると、WordPressダッシュボード内に表示されます。

updates in wordpress

多くのウェブサイトの所有者は長い間更新を無視しますが、これはあなたのウェブサイトをハッカーにさらす可能性があります。 更新には通常、バグ修正、新機能、およびソフトウェアの改善が含まれます。 また、セキュリティパッチを適用することもできます。 アップデートの詳細を表示することで、アップデートにセキュリティパッチが適用されているかどうかを確認できます。

view version details of update

これは、ハッカーがサイトを攻撃するために使用できるソフトウェアに脆弱性が見つかったことを意味します。 開発者がセキュリティの問題を見つけた場合、それらにパッチを適用し、ソフトウェアの新しいバージョンをリリースします。

あなたがしなければならないのはあなたのサイトのソフトウェアを更新することです。

したがって、セキュリティパッチであることがわかった場合は、ハッキングされるリスクを回避するために、すぐに更新してください。

security update

サイト所有者が更新を無視する主な理由の1つは、更新がサイトを壊したり、非互換性の問題を引き起こしたりする可能性があることです。 ステージングサイトで更新をテストしてから、ライブサイトで実行することをお勧めします。

これで、WordPressサイトへのXSS攻撃を修正および防止する方法を学びました。

まとめる前に、セキュリティに関するヒントをもう1つ紹介します。 常にあなたのウェブサイトの定期的なバックアップを取ります。

あなたのサイトで最も強力なセキュリティ対策を講じたとしても、うまくいかないことがたくさんあります。 たとえば、ユーザーはWebサイトをクラッシュさせる単純な人為的エラーを犯す可能性があります。

UpdraftPlusなどのバックアッププラグインを使用して、自動バックアップを設定できます。 その他のオプションについては、上位のWordPressバックアッププラグインのリストをご覧ください。

よくある質問

1. WordPressはクロスサイトスクリプティング攻撃に対して脆弱ですか?

WordPressコアソフトウェアは、世界最高の専門家によって開発および保守されています。 彼らのソフトウェアはかなり堅実ですが、脆弱性のないソフトウェアはないことを覚えておいてください。

WordPress Webサイトが頻繁に攻撃される理由は、プラットフォームが非常に人気があるためです。 そして、ほとんどのユーザーは、サードパーティのテーマやプラグインを大量にインストールします。 脆弱性はこれらの要素のいずれかで発生する可能性があり、ハッカーはそれらを悪用してサイトをハッキングする可能性があります。

2.クロスサイトスクリプティング攻撃にはさまざまな種類がありますか?

はい。 XSS攻撃には主に3つのタイプがあります。

  • 保存されたXSS(永続的なXSSとも呼ばれます):攻撃者はペイロードを侵害されたサーバーに保存し、Webサイトが悪意のあるコードを他の訪問者に配信する原因になります。
  • 反映されたXSS:ペイロードはブラウザからサーバーに送信されるデータに保存されます。
  • DOM XSS:ここでは、サーバー自体がXSSに対して脆弱ではなく、ページ上のJavaScriptが脆弱です。
  • セルフクロスサイトスクリプティング:攻撃者は、特定のコンテキストと手動の変更を必要とする脆弱性を悪用する可能性があります。 ここでの犠牲者はあなただけです。
  • ブラインドクロスサイトスクリプティング:これらの攻撃では、脆弱性は通常、許可されたユーザーのみがアクセスできるページにあります。 攻撃者は攻撃の結果を見ることができません。

3.自分のサイトに他のセキュリティ問題がないことを確認するにはどうすればよいですか?

Webサイトにセキュリティプラグインが常にインストールされていることを確認してください。 これは、WooCommerce、ブログ、中小企業のサイトなど、あらゆる種類のWebサイトに必須です。 Sucuriをお勧めしますが、Wordfence、MalCare、SiteLockもチェックできます。 ここで私たちのトップの推奨事項の詳細を参照してください:比較された9つの最高のWordPressセキュリティプラグイン。

今日はこれですべてです。 この投稿があなたのウェブサイトを保護するために必要なすべてをあなたに与えたことを願っています。

Webサイトのセキュリティの詳細については、次のリソースを参照してください。

  • 完全なWordPressセキュリティガイド(初心者向け)
  • 脅威を見つけるための5つの最高のWordPress脆弱性スキャナー
  • WordPressサイトを追跡および監査するための9つの最高のアクティビティログプラグイン

これらの投稿は、脆弱性を封印し、すべてのリスクからWebサイトを保護するためのより多くの方法を提供します。