
AWS を使用してオンプレミスサーバー上のファイルベースのマルウェアスキャンを実行する
セキュリティチームが予算やリソースの制約により、すべてのオンプレミスサーバーを継続的に監視することは困難な場合があります。シグネチャベースのアンチウイルスだけでは不十分であり、現代のマルウェアはさまざまな難読化手法を使用します。サーバー管理者は、過去のすべてのサーバーにわたるセキュリティイベントを可視化できない可能性があります。インシデント発生時に、侵害されたシステムと復元に安全なバックアップを特定することは、一元化された監視とアラートがなければ困難です。サーバー管理者が高度な脅威検出のために追加のセキュリティツールをセットアップおよび維持することは面倒です。感染の平均検出時間と修復時間を短縮することは重要ですが、適切な自動化ソリューションがなければ達成するのは困難です。
包括的な脅威インテリジェンスがなければ、インシデント発生時にどのバックアップイメージから復元しても安全かを判断することも別の難しい問題です。バックアップが利用可能であっても、システムがいつ侵害されたかを正確に知らなければ、バックアップから盲目的に復元するのはリスクがあります。これにより、マルウェアを復元し、インシデント対応中にさらに貴重なデータやシステムを失う可能性が高まります。侵入のタイムラインを特定し、復元に安全なバックアップを推奨する自動化ソリューションが必要です。
このソリューションは、AWS Elastic Disaster Recovery (AWS DRS)、Amazon GuardDuty、AWS Security Hubを活用して、オンプレミスサーバーのマルウェア検出の課題に対処します。
これらのサービスの組み合わせにより、パフォーマンスに影響を与えることなく、オンプレミスサーバーを継続的に監視するための費用対効果の高い方法を提供します。また、一元化された脅威分析を通じて侵害のタイムラインを特定し、復元のための安全な復旧時点のバックアップを判断するのに役立ちます。
AWS Elastic Disaster Recovery (AWS DRS) は、手頃な価格のストレージ、最小限のコンピューティング、ポイントインタイムリカバリを使用して、オンプレミスおよびクラウドベースのアプリケーションの高速かつ信頼性の高い復旧により、ダウンタイムとデータ損失を最小限に抑えます。
Amazon GuardDuty は、AWS アカウントとワークロードを継続的に監視し、悪意のあるアクティビティを検出し、可視性と修復のための詳細なセキュリティ検出結果を提供する脅威検出サービスです。
AWS Security Hub は、セキュリティのベストプラクティスチェックを実行し、アラートを集約し、自動修復を有効にするクラウドセキュリティ体制管理 (CSPM) サービスです。

マルウェアスキャンソリューションは、オンプレミスサーバーがすでに AWS DRS でレプリケートされており、Amazon GuardDuty と AWS Security Hub が有効になっていることを前提としています。このリポジトリの cdk スタックは、アーキテクチャ図で DRS Malware Scan とラベル付けされたボックスのみをデプロイします。
AWS アカウント。
Amazon Elastic Disaster Recovery (DRS) が設定されており、少なくとも 1 つのソースサーバーが同期中であること。設定されていない場合は、このドキュメントを確認してください。レプリケーション設定では、AWS Key Management Service (AWS KMS) のカスタマーマネージドキー (CMK) を使用した EBS 暗号化を考慮する必要があります。Amazon GuardDuty Malware Protection は、EBS のデフォルトの AWS 管理キーをサポートしていません。
このソリューションのコンポーネントをデプロイするための IAM 権限。
Amazon GuardDuty が有効であること。有効でない場合は、このドキュメントを確認してください。
Amazon Security Hub が有効であること。有効でない場合は、このドキュメントを確認してください。
警告
現在、Amazon GuardDuty Malware スキャンは、EBS 管理キーで暗号化された EBS ボリュームをサポートしていません。このソリューションを使用して、DRS でレプリケートされたオンプレミス (または他クラウド) サーバーをスキャンする場合は、KMS で独自の暗号化キーを使用して DRS レプリケーションを設定する必要があります。現在、レプリケートサーバーで EBS 管理キーを使用している場合は、DRS コンソールで暗号化設定を独自の KMS キーを使用するように変更できます。
Cloud9 環境を作成し、Ubuntu イメージ (パフォーマンス向上のため少なくとも t3.small) を AWS アカウントに作成します。Cloud9 環境を開き、このリポジトリのコードをクローンします。注: Amazon Linux 2 には node v16 が含まれていますが、2023-09-11 以降サポートされていません。
git clone https://github.com/aws-samples/drs-malware-scan
cd drs-malware-scan
sh check_loggroup.sh
CDK スタックをデプロイするには、Cloud9 ターミナルで次のコマンドを実行し、デプロイを確認します。
npm install
cdk bootstrap
cdk deploy --all
注
このソリューションは 2 つのスタックで構成されています:
cdk deploy DrsMalwareScanStack を実行できます。cdk deploy ScanReportStack を実行できます。両方のスタックをデプロイする場合は、cdk deploy --all を実行します。
DRS ソースサーバーが継続的にレプリケートされ、正常なレプリケーション状態であることを確認します。これは、GuardDuty API の制限によるものです。本稿執筆時点では、DRS スナップショットをスキャンするパブリック AWS API はありません。DRS ソースサーバーのデータに対してマルウェアスキャンを実行する唯一の方法は、AWS DRS が管理するレプリケーションサーバー (Amazon EC2 インスタンス) に対してスキャンを実行することです。レプリケーションが正常な状態で実行されていない場合、DRS マルウェアスキャンが正常に完了しない可能性があります。ReadyforRecovery=Ready を確認する必要があります。
スキャンするソースサーバーを特定します。AWS DRS でレプリケートされているすべてのサーバーから、スキャンする候補サーバーのリストを決定します。AWS DRS コンソールから、ソリューションでスキャンするソースサーバー名をコピーし、テキストエディタに貼り付けます。これは次のステップで使用します。


