ブルートフォース攻撃とは

ブルートフォース攻撃とは、パスワードとして考えられる文字の組み合わせを片っ端から試し、ログインを突破しようとする攻撃のことです。総当たり攻撃とも呼ばれます。

攻撃手法公開

読み
ぶるーとふぉーすこうげき
英語
Brute-Force Attack
別名
総当たり攻撃
パソコンのキーボードの上に置かれたダイヤル式の南京錠

ブルートフォース攻撃の仕組み

「ブルートフォース(Brute Force)」は「力ずく」という意味です。4桁のダイヤル錠も、0000 から 9999 まで順番に回していけば、いつかは必ず開きます。ブルートフォース攻撃は、これをプログラムで自動的に、非常に速く行うものです。

実際には、すべての組み合わせを順に試すだけでなく、「password」「123456」のようなよく使われるパスワードや、辞書に載っている単語を優先して試す方法もあります(辞書攻撃と呼ばれ、ブルートフォース攻撃の一種として扱われることもあります)。パスワードが短く単純なほど、短時間で突破されやすくなります。

似た攻撃に、ほかのサイトから流出したIDとパスワードをそのまま試すパスワードリスト攻撃があります。

WordPressサイトでの例

WordPressのログイン画面は、標準では /wp-login.php という決まった場所にあります。そのため、多くのWordPressサイトが、自動化されたプログラムから日常的にログインを試されています。

  • ログイン画面への連続アクセス:ユーザー名「admin」や、サイト名・ドメイン名に似たユーザー名で何度も試される
  • xmlrpc.php の悪用:外部のサービスと連携するための窓口で、ログイン画面とは別にパスワードを試す経路として狙われることがある
  • ユーザー名の下調べ:投稿者のページなどから、実際に使われているユーザー名を調べたうえで試されることがある

WordPressは標準ではログインの失敗回数を制限しないため、対策をしていないと試行を何度でも繰り返されます。突破されると管理画面を乗っ取られ、バックドアの設置や改ざんにつながります。また、大量のアクセスでサーバーの負荷が高まり、サイトが重くなることもあります。

見つけ方・確認方法

  • サーバーのアクセスログに、wp-login.php や xmlrpc.php への短時間の大量アクセスが記録されていないか確認する
  • セキュリティ系のプラグインを入れている場合は、ログイン失敗の記録を確認する
  • サーバー会社から、負荷の上昇や不審なアクセスについて連絡が来ていないか確認する
  • ユーザー > ユーザー一覧 で、作成した覚えのない管理者がいないか確認する

対策

  • パスワードは長く推測されにくいものにする。パスワード管理ツールで自動生成すると安心です
  • ユーザー名に「admin」やドメイン名など、推測しやすいものを使わない
  • 二要素認証を設定し、パスワードだけではログインできないようにする
  • ログインの失敗回数を制限する仕組みを入れる
  • xmlrpc.php を使っていない場合は、アクセスを制限する(一部のプラグインや外部サービスとの連携が使えなくなることがあるため、事前に確認する)
  • WAFやサーバー会社の機能で、管理画面への海外からのアクセスや大量のアクセスを遮断する

無料相談サイトの異変に気づいたら
お気軽にご相談ください

ご相談・お見積りは無料です。

保守・再発防止のご相談はこちら