この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、コカコーラ大好き、カジです。
AWS Elastic Beanstalk Docker 環境でのDeep Security Agentインストールしたのでご紹介します。 弊社都元にも調査にご協力をいただきました。ありがとうございました。
Elastic Beanstalk 環境のDeep Securityの対応について
Deep Security のElastic Beanstalk対応についてはこのIntegrate Deep Security as a Service with AWS Beanstalkが参考になります。 サンプルの.ebestentionのサンプルファイルも提供されています。
Docker 環境のDeep Securityの対応について
Deep SecurityのDocker環境の保護についてはCan I use Deep Security to protect my Docker containers?に記載があります。まとめると以下となります。
サポート機能(2016/6/20現在)
- 侵入防止
- 変更監視
- セキュリティログ監視保護
非サポート機能(2016/6/20現在)
- マルウェア対策
- ファイアウォール保護
注意点(2016/6/20現在)
Dockerでは、iptablesを利用しますが、Deep Securityがiptablesを停止してしまうため、停止しないように、/etc/use_dsa_with_iptablesの空ファイルを作成する必要があります。 Deep Security Agent と iptables について
テストした構成
AWS Elastic Beanstalk Dockerの単一コンテナ(docker singlecontainer)を使っています。AWS Elastic Beanstalk Dockerのサンプルに、.ebextentionsフォルダを作成し、以下のConfigを入れてzipにします。AWS Elastic Beanstalk Dockerへデプロイするとインスタンス起動時にDeep Security Agentがインストールされます。
苦労した点
Integrate Deep Security as a Service with AWS BeanstalkのElastic BeanstalkのLinuxサンプルを使って、use_dsa_with_iptablesを作成するよう追記したものでは、ランダムで起動時Deep Securityのアクティベーションで失敗する事象が発生しました。
原因(推測です。参考程度と考えてください)
Integrate Deep Security as a Service with AWS BeanstalkのLinux用ebextetionサンプル上の「waitAfterCompletion: 70」の部分は、Windowsのみ有効な値でした。
そのため、Deep Security Managerが出力するインストールスクリプトをそのままebextetionへ適応しました。
動作したebextention
Deep Security Managerから出力可能な、インストールスクリプトを元に、環境に応じて、01downlaoddsaや、05activatedsaを書き換えて利用ください。
% cat .ebextensions/deepsecurity.config
container_commands:
00configuredsa:
command: sudo touch /etc/use_dsa_with_iptables
01downloaddsa:
command: wget https://app.deepsecurity.trendmicro.com:443/software/agent/amzn1/x86_64/ -O /tmp/agent.rpm --quiet
02installdsa:
command: rpm --replacepkgs -ihv /tmp/agent.rpm
ignoreErrors: true
03sleep:
command: sleep 15
04dsacontrol:
command: /opt/ds_agent/dsa_control -r
05activatedsa:
command: >-
/opt/ds_agent/dsa_control
-a dsm://agents.deepsecurity.trendmicro.com:443/
"tenantID:REPLACE-WITH-YOUR-TENANT-ID"
"tenantPassword:REPLACE-WITH-YOUR-TENANT-PASSWORD"
"policyid:REPLACE-WITH-YOUR-POLICY-ID"
参考
「.ebextensionsでAmazon LinuxにDeepSecurity Agentをインストールしてみた」 も参考にさせていただきました。
まとめ
どなたかのお役に立てれば幸いです。