Amazon Inspector v2のLambda標準スキャンを有効化して動作を確認して無効化してみた #reinvent

Amazon Inspector v2でAWS Lambdaの脆弱性スキャンを実施して、動作を確認してみました。便利に活用できます。
2022.12.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、臼田です。

みなさん、AWS Lambdaのセキュリティチェックしてますか?(挨拶

今回はre:Invent 2022で追加されたAmazon Inspector v2のAWS Lambda標準スキャン機能を有効化し、スキャン結果の確認をして、無効化してみましたので軽く紹介します。

概要

Amazon InspectorはAWS上で脆弱性スキャンが可能なマネージドサービスです。従来よりEC2に対する脆弱性スキャンに対応しており、昨年re:Invent 2021にてv2へと進化し、その際にスキャン方法が大きく変わるとともにECRのリポジトリスキャンに対応しました。

コンピューティングのリソース範囲に対して、汎用的なサーバー、コンテナまで対応していましたが関数レベルには対応していない、というカバレッジであったところから、今回関数レベルに対応したため、一通りのコンピューティングリソースの脆弱性スキャンが可能になったということになります。

リリース時の記事はこちらをご確認ください。

有効化

私の手元の環境で実際に使って動作を確認していきます。まずは有効化から。Amazon Inspector v2が既存で有効である場合、「アカウント管理」より有効化可能です。デフォルトではLambdaスキャンがDisabledとなっています。

対象AWSアカウントにチェックを入れて「有効化 -> Lambda標準スキャン」で有効化します。

有効化が完了しました。

スキャン結果の確認

ダッシュボードに戻ると対象アカウントの対象リージョン内のLambda関数に対してスキャンが実行されています。左側にはカバレッジ、右側には緊急の検出結果が表示されます。

スキャン結果の画面ではスキャンしたLambda関数の情報が表示されます、

関数名にリンクがあるものは、問題のある検出があったものです。確認しましょう。

見つかったCVEが表示されます。タイトルを押すと詳細も確認できますので、問題のあるライブラリに対処していけます。

一方で、私の環境では「Not scanning」となり、スキャンできていない関数がありました。これは「理由」を確認したらすぐにわかりました。対象ランタイムが古くサポートされていないためです。長いこと使っている検証環境なので仕方ありませんね。本番ではこのようなことがないようにランタイムをきちんと更新していきましょう。

無効化

既知の脆弱性があるLambda関数を確認できて非常に良いですね。

一方で、費用も気にするところであります。

Amazon Inspector v2のLambdaスキャンは1ヶ月1関数あたり東京リージョンでは$0.36です。時間課金であるため、無効化しておけば費用は抑えられるでしょう。料金はこちらをご参照ください。

もちろん有効化しておく利点は多々あります。例えば有効化している場合、新しいCVEがデータベースに追加された際に自動的にスキャンを実施するなど、リアルタイムに脆弱性の管理が可能です。この動作はUser Guideをご確認ください。

というわけで定常的に活用すべき場面では特に無効化する必要がありませんが、今回は検証環境ですので費用を優先し無効化します。有効化時と同じように「アカウント管理」のアクションより無効化できます。

確認が出ますので無効化を実施します。

これで完了です。

まとめ

Amazon Inspector v2でAWS Lambdaの脆弱性スキャンを実施してみました。

これでAWS上のコンピューティングリソースを一通り脆弱性スキャンできるようになりました。嬉しいですね!

AWS OrganizationsによりすべてのAWSアカウントにまたがって脆弱性の管理が可能になりますので、是非活用していきましょう。