Amazon Linux2にセッションマネージャ、ランコマンドでDSAをインストールする

AWS運用自動化サービス「Cloud Automator」

こんにちは。技術2課の芳賀です。
最近、Amazon Linux2のEC2に対してDSaaSを導入する機会があったので、その際に実施した内容を残しておきたいと思います。

DSaaSですが、AWS MarketplaceでDSaaSのライセンス契約をすることで個人でも気軽に使用することができます。
以前、弊社の寺田がまとめていましたので、こちらを参考に検証環境を構築しました。
AWS Marketplace で Trend Micro Deep Security as a Service のライセンスを契約して、検証環境で使えるようにしてみる

今回の内容としては以下になります。

  1. Deep Security Managerに AWSアカウントを追加
  2. Amazon Linux2にセッションマネージャでDeep Security Agentをインストール
  3. Amazon Linux2にランコマンドでDeep Security Agentをインストール

※OSによってはサポートされていないバージョンのエージェントがインストールされる可能性があるため、確実に希望するバージョンをインストールしたい場合は、今回の方法ではなくバージョン毎のインストーラを使用することをお勧めします。こちらにOS毎にサポートされているDeep Security Agentがまとめられています。 

1.Deep Security ManagerにAWSアカウントを追加

Deep Security Manager(以降DSM)にAWSアカウントを追加することで、そのアカウントに紐づくEC2の一覧を表示することができます。

まず、該当のAWSアカウントにて、AWSマネージメントコンソールへログインしておきます。
※後ほど、DSMとの連携のためCloudFormationにてIAMロールを作成することになります。
DSMにログインします。
「コンピュータ」⇒「+追加」⇒「AWSアカウントの追加」を選択します。
別ウインドウでウィザードが表示されます。
セットアップタイプは「クイック」を選び、「次へ」を選択します。
アカウントのセットアップでは、特に何もせず「次へ」を選択します。
ログインしていたAWSアカウントにてCloudFormationが起動します。
特に何も変更せず「次へ」を選択します。

特に何も変更せず「次へ」を選択します。
特に何も変更せず「次へ」を選択します。
IAMリソースが作成されることを承認するにチェックを入れ、「スタックの作成」を選択します。
スタックのステータスが「CREATE_COMPLETE」になるまで暫く待ちます。
DSMの「コンピュータ」を確認すると、該当のAWSアカウントに構築されたEC2の一覧が表示されます。

2.Amazon Linux2にセッションマネージャでDeep Security Agentをインストール

AmazonLinux2に対して、AWS Systems ManagerのセッションマネージャでDeep Security Agent(以降DSA)をインストールしてみます。

DSMの「サポート情報▼」より、「インストールスクリプト」を選択します。
別ウィンドウが表示されます。
ここからDSAをインストールするためのスクリプトをダウンロードすることができます。
今回はAmazonLinux2にインストールするので以下を選択していきます。

プラットフォーム Linux版Agentのインストール
セキュリティポリシー Base Policy > Linux Server
(指定したいカスタムポリシーがあればここで選択)
コンピュータグループ コンピュータ(デフォルト)
Relayグループ プライマリテナントのRelayグループ(デフォルト)
Deep Security Managerへの接続に使用するプロキシ プロキシを選択(デフォルト、このままで良い)
Relayへの接続に使用するプロキシ プロキシを選択(デフォルト、このままで良い)

下にスクロールすると、実行するスクリプトが確認できます。
ここでは「ファイルに保存」を選択し、スクリプトファイルをダウンロードします。
「AgentDeploymentScript.sh」というファイルがダウンロードされます。

「AgentDeploymentScript.sh」をもとに、セッションマネージャを使用してDSAをインストールしていきます。

AWSマネージメントコンソールにログインし、AWS Systems Managerのサービス画面を起動します。
「インスタンスとノード」から「セッションマネージャー」を選択します。
※セッションマネージャを使用するためには、EC2に事前に「AmazonSSMManagedInstanceCore」のポリシーを付与したロールをアタッチしておく必要があります。後述するランコマンドでも同様です。

インストールしたいEC2を選択し、「セッションの開始」を選択します。

ログイン出来たらrootユーザになります。

任意のフォルダに移動し、スクリプトファイルを作成します。
ここではダウンロードしたファイル名と同じ「AgentDeploymentScript.sh」としました。

ダウンロードしたスクリプトファイルの内容を書き込み、スクリプトファイルを実行します。

暫く待ち「Command session completed.」が表示されればインストール完了です。
DSMにログインしてコンピュータを確認すると、対象インスタンスのステータスが「管理対象(オンライン)」になりました。
対象インスタンスの詳細画面を確認すると、有効にしている機能毎にステータスを確認することができます。
セッションマネージャで問題なくインストールできました。

3.Amazon Linux2にコマンドラインでDeep Security Agentをインストール

AmazonLinux2に対して、AWS Systems ManagerのランコマンドでDSAをインストールしてみます。

AWS Systems Managerのサービス画面を起動し、「インスタンスとノード」から「コマンドの実行」を選択します。
ランコマンドのドキュメントから「AWS-RunShellScript」を選択します。
※以降今回は、明示した操作以外デフォルトのまま進めます
コマンドのパラメータには、DSMからダウンロードしたスクリプトの内容を貼り付けます。
ターゲットは「Choose instances manually」を選択し、DSAのインストールする対象となるEC2インスタンスを選択します。
コマンドが失敗した場合などの内容を確認したい場合は「CloudWatch出力」チェックを入れます。
ここではデフォルトのまま「実行」を選択します。
コマンドが実行され、ステータスが「進行中」から「成功」になるまで暫く待ちます。
ステータスが「成功」になりました。
DSMにログインしてコンピュータを確認すると、対象インスタンスのステータスが「管理対象(オンライン)」になりました。
セッションマネージャの時と同様、対象インスタンスの詳細画面からもステータスが正常であることを確認できます。
ランコマンドで問題なくインストールできました。

最後に

DSaaSのようなサービスを、検証したいときにささっと使えるAWS Marketplaceはとても良いですね。Marketplaceからライセンスを契約したDSaaSの場合、起動した分の時間課金になるのでとてもリーズナブルです。

対象のインスタンスに直接ログインせずにDSAをインストールすることができた、セッションマネージャやランコマンドについても、改めて使ってみて便利な機能だと感じました。活用できる場があればどんどん使っていきたいと思います。

AWS運用自動化サービス「Cloud Automator」