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

所要時間2分
0

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 ブルートフォース攻撃を受けている EC2 インスタンスのトラブルシューティングを行っています。この例では、セキュリティグループはインターネット上のソースからの SSH アクセスを許可します。

  1. Amazon 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 エージェントをインストールして設定する」を参照してください。


関連情報

Amazon GuardDuty – 継続的なセキュリティモニタリングと脅威検出

How to manage Amazon GuardDuty security findings across multiple accounts (複数のアカウントにおける Amazon GuardDuty のセキュリティに関する検出結果を管理する方法)

AWS公式
AWS公式更新しました 1年前