Amazon EC2 Systems ManagerとAWS ConfigでAmazon Linuxの記録/追跡、自動チェックをしてみた

はじめに

Amazon EC2 Systems Managerは、EC2に関する様々なユースケースを支援するサービスです。
Systems Managerのインベントリ機能をAmazon Linuxで試してみました。

インベントリは、OS、アプリケーション、エージェント、ネットワークなどの情報を収集します。
インベントリとAWS Configを使って、カーネルアップデートの記録/追跡、ds_agentのインストール状況の自動チェックをしてみました。

AWS Configのセットアップ

AWS Configはとりあえず有効にしようをご覧ください。

SSMエージェントのインストール

Systems Managerを利用するには、幾つかの条件があります。事前に前提条件を確認しておきます。
Amazon LinuxにSSMエージェントをインストールします。

インベントリの設定

Amazon Linuxに任意のタグを付与しておきます。
今回は"Inventory:true"としました。

n1

EC2コンソール > Manged Instances > Setup Inventoryでインベントリを設定します。
インベントリを取集するターゲットは、インスタンス個別またはタグで指定します。
"Inventory:true"のタグを対象としました。
その他はデフォルトとします。標準で30分おきにインベントリを収集します。

n2

インベントリはステートマネージャに登録され、定期的に実行されます。

n3

アプリケーション情報をEC2コンソールから確認

インベントリで収集されたデータをEC2コンソールから確認します。
Manged Instancesから対象のインスタンスを選び、Inventoryを選択します。

n4

フィルターを使ってカーネルバージョンを確認します。
バージョン"4.4.41"であることがわかります。

n5

AWS Configコンソールからも同様の内容を確認できます。
Resource inventory > SSM ManagedInstanceInventoryでLook upすると、マネージドインスタンスの一覧が表示されます。
インスタンスIDを選択し、Configタイムラインを閲覧します。

n6

インベントリを収集したタイミングで、タイムラインが作成されます。
タイムライン(日時が表示された四角)を選択することで、収集された内容を確認できます。

n7

aws-apitools-ec2、amazon-ssm-agentなどアプリケーション情報を確認できます。

n8

アップデートの記録、追跡

カーネルのアップデートを行ったあとで、Configタイムラインを確認します。
インベントリの収集のタイミング(30分ごと)と同じタイミングで更新されました。

n10

kernel、kernel-toolsのバージョンとInstalledTimeが更新された事がわかります。
Fromが変更前、Toが変更後です。
"4.4.41"から"4.4.44"にアップデートされた事がわかります。

n11

Configタイムラインを確認することで、アップデートの追跡を行えます。

OS設定の自動チェック

AWS Config Rulesを使って、OS設定を自動的にチェック出来ます。
今回はルールec2-managedinstance-applications-requiredを使い、Deep Securityエージェントであるds_agentのインストール状況をチェックしました。
Deep Securityはアンチウイルス機能などを持つセキュリティ製品です。

AWS Configコンソールから、Rules > Add rule > ec2-managedinstance-applications-requiredを選択します。
チェック対象はマネージドインスタンスとしました。

n12

applicationNames:ds_agent、platformType:Linuxを指定します。

n13

ds_agentがインストールされていない状態では、"noncompliant resource(s)"と表示されます。

n14

ds_angetをインストールすると、"Compliant"になります。

n15

終わりに

Amazon EC2 Systems ManagerとAWS Configを使って、Amazon Linuxのインベントリの確認、カーネルバージョンの記録、アップデートの追跡を行いました。
OS内部の変更を記録しておく事で、監査、セキュリティ、構成チェックなどに役立てる事ができます。

Config Rulesを使うと、チェックを自動化する事ができます。
今回はセキュリティ製品であるDeep Security(ds_agent)がインストールされているかチェックしました。

参考