Dockerホスト上でDeep Security Agentを使ってみる①

公開日
2016年10月31日

この記事の内容は公開されてから1年以上が経過しております。
情報が古い可能性がありますので、ご注意ください。

最近「Deep SecurityをDocker環境で使えますか?」というご質問を頂くことが多くなりました。また、すでにDockerコンテナを展開したLinuxサーバ上でのDeep Securityの利用を検討頂いたり、実際にご利用頂いているケースも出てきました。そこで数回に分けて、Trend Micro Deep Security™(Deep Security) をAWS EC2インスタンス上でDockerコンテナを起動した環境でDeep Securityをどのように使えるかをお伝えします。
※内容はDeep Security はVersion 9.6 を前提に記載しています。

Deep Securityを利用できるAWSサービス

まずはAWS環境にてDeep Securityをご利用頂くための条件をあらためて確認しておきます。

Deep Securityをご利用頂けるAWSインフラストラクチャサービス

  • Amazon Elastic Compute Cloud(Amazon EC2)
    EC2以外でAmazon Relational Database Service (Amazon RDS)、Amazon Simple Storage Service(AmazonS3)などのサービスにはDeep Securityは利用することができません。これらEC2以外のサービスに対してのセキュリティ対策については改めて書きたいと思います。

EC2上で利用できるDeep Securityのサービスと機能

  • パッケージ版Deep Security(Deep Security Managerを独自に構築いただく)
  • Deep Security as a Service(Deep Security ManagerコンソールをトレンドマイクロがホスティングするSecurity as a Service、Deep Security Agentはパッケージ版Deep Securityと同様)
    Deep Security AgentをEC2インスタンス上のOSにインストールをすることで利用することでDeep Securityのすべての機能を利用することが可能です。

ここまで記載してきたとおり、Deep Security Agentは、EC2インスタンスを防御するホスト型のセキュリティソフトウェア(コンポーネント)となります。そのため、他のIaaSサービスやオンプレミスの環境でも同様に利用することができます。(ライセンスもサービス毎に変わりはありません。)

Dockerコンテナが稼動するEC2インスタンスでDeep Security Agentをインストールして使えるの?

では、EC2インスタンス上にDockerコンテナが稼動している環境(以下Dockerホスト)にDeep Security Agent(以下DSA)を導入するとどうなるか? 当然のことながら、DockerホストをDSAの機能で保護をすることはできます。しかしながら、Dockerコンテナ上のアプリケーションを含めた保護については、現行バージョンであるDeep Secuirty 9.6では制約があります。

DockerとDeep Securityの関係を見て頂くと分かる通り、DSAはDockerホスト上のアプリケーションとしてインストールされ、OSのカーネルと連携をしてファイルI/Oのフック、ネットワークドライバ経由の通信のキャプチャを行います。そのため、Dockerエンジン上で稼動する各コンテナの内部の挙動を直接ハンドリングすることができません。

現時点(2016年10月)でDeep Security9.6にてサポートする機能は以下となります。

  • 侵入防御
  • 変更監視
  • セキュリティログ監視

Dockerホスト上での不正プログラム対策、ファイアウォール機能についてはサポートしておりません。(完全に動作しないわけではありませんが、製品動作上の不具合、設定上の問題が発生する可能性があります。)

そして、侵入防御、変更監視、セキュリティログ監視をDockerホスト上でご利用頂く際にはいくつか留意頂くべき点があります。

侵入防御

侵入防御機能は、Dockerホスト上のOS、アプリケーション、Dockerコンテナ上のアプリケーションに対する通信について、インバウンド/アウトバウンド双方の通信について防御が可能です。ただし、以下の点については留意が必要です。

  • ホスト上でDockerを起動すると、コンテナとの通信を確保するためにiptablesが有効となりNAT機能(IPマスカレード機能)が有効化されます。DSAをLinuxホストにインストールして、侵入防御機能をONにする際にはデフォルトではDSAがiptablesを無効化する挙動を行いますので、DSAインストール前にiptablesを無効化させないオプションを実行しておく。
  • DSAはDockerホスト上で稼動するため、Dockerコンテナ内のアプリケーションなどを含めた推奨設定の検索は利用できない。

侵入防御を有効にしたときのパケットフローや設定方法などについては次回ご紹介したいと思います。

変更監視

変更監視機能については、いくつかの監視手法のみが利用できます。

  • ファイル、ディレクトリ監視 : コンテナのファイルシステムがDockerホスト上の/var/lib/docker/*/mntにマウントされるため
  • プロセス監視 : Dockerの仕様から、Dockerホストからコンテナのプロセスが見える状態であれば監視可能。

上記以外については監視することはできません。
Deep Securityの変更監視機能の仕様については以下をご参照ください。 http://esupport.trendmicro.com/solution/ja-jp/1310032.aspx

セキュリティログ監視

セキュリティログ監視については、コンテナ上のアプリケーションログをDockerホスト上のディレクトリに出力するように設定されている場合に限り利用できます。

まとめ

ご紹介したとおり、Deep Security9.6では、いくつかの制約はありますが、Dockerを稼動させているホストに対する保護を行うことが可能です。 Trend Micro USサイトにも関連記事がありますので、ご覧ください。
https://help.deepsecurity.trendmicro.com/using-deep-security-with-docker.html

トレンドマイクロとしてもDocker環境に対する更なるセキュリティ強化については検討しております。
次回は、実際にDockerホスト上にDeep Securityを導入する際の手順や留意事項、仕組みについてご紹介したいと思います。

製品情報

お問い合わせ窓口一覧

メールでのお問い合わせ
aws@trendmicro.co.jp

Copyright © 2019 Trend Micro Incorporated. All rights reserved.