AWS Elastic Beanstalk Docker 環境へDeep Security Agentをインストールする

この記事は公開されてから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をインストールしてみた」 も参考にさせていただきました。

まとめ

どなたかのお役に立てれば幸いです。