ウェブサイトファイアウォールでWordPressサイトを保護する

公開: 2020-08-25
Protect Your WordPress Site With a Website Firewall

WordPressの絶大な人気により、WordPressサイトを悪用して手っ取り早く金を稼ごうとする犯罪者やハッカーにとって大きな標的となっています。 それは、キックのためにあなたのサイトを改ざんすることによって彼らの仲間といくつかのインターネット信用を獲得しようとしているスクリプトキディでさえありえます。 それがどのように発生するかは問題ではありません。どのような形のサイト侵害も、クライアントとの信頼を深刻に失い、ブランドの終わりを簡単に綴る可能性があります。

したがって、WordPressインスタンスをデプロイするときは常に、Webサイト、クライアント、およびブランドを保護することが最優先事項です。 残念ながら、ハッカーはWordPressを悪用して、作成したものを破壊するための高度なツールと手法を開発しました。 先を行く唯一の方法は、WordPressサイトをターゲットにする方法と、それらの脅威から保護する方法を理解することです。

この記事では、ハッカーがWordPressサイトがインターネットと通信する方法を利用するすべての方法と、ハッカーが損害を与える前にそれらを阻止するために構築できる防御策について説明します。

ビットとバイトのフィルタリング–ネットワークファイアウォール

インターネットを介してデータを送信することは、驚くほど複雑なプロセスです。 物理インフラストラクチャを定義する下部のハードウェア層から、上のいくつかのソフトウェア層まで、多くの「層」があり、それぞれが下の層に依存しています。 このセクションで関心のあるレイヤーは、ホスト間レイヤーです。 これらのレイヤーでは、友人に送信する画像などのデータは、パケットと呼ばれる小さなチャンクに分割されます。 これらはインターネットを介してあなた(送信元)からあなたの友人(宛先)にルーティングされ、そこで送信した元の画像に再構成されます。

これらのデータパケットにはすべて、次のようないくつかの特性があります。

  • プロトコル–例:TCP、UDP、ICMPなど
  • ポート–例:Web 80/443、Eメール110/25
  • IPアドレス–パケットを送受信するコンピューターの送信元IPと宛先IP

ネットワークファイアウォールは、ネットワークインターフェイスとオペレーティングシステムの間に配置され、サーバーに到着した各パケットを検査します。 一連の許可およびブロックルールに基づいて、パケットがオペレーティングシステムに進むことを許可または拒否します。 パケットがファイアウォールルールのいずれかに違反している場合、パケットは破棄されます。

ネットワークファイアウォールは、サーバーとWordPressのインストールに不可欠な部分です。これは、悪意のあるトラフィックを誤ってまたは意図的にリッスンしているプロセスとの不正な通信をブロックするためです。 オペレーティングシステムを通過し、それを超えてWordPressに到達できる唯一のトラフィックは、ファイアウォールが課す厳格なルールに準拠している必要があります。

適切に構成されたネットワークファイアウォールは、インターネットに接続されたすべてのサーバーの標準部分です。 残念ながら、これはインストールと管理が簡単であることを意味するものではありません。 実際、WordPressインスタンスにしかアクセスできない場合、WordPressの内部から効果的なファイアウォールにアクセスできないため、ファイアウォールを正しく管理することは不可能です。

Webリクエストのフィルタリング–Webアプリケーションファイアウォール

ハッカーは、WordPressサイトを攻撃するために悪意のあるWebリクエストを作成する、高度なネットワーク攻撃方法で武器を拡張しました。 これらのWebリクエストは、ネットワークファイアウォールのルールに違反しないため、WordPressサイトとのやり取りが許可され、深刻な被害をもたらす可能性があります。

悪意のあるWebリクエストがどのように機能するかを理解するには、まずWebリクエストが何年にもわたって複雑になっていることを考慮してください。 PHPのようなアクティブなWebテクノロジーが登場する前は、Webリクエストは非常に単純で、次のようになりました。

 http://www.example.com/index.php

このリクエストは次のように分割されます。

  • http:// –リクエストはHTTPプロトコルを使用しています。
  • www.example.comサーバーのIPアドレスに解決されるホスト名。
  • index.php –要求されているファイル。

ご覧のとおり、このリクエストは非常に簡単です。 Webサイトを保護したい場合は、プライベートなファイルのブロックリストを作成しただけなので、Webサーバーはそれらのファイルの提供を拒否します。 それ以外にはあまりありませんでした。

Webサイトのテクノロジーがより複雑になるにつれて、これらの複雑さを悪用する機会も増えています。

このような悪意のある要求の一例は、SQLインジェクション攻撃として知られています。 このタイプの攻撃は、WordPressデータベースから機密情報を読み取ったり、WordPressデータベースを変更したりしようとします。 これは、PHPスクリプトを実行するWebリクエストを作成することで実現され、入力を確認するためのスクリプトが作成されていない場合、攻撃者はWordPressデータベースの読み取りまたは書き込みを行うことができます。

簡単なSQLインジェクション攻撃のWebリクエストを見てみましょう。 たとえば、ログインフォームがクライアントのブラウザに送信されているとします。 フォームに入力すると、入力したアカウントのユーザー名を含むWebリクエストがサーバーに返送されます。 このリクエスト例では、ユーザー名IDはJohnSmithであり、次のようなWebリクエストを提供します。

 http://www.example.com/accountView?id=JohnSmith

サーバー上のPHPスクリプトがこの入力を受け取り、その有効性をチェックしない場合、問題が深刻な問題につながる可能性があります。 たとえば、ハッカーはIDをまったく持たない次の不正な形式のURLを送信しようとする可能性があります。

 http://www.example.com/app/accountView? データベースの言語であるSQLでは特別な意味があります。 正しく記述されていないスクリプトが原因で、パスワードやその他の機密情報を含む、顧客データベースの完全なリストが返送される可能性があります。 これは明らかに災害です。

では、これらの形態の攻撃からどのように身を守るのでしょうか。

ここで、Webアプリケーションファイアウォール(WAF)が登場します。WAFはインターネットとWordPressの間に配置され、サーバーに到着したすべてのWeb要求を検査します。 上記のように不正な形式のリクエストが見つかった場合、またはルールのリストに違反している場合は、そのリクエストがWordPressに送信されるのをブロックします。 WAFは、サイト上のすべてのPHPファイルをチェックする必要があるWordPressサイトを簡単に危険にさらす可能性のある、一般的なプログラミングエラーのクラス全体を効果的に打ち負かします。

明らかに、それは可能性の巨大で急速に進化する範囲からの悪意のある要求のほんの一例です。 これにより、真に効果的なWAFは、ハッカーと歩調を合わせるルールを追加するという継続的な課題になります。 ネットワークファイアウォールと同じように、WAFは、セットアップし、さらに重要なことに維持するための技術的に困難な提案です。

ボットの停止–ブルートフォース保護とreCAPTCHA

効果的なネットワーク防御の最後の層は、WordPress管理パネルのログインページに対する自動攻撃を阻止することです。 これらの攻撃は、ロボットという言葉から取られた一般に「ボット」と呼ばれるプログラムによって開始されます。 ボットは、協調攻撃を開始するために精力的に大量に機能するため、ハッカーによって使用されます。

最も一般的な攻撃方法は、ログインページを標的にすることです。ブルートフォース攻撃を使用します。 これは、WordPressサイトにログインできるように、ユーザー名とパスワードを推測しようとします。

ブルートフォース攻撃は、非常に多くの異なるユーザー名とパスワードの組み合わせを試すことで機能します。 通常、これらは、 adminrootなどの最も一般的なユーザー名と、「123456」などの最も一般的なパスワードの組み合わせになります。 ブルートフォース攻撃は、次のユーザー名とパスワードの組み合わせを送信することから始まります。

  • 管理者:123456
  • 管理者:passw0rd
  • 管理者:letmein
  • 管理者:qwerty
  • ルート:123456
  • ルート:passw0rd
  • ルート:letmein
  • ルート:qwerty

そして、そこから、ますます一般的でない組み合わせを試していきます。

ボットは、構成方法に応じて、数百から数千を試行します。 ブルートフォース保護は、失敗したすべてのログインに気づき、偽のログイン要求を送信するIPアドレスからのそれ以上の要求をブロックします。 これは、WordPressユーザーが自分のパスワードを選択できる場合に、より弱いパスワードを選択することからの重要な保護手段です。

ブルートフォース攻撃だけがボットの使用目的ではありません。 また、サイトの弱点、公開された機密ファイル、または侵害される可能性のあるプラグインやテーマを調査するためにも使用されます。

これらのボットは、reCAPTCHAと呼ばれるGoogleの業界標準の不正防止広告乱用ツールによって追跡を停止できます。 reCAPTCHAは、悪意のあるボットから人間を自動的に分類し、人間がサイトにアクセスしてボットを遠ざけることを可能にします。 これは通常、人間のユーザーには目に見えない形でシームレスに発生しますが、ボットが侵入するために最善を尽くすWebサイトに到達することは不可能です。

しかし、どうすればこれをすべて行うことができますか?

ネットワークファイアウォール、WAF、ブルートフォース検出器、およびreCAPTCHAを構成および保守するための時間、専門家の技術知識、または予算がない場合は、Rocketなどの専門家に任せる必要があります。 Rocketは、WordPressのセキュリティを確保するマネージドホスティングプロバイダーです。 すべてのWordPressインストールに標準としてこれらの重要なセキュリティツールのすべてが含まれています。

サインアップしてWordPressサイトを立ち上げ、数秒後に作成を開始するだけです。

または、WordPressでパスワードなしの認証を設定する方法を確認してください