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 インスタンスのトラブルシューティングを行います。
- 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 エージェントをインストールして設定するの手順に従ってください。