自動修復により、顧客はインフラストラクチャ上で自己修復型のLambda関数を実行し、セキュリティおよびガバナンスの失敗をリアルタイムで修正することができます。サポートされている自動修復Lambda関数のリストについては、GitHubページを参照してください。
大規模なビジネスに対する自動修復の実装およびセキュリティギャップを埋めるカスタムLambdaの作成に関する詳細は、Conformityプラットフォームを使用したセキュリティおよびコンプライアンスの自動修復の追加方法をご覧ください。
![]() |
注意[Example Scenario]: ユーザがS3アクセス制御リスト (ACL) を介してS3バケットを公開読み取り可能にします。
|
自動修復はどのように機能しますか
手順
- ConformityはリスクをルールFailureとして識別します
- Conformityは指定されたSNSチャネルにNotificationsを送信します。
- SNSトピックがオーケストレーターLambda関数をトリガーし、それがS3バケットの自動修復関数を呼び出します。
- AutoRemediateS3-001 functionはS3バケットACLを更新し、ルールFailureを解決してセキュリティギャップを解消します。
自動修復を設定
公式Serverlessドキュメントの指示に従って、AWSアカウントへのアクセスをServerless Frameworkに提供し、インストールしてください。Auto-remediationリポジトリの作業コピーを作成し、以下の指示に従ってください。
手順
- Auto-remediationリポジトリの作業コピーを作成する:
- Linux / Mac OS X / WindowsにGitをインストールしていない場合はインストールしてください。
- 次のGitコマンドを実行してください:
git clone https://github.com/cloudconformity/auto-remediate.git
- 自動修復フォルダ内のfunctionsディレクトリに移動します:
cd auto-remediate/functions
- コマンドを使用してアクセスルールを構成します:
nano config.js
- [config.js]ファイル内のすべてのルールは次のように設定されています:
'enabled': false
はデフォルトで無効になっており、誤設定を防ぎます。ルールを手動で有効にするには、値を'enabled': true
に変更する必要があります - 変更を加えた後:
- キーボードアクション[Ctrl-O]を実行して変更を書き出します
- 変更を確認するには[Enter]を押してください
- キーボード操作[Ctrl-X.]を行ってコマンドラインエディタを終了します
- 次のコマンドを実行してください:
- コマンド
cd ..
を使用して、auto-remediateフォルダに1レベル上がります - コマンド
npm install
を使用して、node:modulesフォルダをAWSで利用可能にする
- コマンド
- 次のコマンドを実行して自動修復をデプロイします:
serverless deploy --region [your AWS account region]
例えばserverless deploy --region us-east-2
注意
自己修復機能のために、AWSアカウントと同じリージョンに自動修復を展開することをお勧めします。チェックの失敗の検出は、RTMとConformity Botによって実行されるため、展開のリージョンに依存しません。 - 展開が成功すると:
- AWSアカウントに[CloudConformity]という名前のSNSトピックが自動的に作成されます。
- [autoremediate-v1-AutoRemediateOrchestrator]という名前のLambda関数は[CloudConformity] SNSトピックに自動的にサブスクライブされます。
- AWSアカウントに[CloudConformity]という名前のSNSトピックが自動的に作成されます。
- ConformityプラットフォームにAmazon SNS Communicationチャネルを統合し、有効にしたいNotificationsを選択してください。
- Automatic notifications - 失敗したチェックは、メッセージがSNSチャネルに公開されると自動的に解決されます。
- Manual notifications - チェック失敗時に[Send via SNS]ボタンを表示できます。ボタンをクリックして失敗を解決してください。
自動修復の展開後にルールを有効化または無効化
手順
- AWSコンソールで、次に移動します:
- 検索して選択: [auto-remediate-v1-AutoRemediateOrchestrator]
- 構成を変更する
- に移動します。
- [config.js]を選択して、自動修復ルールの設定を変更します。
自動修復展開のテスト
手順
- Communication triggerをAmazon SNSチャネルを構成する際に選択したことを確認してください:
- デフォルトに設定して、NotificationsをAll Checksに送信するか
- [Rules]の下で[EC2-002]を特定して選択できます
- [AutoRemediateEC2-002]Ruleが有効になっていることを確認するには、Ruleを有効にするための手順に従ってください。
- AWSコンソールで、 に移動します
- [Create Security Group]をクリック
- 名前、説明を入力し、VPCを選択
- タイプを選択: [SSH]
- ソース: [Anywhere]
- [Create]をクリックしてください
の下で[Add Rule]をクリックします:
- Real-Time Threat Monitoringを有効にしている場合、Auto-remediationが開始されると、Activity DashboardおよびMonitoring Dashboardにすぐにエントリが表示されます。
- Automatic notificationsのみを有効にしている場合、チェックのFailureは自動的に解決されます。
Manual notifications を使用した解決
Manual notificationsのみを有効にしている場合は、以下の手順に従ってFailureを解決してください。
手順
- All Checks reportに移動し、ルールをフィルタリングしてください:
- [Rules]: EC2-002 (無制限のSSHアクセス)
- [Only show checks created less than]: 1日
- チェックのFailure時に、[Send via SNS]をクリックしてください。
自動修復の解決を確認
手順
- AWSコンソールで、 に移動します。ステップ4で作成したSecurity Groupがもう利用できないことがわかります。
- AWSコンソールで、**サービス > コンピュート > Lambda > 関数 > {auto-remediate function}を選択 > モニタリング**に移動します。[auto-remediate-v1-AutoRemediateOrchestrator]およびそのサブ関数がトリガーされているかどうかを理解するために、Lambdaモニタリングチャートを確認することもできます。
オートリメディエーションプロジェクトへの貢献
独自の自動修復コードをフォークして変更することはできますが、Conformityはフォークされたコードに対してサポートを提供しません。ただし、自動修復コードにプルリクエストを送信することは可能で、承認された場合、そのコードはカスタマーサクセスチームによってサポートされます。