クラウドネイティブなセキュリティの今後は? Twistlockのパートナー、マクニカネットワークスに訊いた
今回インタビューをお願いしたのは、Twistlockの日本でのパートナーであるマクニカソリューションズ株式会社だ。取材に応じてくれたのは、マクニカソリューションズ技術部の野原峰彦氏と辻紀彦氏だ。
Twistlockについて簡単に紹介してください。
野原:Twistlockは2015年創業のベンチャーで本社はポートランドに、開発拠点がロンドンとイスラエルにあります。去年のInteropで、Best of Show Awardのセキュリティ部門のグランプリを取りました。他にもNISTが公開しているコンテナセキュリティに関するガイドラインの執筆者が在籍しているというところも、セキュリティに関しては深い知識を持っているということの現れではないかと思っています。
Twistlockのコンテナセキュリティの特徴は何ですか?
野原:コードを書くプロセスからビルドする段階、そして最後に実装される部分までトータルにセキュリティを実現できるところは、他のセキュリティベンダーと変わらないところだと思います。Twistlockの特徴的なところは、セキュリティを実現するソフトウェア自身がクラウドネイティブであるというところだと思います。
「セキュリティを実現するソフトウェアがクラウドネイティブ」の意味は?
野原:簡単に説明すると、コンテナを監視するモジュール、これはTwistlockでは「Defender」と呼ばれるものですが、これがコンテナとして実装されています。そして個々のコンテナのランタイムに、Twistlockが開発したSHIMを挿入することで、コンテナの入出力やネットワークアクセスなどを監視する形になります。
そしてDefenderがカーネルモードで実行されないというのも大きな特徴と言えるでしょう。Defenderはノードに対して1つ実行され、それをモニタリングするTwistlock Consoleというダッシュボードに当たるプロセスも、コンテナとして実行されます。
コンテナとしてエージェントが稼働するというのは理解できるのですが、コンテナのランタイムにSHIMを挿入してコンテナのやっていることを収集するということですか?
野原:そうです。具体的にはrunCのバイナリーが呼ばれてコンテナを起動しようとする時に、このSHIMがDefenderと通信を行って、そのコンテナが予め定義された実行ルールに反していないかをチェックします。チェックの結果がOKであればコンテナが起動され、NGであればコンテナの起動を停止するという動きをします。またコンテナの動きはシステムコール、ファイルへのI/O、ネットワークアクセスなどを機械学習して、変化をモニタリングすることでおかしな挙動を検知することができます。これはクラウド側ではなくオンプレミスのプロセスとして実行されます。カーネルモードで実行しないということを、セキュリティを高めるための大前提としているのがTwistlockの発想です。
カーネルモードを使わない、必要なプロセスはコンテナで動かす、ランタイムにSHIMを挿入してモニタリングする、というのが基本ということですね。
野原:それに加えて、サービスメッシュやマイクロサービスにも対応するファイアーウォールがあります。これはノード間のEast-Westのトラフィックを自動的に検知して、ネットワークトポロジーを表示したり機械学習を使って不審な挙動を見つけたりするということができます。ここについても、クラウドネイティブなシステムとして開発されている部分と言えます。特にマニュアルではなく、自動的にそれを発見するというのがクラウドネイティブ的だなと。
ノード単位でDefenderがデプロイされてセキュリティを実装するということですが、ということはライセンス的にはそのノードの数で課金される、ということですか?
野原:そうですね。ノードの上で実行されるコンテナの数には関係なくDefenderの数です。パブリッククラウドにもすでに対応していまして、AWSだとマーケットプレイスからクリックするだけで実装することが可能です。
ライセンスがDefenderの数ということですが、サーバーが増加した際などに購入したライセンス数以上になったらどうなりますか?
野原:それは自己申告でライセンス数を追加購入していただくという形ですね。そのため、例えばECサイトに導入して、急なトラフィック増に対応してノード数を増やしたとしても、使えなくなるということはありません。
脆弱性の情報などを使ってイメージをスキャンするなどの機能はありますか?
野原:それも実装されています。現在は30以上の情報ソースから脆弱性の情報を収集しており、それをコンソールから確認することができます。またCI/CDのツールとも連携しているので、例えばJenkinsの画面に「脆弱性が発見された」というメッセージを送ることもできます。デベロッパーが普段から使っているツールと連携して、通常のプロセスの中にセキュリティを高めるための仕組みを組み込めるようになっています。
マクニカがコンテナのセキュリティソリューションとしてTwistlockを選んだのはなぜですか? 他にもいくつかソリューションはあると思いますが。
辻:実際には複数のベンダーのソリューションを検討しました。最初に検討したベンダーはnuVectorでしたが、その当時はまだポイントソリューションという評価でした。それに比べてTwistlockは、かなり包括的なソリューションを提供しているというところと、先ほど野原も説明したようにクラウドネイティブなアーキテクチャーであるという部分が大きかったですね。
また多少主観的な評価になりますが、技術的な問い合わせへの回答が迅速だったという点もありました。その他にもいくつかポイントがありましたが、総合的に判断してTwistlockを選んだということです。
技術的な問い合わせに対して対応が速かったというのはエンタープライズ企業にとっても重要なポイントですね。
辻:それと、社内にNISTのコンテナセキュリティのガイドラインを書いている人がいるというのも大きなアドバンテージだったような気がします。それぐらいよく理解しており、業界にも認知されているということですから。
ビジネスという部分では、まだこれから国内の企業に向けて認知を拡大するというのがマクニカの戦略ということだが、徐々にKubernetesが本番環境に導入されていくことを考えると、先進的な企業であればすでに調査を始めていると思われる。これからどれくらい製品の優位性を訴求できるのかを注視していきたい。