ブルートフォース攻撃はハッカーの手口の中でも古いトリックの1つですが、今なお驚くほど効果があります。1人の人間が金庫の組み合わせをひたすら推測しようとしている情景を想像してください。その代わりに、強力なアルゴリズムが毎秒数百万の組み合わせをテストしています。
この記事では、ブルートフォース攻撃のメカニズム、その異なるタイプ、そして最も重要なことに、ブルートフォース攻撃を効果的に防止する方法について詳しく説明します。システムを保護し、サイバー犯罪者に対抗するための重要な戦略、プラットフォーム固有の防御、高度なツールについて説明します。
ブルートフォース攻撃とは何か?
ウェブ開発者が直面する最も一般的な攻撃の1つはブルートフォース攻撃です。これは攻撃者がアルゴリズムを使い、文字、数字、記号のあらゆる組み合わせを試行錯誤で繰り返し、正しい組み合わせを見つけるまで試し続けるというものです。
このタイプの攻撃が難しい理由は、その単純さと執拗さにあります。パスワードはあらゆるセキュリティシステムの重要な要素であるため、簡単に発見してブロックできるような巧妙なトリックや特別な抜け穴は存在しません。
ブルートフォース攻撃は選り好みしません。個人アカウントから大企業のシステムまで、手に入るものなら何でも狙います。ただし、これらの攻撃の影響は対象プラットフォームによって異なります。WordPress の管理者ログインが侵害されると、ウェブサイトの改ざんや顧客データの盗難につながる可能性があります。一方、SSH のブルートフォース攻撃は企業全体のサーバーインフラへのアクセスを開く恐れがあります。
こうした攻撃は評判にも傷をつけ、ダウンタイムに伴う莫大な損失をもたらします。eコマースや SaaS プロバイダーのようにオンライン運用に依存するビジネスは、侵害時に収益と顧客信頼の両方を失います。 小規模ビジネスの60% 大規模なサイバー攻撃後6カ月以内に事業を閉じることもあり、これらのインシデントがいかに深刻な影響を与えるかを物語っています。
ブルートフォース攻撃を防ぐ方法について説明する前に、その仕組みと攻撃者が使う様々なブルートフォース手法について理解する必要があります。
ブログを始める
WordPress をハイエンドハードウェア上で自己ホストしてください。NVMe ストレージを備えており、世界中で最小限のレイテンシーを実現します。お好みのディストロを選択できます。
WordPress VPS を取得する
ブルートフォース攻撃の種類
ブルートフォース攻撃にはいくつかの種類があります。
- 辞書攻撃 推測しやすいパスワードを標的にして、「123456」や「password」のような一般的に使われるパスワードのリストを繰り返し試行する。
- 認証情報の流用: ハッカーが過去の侵害から漏洩したユーザー名とパスワードの組み合わせを使用し、複数のアカウントへのアクセスを得る。
- リバースブルートフォース攻撃: 既知のパスワード(「123456」や「welcome」など)から始めて、それを無数のユーザー名に対して体系的に確認し、マッチするものを見つける手法です。1つのエサで釣りをするのに似ています。
- レインボーテーブル攻撃: ハッシュとパスワードをマッピングした事前計算済みテーブルを利用して、毎回ハッシュを計算することなく、ハッシュ化されたパスワードをより速く破るための攻撃方法です。
- パスワードスプレー攻撃 1つのアカウントに大量のパスワード推測を仕掛ける代わりに、少数の一般的なパスワードを多くのユーザー名で試行し、アカウントロックを回避しながら脆弱性を悪用する手法です。
- オンライン辞書攻撃: Webサイトやアプリケーションなどの実運用システムを対象とした攻撃です。サーバーと通信しますが、スロットリングやレート制限に直面する可能性があり、速度は遅いものの、脆弱なログインフォームに対しては危険です。
- オフライン辞書攻撃: 盗まれた暗号化パスワードファイルに対して行われます。攻撃者は自分のマシン上で高速に復号化キーをテストでき、ファイアウォールやモニタリングシステムに検知されません。
こうした攻撃がなぜこんなに多いのか。大きな原因は私たちにあります。研究によると 65%のユーザー 複数のアカウント間でパスワードを使い回しています。盗賊に万能鍵を与えるようなものです。1つのパスワードが漏れれば、全て破られる可能性があります。さらに悪いことに、「qwerty」のような単純なパスワードが何年も人気パスワードの上位にいるのです。
こうした攻撃がどれほど一般的かを理解するために、統計を見てみましょう: 2022年のeコマースサイトへのログイン試行の22.6%が 辞書攻撃または認証情報詰め込み攻撃でした。つまり4回に1回以上の試行です。企業は不正購入、顧客データの盗難、深刻な風評被害に直面しました。
さらに、攻撃者は対象サイトのページを調査し、そのサイトの固有パラメータ要件に合わせて辞書攻撃ツールを調整します。ログインページが明らかな対象ですが、CMSの管理ポータルも攻撃者の人気スポットです。以下を含みます:
- WordPress: wp-adminやwp-login.phpといった一般的なエントリーポイント。
- Magento: /index.phpや管理パネルなどの脆弱なパス。
- Joomla!: 管理者ページがよく狙われます。
- vBulletin: admin cpなどの管理ダッシュボードは頻繁に攻撃の対象となります。
良いニュースがあります。リスクを理解することが対策の第一歩です。WordPressサイト、SSHサーバー、またはその他のプラットフォームを保護する場合でも、脆弱性がどこにあるかを知ることが、辞書攻撃を防ぐための最初のステップです。
ブルートフォース攻撃防止のベストプラクティス
辞書攻撃を止めるには、常識と賢明な戦略の組み合わせが必要です。家のすべてのドアと窓をロックし、さらにセキュリティシステムを追加するようなものです。これらのベストプラクティスはほとんどのプラットフォームで機能し、システムを安全に保つための強固な基盤となり、辞書攻撃防止の重要なステップです。
強力で一意のパスワードを使用する
弱いパスワードや使い回されたパスワードは、辞書攻撃への招待状です。最低12文字の長さで、大文字小文字、数字、記号を含み、予測可能なものを避けたパスワードを選択してください。 研究では 「123456」と「password」は2022年も最も一般的なパスワードの一部でした。
多要素認証(MFA)を実装する
MFAを使用すれば、攻撃者がパスワードを推測できても、携帯電話に送信されるワンタイムコードのような追加の認証ステップが必要になります。 MicrosoftによるとMFAはアカウント侵害攻撃の99.2%以上をブロックします。詳しくは Windows 10で二段階認証を有効にする方法のガイドを参照してください。.
アカウントロックアウトを有効にする
失敗したログイン試行を制限して、一時的にアカウントをロックします。このシンプルな機能が辞書攻撃を即座に止めます。
レート制限を設定する
ログイン試行の頻度を時間枠内で制限します。たとえば、1分間に5回の試行のみを許可することで、ブルートフォース攻撃の可能性を低くできます。
異常なアクティビティを監視して対応する
侵入検知システム(IDS)などのツールを使用して、ブルートフォース試行を早期に検出します。
最良の防御は多層的です。これらの戦術を組み合わせてブルートフォース攻撃を停止する方法を理解することで、攻撃者の成功をはるかに困難にします。次に、WordPressなどの特定のプラットフォームにこれらの原則を適用する方法を探ります。ここでブルートフォース攻撃は特に一般的です。
WordPress上でのブルートフォース攻撃防止
WordPressサイトはハッカーの標的です。何百万ものウェブサイトがこのプラットフォーム上で運用されているため、攻撃者はセキュリティが弱いサイトを見つけるチャンスが高いことを知っています。WordPress上のブルートフォース攻撃を防ぐ方法を理解することで、大きな違いが生まれます。考えているほど難しくはありません。
デフォルトのログインURLを変更する
ハッカーはデフォルトのログインページ(/wp-adminまたは/wp-login.php)を標的にします。カスタムURLに切り替えることは、玄関を移動させるようなもので、攻撃者が見つけるのははるかに困難になります。
セキュリティプラグインをインストールする
WordfenceやSucuriなどのプラグインは、CAPTCHA、IPブロック、リアルタイム監視を含む強力なブルートフォース攻撃防止ツールを提供します。
XML-RPCを無効にする
XML-RPCはハッカーがログイン試行のために利用するゲートウェイです。これを無効にすることは、WordPressサイトが一般的に直面するブルートフォース攻撃への脆弱性を低減するために必須です。
ログインページにCAPTCHAを追加する
CAPTCHAは人間だけがログインできることを保証し、自動化されたブルートフォースツールを遮断します。
wp-config.php を強化する
.htaccessまたはサーバルールを調整して、サイトの設計図であるwp-config.phpへのアクセスを制限します。
定期的に更新
古いプラグインとテーマは攻撃者への開かれた扉です。定期的な更新により既知の脆弱性がパッチされ、ブルートフォース攻撃WordPressのリスクから保護されます。これはWordPressサイトが非常に陥りやすいブルートフォース攻撃から身を守るための鍵です。
これらの手順により、WordPressサイトのセキュリティが大幅に向上します。次に、SSHサーバのセキュリティについて取り組みます。これもブルートフォース攻撃の頻繁な標的です。
SSH ブルートフォース攻撃から保護する
SSHサーバはあなたの王国へのデジタル鍵のようなものであり、これはハッカーの主要な標的になります。SSH上のブルートフォース攻撃を防ぐ方法を理解することはただ賢いだけでなく、機密システムを保護するために重要です。

SSH キー認証を使用する
パスワードベースのログインはリスクがあります。 SSHキー認証に切り替えることで、 攻撃者は推測されたパスワードではなく秘密鍵へのアクセスが必要になるため、セキュリティの追加レイヤーが加わります。これはSSHブルートフォース攻撃の成功率を大幅に低減します。
ルートログインを無効化する
rootユーザはSSHブルートフォーシングの最初の標的になることが多いです。rootへの直接ログインを無効にし、制限された権限を持つ別のユーザアカウントを作成します。ハッカーは標的にできないものをブルートフォースできません。
UFW と Fail2Ban をセットアップする
UFWやFail2Banなどのツールは失敗したログイン試行を監視し、疑わしい動作を示すIPをブロックします。これはSSHサーバ上のブルートフォース攻撃を停止する方法の最も効果的な防御の一つです。詳細なガイドは以下のとおりです。 UFWおよびFail2Banのインストール、有効化、管理方法.
デフォルトポートを変更する
デフォルトでは、SSHはポート22を使用し、ハッカーはそれを知っています。 SSHを標準以外のポートに移動させることで、 シンプルだが効果的な難読化レイヤーが追加されます。
IPホワイトリストを使用
SSHアクセスを特定のIPアドレスに制限します。これにより不要なトラフィックが完全にブロックされ、ブルートフォースツールが開始することすら防止できます。
これらの手順により、SSHサーバは攻撃にはるかに脆弱ではなくなります。ブルートフォース攻撃を防ぐ方法の一般的な実践方法をカバーしたので、次は攻撃者が使用する特定のツールに対抗することについて説明します。
よく使われるブルートフォース攻撃ツールと対策方法
上記の実践方法はブルートフォース攻撃防止に大いに役立つことができますが、ほとんどはブルートフォース攻撃を防ぐ方法に関する一般的なものです。しかし、多くの攻撃者は特定のツールを使用しており、それらに対抗する方法を知ることは非常に重要です。
Wi-Fi パスワードクラッキングツール
Aircrack-ng: WEP、WPA、WPA2-PSKに対する辞書攻撃を通じてWi-Fiパスワードをクラックするための多機能ツール。複数のプラットフォームで利用可能。
- 緩和: WPA3暗号化を使用し、長く複雑なパスワードを作成し、MACアドレスフィルタリングを有効にし、ワイヤレス侵入検知システム(WIDS)を導入します。
汎用パスワードクラッキングツール
John the Ripper 弱いパスワードを特定し、ブルートフォース攻撃または辞書攻撃を使用してクラックします。15以上のプラットフォームに対応。WindowsおよびUnixを含みます。
- 緩和: 強力なパスワードポリシーを強制し(最低12文字、高い複雑性)、ソルト化されたハッシュを使用し、定期的なパスワード監査とローテーションを実施します。
レインボークラック 事前計算されたレインボーテーブルを利用してパスワードクラックを高速化。WindowsおよびLinuxの両方に対応。
- 緩和: ソルト化されたハッシュを使用してレインボーテーブルを無効にし、bcrypt、Argon2、またはscriptのようなハッシュアルゴリズムを適用します。
L0phtCrack: 辞書攻撃、ブルートフォース攻撃、ハイブリッド攻撃、およびレインボーテーブルを使用してWindowsパスワードをクラック。ハッシュ抽出とネットワーク監視などの高度な機能に対応。
- 緩和: 失敗した試行後にアカウントをロックし、パスフレーズを使用してより高いエントロピーを確保し、多要素認証(MFA)を強制します。
Ophcrack: LMハッシュを使用してWindowsパスワードをクラックすることに特化。組み込みレインボーテーブルを使用し、数分で完了することが多い。
- 緩和: LMハッシュに依存しないシステム(例:Windows 10+)にアップグレードし、長く複雑なパスワードを使用し、SMBv1を無効にします。
高度な多目的パスワードツール
Hashcat: GPU対応ツール。様々なハッシュおよびブルートフォース攻撃、辞書攻撃、ハイブリッド攻撃などの攻撃に対応。
- 緩和: 強力なパスワードポリシーを強制し、ハッシュファイルを安全に保存し、強力なキーで機密データを暗号化します。
DaveGrohl: Mac OS X専用ツール。分散ブルートフォース攻撃と辞書攻撃に対応。
- 緩和: Mac OS Xシステムを監査し、パスワードファイルへのアクセスを制限し、多要素認証(MFA)を強制します。
ネットワーク認証とプロトコルツール
Ncrack: RDP、SSH、FTPなどのネットワーク認証プロトコルをクラック。複数のプラットフォームに対応。
- 緩和: ファイアウォール経由でネットワーク公開サービスへのアクセスを制限し、複数の失敗したログイン試行後にIPベースのブロッキングを強制し、重要なサービスに非標準ポートを使用します。
THC ハイドラ 30以上のプロトコル(Telnet、FTP、HTTP(S)を含む)に対する辞書ベースのブルートフォース攻撃を実行。
- 緩和: CAPTCHAまたは他のメカニズムを使用してリトライを制限し、暗号化されたプロトコル(例:FTPS、HTTPS)を利用し、安全なアクセスにMFAを要求します。
ウェブ、サブドメイン、CMS 向け専門ツール
Gobuster: Webペネトレーションテストでサブドメインとディレクトリをブルートフォースするのに理想的。
- 緩和: Webアプリケーションファイアウォール(WAFs)を使用し、機密ディレクトリへのアクセスを制限し、デフォルトファイル構造を隠すか難読化します。
研究: セキュリティテスト中に隠れたWebパスとディレクトリを発見。
- .htaccessまたはサーバールールを使用してアクセスを制限し、未使用のディレクトリを削除し、機密Webパスを保護します。
Burp Suite ブルートフォース攻撃と脆弱性スキャン機能を備えた完全なWeb セキュリティテストスイート。
- 緩和: Webアプリケーションを定期的にパッチし、ペネトレーションテストを実施し、異常なブルートフォース活動を監視します。
CMSeek: テスト中にCMSの脆弱性を発見し、悪用することに特化しています。
- 緩和: CMSプラットフォームを最新に保つ、安全な設定を行い、保護プラグインでブルートフォース攻撃を制限してください。
トークン、ソーシャルメディア、その他のツール
JWTクラッカー テスト目的でJSON Webトークンをクラックすることに特化しています。
- 緩和: JWT署名に長く安全なキーを使用し、トークンの有効期限を短く設定し、弱いアルゴリズムまたは署名なしアルゴリズムを拒否してください。
SocialBox: ソーシャルメディアアカウントのブルートフォーステスト用に使用されます。
- 緩和: 失敗した試行後にアカウントをロック、2段階認証を強制し、ユーザーにフィッシング詐欺への対策を教育してください。
予測器: ブルートフォース攻撃用にカスタマイズされたワードリストを作成するための辞書ビルダー。
- 緩和: 認証情報の漏洩を監視し、デフォルトの弱いパスワードの使用を避け、継続的なセキュリティ監査を実施してください。
パタター: 多様なプロトコルと方法に対応する多目的ブルートフォースツール。
- 緩和: レート制限、カスタムエラーメッセージ、強力なアカウントロックメカニズムを実装して、攻撃者の活動を遅延させてください。
Nettracker: ブルートフォース攻撃や他の評価を含む、ペネトレーションテストのタスクを自動化します。
- 緩和: ネットワークログを定期的に監視し、テスト用認証情報を隔離し、ペネトレーションツールの安全な管理を確保してください。
まとめと高度なブルートフォース攻撃対策
行動分析ソフトウェア、ハニーポット、IP評判ブロッカーなどの高度なツールは、脅威が実害を与える前に発見し、阻止できます。これらの先制的な対策は、多要素認証と強力なパスワードなどの基本的な対策と組み合わせることで、堅牢な防御を構築します。
ブルートフォース攻撃の防止方法を学ぶには、長期的な視点が必要です。賢い戦略とブルートフォース攻撃防止ツールを組み合わせることで、最も執拗な攻撃者からもシステムを保護できます。警戒を怠らず、適応力を保ち、サイバーセキュリティを将来への投資と考えてください。