Amazon Linuxにサポート可能なDeep Security Agentをインストールする方法

2019/04/16追記 こちらは注意喚起として書かせていただきましたが、2019/04/16現在DSA11.3をAmazon Linuxでサポートすると記述されたため、注意喚起の役割はなくなりました。以降はバージョン変更の参考手順としてご確認ください。

こんにちは、臼田です。

この記事はDeep Security、特にDSaaSでAmazon Linux(Amazon Linux 2ではない昔からある方、以下それぞれALとAL2)を利用している環境に対する注意喚起です。

AL2がリリースされ、ALについてはAWSは2020年6月30日までのサポートとしていますが、これに合わせてだと思われますがDeep SecurityでもALが最新版のDSA(Deep Security Agent)ではサポートされなくなっています

DSAのバージョンとサポートOSの関連が分かる表は下記にあります。

Deep Security Agent platforms | Deep Security

ALではDSA11.0までのサポートとなっていますが、2019/03/29現在では自動的に最新バージョンがインストールされるインストールスクリプトを利用していると、サポート対象外であるDSA11.3がインストールされることを確認しています。

これは昔からエージェントをインストールしたまま使っている環境では即時影響が出るわけではありませんが、AutoScaling時にUserDataからインストールスクリプトを実行している環境では、すでにサポート対象外のDSAが使われている可能性があります。この状態でもDSAの機能が動くことを個人的に最低限は確認しておりますが、トレンドマイクロサポートに問い合わせたところ、当然サポート対象外のためダウングレードを推奨されました。

この記事では、この問題に当たるかどうかの確認方法、暫定対処、恒久対応について紹介します。

DSaaS(DSM)から現状の確認

DSaaSの管理画面にログインして「コンピュータ」ページを開きます。

管理対象のコンピュータの「プラットフォーム」がAmazon Linuxになっているものの「バージョン」が11.0以下であることを確認してください。下記のようにそれより上のバージョンであればサポート対象外となるため、ダウングレードする必要があります。

サポート対象外バージョンの場合の暫定対処

暫定対処として、DSAをダウングレードします。流れは下記のとおりです。

  • DSaaSから監視の停止
  • DSAのアンインストール
  • DSAの手動インストール
  • DSAの手動アクティベーション

順に説明していきます。

DSaaSから監視の停止

「コンピュータ」の一覧から対象のコンピュータを「右クリック -> 処理 -> 無効化」を押します。

ポップアップが出るのでOKを押して無効化します。

ステータスが非管理対象になればOKです。

DSAのアンインストール

インスタンスにsshでアクセスしてDSAをアンインストールします。参考はこちら

sudo rpm -ev ds_agent

DSAの手動インストール

まず11.0のパッケージをダウンロードします。現状のDSaaSでは管理画面右上の「サポート情報 -> Agentのダウンロード」からダウンロードできます。

スクロールして11.0の最新版をダウンロードします。なぜかサポート対象外のインストーラも用意されていますが無視します。

インスタンスにSCP等でパッケージを持っていき、下記インストールコマンドを実行します。参考はこちら

$ sudo rpm -i Agent-Core-amzn1-11.0.0-662.x86_64.rpm

既存のインストールされていたものを利用しているのか、検証時はあっさり終わりました。

DSAの手動アクティベーション

インストールスクリプトでは最後にアクティベーションするコマンドも含まれていますので、これを手動で実行します。

現状のDSaaSでは「サポート情報 -> インストールスクリプト」からインストールスクリプトを発行できます。適切な設定を選んだ後下方に表示されているインストールスクリプトの一番下にコメントアウトされているコマンドをsudo付きで実行すれば手動でアクティベーションできます。

下記が実行結果です。

$ sudo /opt/ds_agent/dsa_control -a dsm://agents.deepsecurity.trendmicro.com:443/ "tenantID:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "token:XXXXXXXXXXXXXXXXXXXXXXXXXX" "policyid:XXXX"
Activation will be re-attempted 30 time(s) in case of failure
dsa_control
HTTP Status: 200 - OK
Response:
Attempting to connect to https://agents.deepsecurity.trendmicro.com:443/
SSL handshake completed successfully - initiating command session.
Connected with (NONE) to peer at agents.deepsecurity.trendmicro.com
Received a 'GetHostInfo' command from the manager.
Received a 'SetDSMCert' command from the manager.
Received a 'SetAgentCredentials' command from the manager.
Received a 'GetAgentEvents' command from the manager.
Received a 'GetInterfaces' command from the manager.
Received a 'GetAgentEvents' command from the manager.
Received a 'GetAgentStatus' command from the manager.
Received a 'GetAgentEvents' command from the manager.
Received a 'GetDockerVersion' command from the manager.
Received a 'SetSecurityConfiguration' command from the manager.
Received a 'GetAgentEvents' command from the manager.
Received a 'GetAgentStatus' command from the manager.
Command session completed.

Completedとなれば完了です。

しばらくすると管理画面上でオンラインとなり、バージョンが11.0になっていることが確認できます。

恒久対応

例えばAutoScaling環境でインストールスクリプトを実行している場合などは、起動設定のAMIにバージョン固定でインストールしておく手法が考えられます。

しかしながら、一番の恒久対応はサポート終了が見えているAmazon Linux自体をやめて、長期サポートのAmazon Linux 2に置き換えることです。

これを機に検討してみてはいかがでしょうか?

まとめ

DSaaSでAmazon Linuxが最新のDSAをサポートしていないことと、その対処法をまとめました。

Deep Securityはどんどんバージョンが変わっていくので、サポート対象バージョンを意識して運用等を考えておく必要があります。

これを機に運用方法について再検討してみてはいかがでしょうか?