Linux インスタンスで SSH ブルートフォース攻撃を特定するために GuardDuty を使用する方法を教えてください。

最終更新日: 2020 年 12 月 16 日

Amazon Elastic Compute Cloud (Amazon EC2) の Linux インスタンスが、SSH ブルートフォース攻撃を受けています。どうすれば Amazon GuardDuty を使用して、これらの攻撃をブロックできますか?

簡単な説明

Type SSH のルールでは、ポート範囲 22 よりもすべての送信元 (0.0.0.0/0) からの接続を許可するため、攻撃が発生する可能性があります。ポート範囲 22 に対して、0.0.0.0/0 を許可するとセキュリティ上のリスクが発生します。

通常、これらの攻撃は EC2 インスタンスに侵入するターゲットを探しているボットから発生します。SSH アクセスを制限することで、侵入のリスクを軽減できます。踏み台ホストなど、所有する特定のソースからのみ SSH アクセスを許可するようにセキュリティグループを構成するのがベストプラクティスです。

解決方法

GuardDuty を使用して、AWS 環境の疑わしい動作をモニタリングおよび検出できます。以下の例では、GuardDuty を使用して、インターネット経由で SSH アクセスを許可するセキュリティグループにある、SSH ブルートフォース攻撃を受けている EC2 インスタンスのトラブルシューティングを行います。

  1. EC2 コンソールを開きます。
  2. 新しいタブで GuardDuty コンソールを開きます。
  3. EC2 コンソールで [Security Groups] (セキュリティグループ) を選択し、セキュリティグループを選択して、[Inbound] (インバウンド) タブを選択します。
  4. ナビゲーションペインで、[Instances] (インスタンス) を選択し、新しいタブでインスタンスペインを開きます。
  5. インスタンスを選択し、インスタンス ID をコピーします。
  6. GuardDuty コンソールから、[Add filter criteria] (フィルター条件の追加) を選択してから、[Instance ID] (インスタンス ID) を選択します。
  7. 検索ボックスにインスタンス ID を貼り付け、[Apply] (適用) を選択します。
  8. [Finding Type] (結果タイプ) で、[Last seen] (最終アクセス) 列の最新の検索結果を選択します。
  9. [Actor] (アクター) セクションまでスクロールし、攻撃の送信元 IP アドレスをコピーします。
  10. EC2 Linux インスタンスでターミナルを開き、/var/log/secure ディレクトリを開き、セキュアファイルを開きます。
    注:
    セキュアファイルには SSH ログインが含まれています。
  11. ステップ 9 の送信元 IP アドレスを入力します。
    注: Amazon Linux AMI SSH ログには、インスタンスに接続するためのすべての認証試行が含まれます。
  12. AWS Config コンソールを開き、[Rules] (ルール)、[Add rule] (ルールの追加) を選択して、検索ボックスに restricted と入力します。
  13. [restricted-ssh] を選択して、次に [Save] (保存) を選択します。
    注:
    restricted-ssh ルールは、無制限の着信 SSH トラフィックを禁止するセキュリティグループを確認します。
  14. [Compliance] (コンプライアンス) フィールドの [Rule name] (ルール名) で、restricted-ssh ルールが [Evaluating] (評価中) から [noncompliant resource(s)] (準拠していないリソース) に変わるのを待ちます。更新アイコンを選択することもできます。
  15. [restricted-ssh] を選択して、非準拠セキュリティグループを表示します。
  16. [Manage resource] (リソースの管理) で、非準拠セキュリティグループ、[Inbound] (インバウンド) タブの順に選択します。

この例では、すべてのソースから SSH トラフィックを許可するためセキュリティグループは非準拠となります。SSH トラフィックを制限するには、Linux インスタンスへのインバウンド SSH トラフィックのルール追加をご参照ください。

詳細については、侵害された EC2 インスタンスの修正をご参照ください。

注: Amazon CloudWatch を使用して Linux ログを確認するには、クイックスタート: 実行中の EC2 Linux インスタンスに CloudWatch Logs エージェントをインストールして設定するの手順に従ってください。