あなたが認識している重大なWordPressのセキュリティ問題は何ですか?

公開: 2022-03-04

WordPress は世界中で最も人気のあるコンテンツ管理システム (CMS) であり、現在存在するすべての Web サイトの 3 分の 1以上を支えています その人気は、サイバー攻撃の魅力的な標的にもなり、セキュリティの脆弱性も共有しています.

WordPress には独自のセキュリティ上の問題があるかもしれませんが、サイバー犯罪者の標的となるプラットフォームは WordPress だけではなく、データの盗難が非常に儲かるビジネスになっています。 個人のブログから大規模な企業の Web サイトまで、悪意のある攻撃者による潜在的な脅威から逃れた人は誰もいません。 サイトが小規模なブログであるか大企業であるかに関係なく、その目的に関係なく、Web サイトを保護する方法を知る必要があります。 リストの一番上に UpdraftPlus バックアップ プラグインをインストールする必要があります。これは、世界で最も人気があり、最も評価の高いバックアップ プラグインです。 攻撃の犠牲者になった場合でも、サイトを復元するための安全なバックアップがあることを知っていれば、少なくとも安心できます。

知っておくべき WordPress のセキュリティ問題とその対処方法を以下に示します。

1.プラグインシステム

WordPress の人気を高めている理由の 1 つは、そのモジュール性です。 プラグイン システムのおかげで、基本機能をすばやく簡単に拡張できます。 残念ながら、すべてのプラグインが UpdraftPlus の高水準に合わせて作成されているわけではなく、一部のプラグインは WordPress Web サイトに新しい脆弱性をもたらす可能性があります.

たとえば、「PWA for WP & AMP」プラグインは、 20,000 を超える WordPress Web サイトをアクセス制御の脆弱性にさらしました。 任意のファイルのアップロードが許可されているため、攻撃者はリモートでコードを実行し、このプラグインを実行している Web サイトを乗っ取る可能性があります。 ユーザーは、この例から 2 つのことを認識する必要があります。 1 つ目は、WordPress サイトで使用するプラグインの数を可能な限り制限することです。 2 つ目は、プラグインや WordPress のバージョンを含むすべてのアプリケーションを定期的に更新することです。 アップデートによって新機能が追加されることもありますが、その主な目的は、新たに発見された脆弱性に対処することです。

2. SQL インジェクション攻撃

データは非常に価値のある新しい商品であり、攻撃者が Web サイトを標的にする理由の 1 つは、データベースに保持されている情報を盗むことです。 SQL インジェクションはこれを行う一般的な方法であり、攻撃者が Web サイトに SQL コマンドを埋め込んで、機密情報を危険にさらす可能性があります。

これがどのように起こるのか疑問に思っている場合は、多くの WordPress Web サイトで見られる平均的なフォームについて考えてみてください。 これにより、ユーザーはログイン用のユーザー名やパスワードなどの情報を提供できます。 攻撃者がこれらのフィールドに SQL コードを挿入すると、基盤となるデータベースがそのコードを処理し、予期しないアクションを実行する可能性があります。 SQL インジェクション攻撃を防ぐ方法はいくつかありますが、最も一般的なのは、厳密な入力検証を実装することです。 たとえば、次のコードを .htaccess ファイルに追加して、すべての入力が SQL クエリから除外されるようにすることができます。

# 書き換えエンジンを有効にする

RewriteEngine オン

RewriteRule ^(.*)$ – [F,L]

# MySQL インジェクションをブロック

RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]

RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(..//?)+ [OR]

RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC,OR]

RewriteCond %{QUERY_STRING} =PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4} -[0-9a-f]{12} [NC,OR]

RewriteCond %{QUERY_STRING} (../|..) [OR]

RewriteCond %{QUERY_STRING} ftp: [NC,OR]

RewriteCond %{QUERY_STRING} http: [NC,OR]

RewriteCond %{QUERY_STRING} https: [NC,OR]

RewriteCond %{QUERY_STRING} =|w| [NC,OR]

RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR]

RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR]

RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} (<|%3C).*iframe.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>).* [NC,OR]

RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [OR]

RewriteCond %{QUERY_STRING} (./|../|…/)+(motd|etc|bin) [NC,OR]

RewriteCond %{QUERY_STRING} (localhost|ループバック|127.0.0.1) [NC,OR]

RewriteCond %{QUERY_STRING} (<|>|'|%0A|%0D|%27|%3C|%3E|%00) [NC,OR]

RewriteCond %{QUERY_STRING} concat[^(]*( [NC,OR]

RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]

RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]

RewriteCond %{QUERY_STRING} (sp_executesql) [NC]

RewriteRule ^(.*)$ – [F,L]

3.クロスサイトスクリプティング攻撃

XSS 攻撃のしくみ (出典: Imperva)

SQL インジェクション攻撃と同様に、クロスサイト スクリプティング (XSS) は脆弱な Web サイトに悪意のあるコードを挿入しようとします。 一例として、Web サイトのユーザーを別の Web サイトに誘導する情報を投稿し、そこで個人データを盗もうとすることがあります。 このシナリオは、他の Web サイトがユーザーからの入力を必要としない可能性があるため、潜在的に危険です。 Cookie、セッショントークンなどのユーザー識別データを簡単にスキャンできます。

一般に、Web アプリケーション ファイアウォール (WAF) を使用して XSS 攻撃を防ぐことができます。 この便利なツールを使用すると、Web サイト上の特定のトラフィックをブロックできます。 All In One WP Security & Firewallなどのほとんどのトップ WordPress セキュリティ プラグインは、この機能を利用できます。 WordPress ウェブサイトの運営に専念し、セキュリティを専門家に任せたい場合は、 One WP Security & Firewallが最適です。 ほとんどの種類の攻撃をブロックするのに役立つだけでなく、WordPress Web サイトをスキャンして、気付いていない可能性のある脆弱性を見つけることもできます.

4.ブルートフォース攻撃

WordPress は、管理者やその他の承認されたユーザーがその制御機能にアクセスできるようにする資格情報システムを利用します。 残念ながら、多くのユーザーは脆弱で明白なパスワードを使用する傾向があります。 ブルート フォース パスワードは、成功するまで WordPress サイトへのログインを何度も試行するスクリプトを使用します。 このスクリプトは、一般的に使用されるユーザー名とパスワード (Admin や Password1 など) の辞書を保持するデータベースで動作します。リスクを考慮せずにこれらの組み合わせのいずれかを選択したことを願っています。

ただし、ブルート フォース攻撃の効果を制限するためにいくつかのことを行うことができます。

  • 複雑でユニークなパスワードを使用する
  • WordPress 管理ディレクトリへのアクセスをブロックする
  • 二要素認証 (2FA) を追加する
  • ディレクトリの参照を無効にする
  • ログイン試行回数を制限する

5. 分散サービス拒否攻撃

DDoS 攻撃は、訪問者のトラフィックを模倣した大量のリクエストで Web サイトを克服しようとします。 (出典: dnsstuff)

分散型サービス拒否 (DDoS) 攻撃は、Web サイトを標的とする大量の要求の洪水で構成されます。 このフラッドは Web サイトを機能不全に陥れることを目的としており、大量のリクエストに対応できないため、通常の訪問者はアクセスできなくなります。 DDoS は WordPress に固有のものではありませんが、この CMS に基づく Web サイトは、通常の静的 Web サイトよりも多くのリソースを必要とするため、特に脆弱になる可能性があります。 ただし、DDoS フラッドから確実に防御することは不可能な場合がありますが、最も著名な組織でさえ、これらの攻撃に屈しています。 その一例が2018 年の GitHub 攻撃で、同社の Web サイトは 20 分間の DDoS フラッド攻撃を受けました。

一般に、小規模な Web サイトは、このような大量のターゲットにはなりません。 ただし、小規模な DDoS の波を軽減するには、必ずコンテンツ配信ネットワーク (CDN) を使用してください。 これらのサーバー ネットワークは、着信負荷のバランスを取り、コンテンツの提供を高速化するのに役立ちます。

6. クロスサイト リクエスト フォージェリ攻撃

クロスサイト リクエスト フォージェリ (CSRF) 攻撃は、攻撃者が WordPress などの Web アプリケーションに偽の認証を認識させるもう 1 つの方法です。 WordPress は、一般的に多くのユーザー資格情報を保持しているため、特に脆弱です。 CSRF 攻撃は、前述の XSS 攻撃と多くの点で似ています。 主な違いは、CSRF には認証セッションが必要ですが、XSS には必要ないことです。 とにかく、最終的な目的は、訪問者を別の場所に誘導してデータを盗むことです。

CSRF 防止は、ほとんどの場合、プラグイン レベルで実装する必要があります。 開発者は通常、アンチ CSRF トークンを使用して、セッションを特定のユーザーにリンクします。 WordPress Web サイトの所有者は、CSRF 攻撃を防ぐために、プラグインの更新と一般的な Web サイト強化技術に頼ることしかできません。

機能する可能性のある強化アクションには次のものがあります。

  • ファイル エディタの無効化
  • PHO 実行の対象ブロック
  • 2FA の実装

WordPress のセキュリティ問題に関する最終的な考え

WordPress は非常に脆弱な Web アプリケーションであるという誤解が時々あります。 ただし、これは完全に公正な主張ではありません。 その原因の一部は、WordPress が広く使用されていることに起因していますが、より重大な理由は、Web サイトの所有者が必要な適切な予防策を講じていないことです。

私たちは、単純なパスワードを選択した場合の結果を考えずに、セキュリティを当然のことと考えがちです。 ただし、Web サイトの所有者は、Web サイトの完全性だけでなく、ユーザーのデータの安全性についても責任を負う必要があります。

著者プロフィール

Pui Mun Beh はWebRevenueのデジタル マーケターです

投稿 あなたが認識している重大な WordPress セキュリティの問題は何ですか? UpdraftPlus で最初に登場しました。 UpdraftPlus – WordPress のバックアップ、復元、移行プラグイン。