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