PR

新しいセキュリティアプローチ、CalicoとIstio、Kubernetesによるゼロトラストネットワークとは

2018年2月6日(火)
松下 康之
ITシステムの中心がコンテナとなる時代の新たなセキュリティパラダイム「ゼロトラストネットワーク」とは。

Linux Foundationと協調するプロジェクトとして2015年に設立されたCloud Native Computing Foundation(以下、CNCF)は、テキサス州オースチンにてKubeCon+CloudNativeConを2017年12月5日~8日の日程で開催した。これまでキーノートやコンテナランタイムに関して紹介してきたが、今回は数あるセッションの中からマイクロサービス内のセキュリティを高めるためのアプローチ「Zero Trust Network」について紹介しよう。まずサンフランシスコのベンチャーであるTigeraのエンジニアが行った5分間のプレゼンテーションについて紹介した後で、より詳細な解説としてZero Trust Networkを実現するためのIstio、Kubernetes、Calicoに関するセッションを紹介する。

5分という短い時間の中で紹介を行ったのは、Calicoの開発をリードするTigeraのSpike Curtis氏だ。ちなみにTigeraは、MetaswitchでSoftware Defined Networkとして開発されていたCalicoがオープンソースソフトウェアとして公開された後に、その開発を推進している会社だ。Tigeraは他にもCoreOSが開発を行うコンテナネットワークのプロジェクトであるflannel、そしてKubernetes、CNI(Container Network Interface)などにもコントリビューションを行っているという。コンテナやネットワーク関連に経験があるだろうということは充分に理解できる。

プレゼンテーションを行うTigeraのSpike Curtis氏

プレゼンテーションを行うTigeraのSpike Curtis氏

Curtis氏は、これまでのモノリシックなアプリケーションを実行してきたデータセンターが、Kubernetesによってマイクロサービス化されてきたために、セキュリティに対する要件が変わってきたことを解説した。つまりアプリケーションの前にファイアウォールを置いて、外と中を隔離する方法では充分なセキュリティを確保できなくなったということだ。これは悪意のあるプロセスが一旦、中に入ってしまえば、ファイアウォールなどの前方を守る壁は役に立たないということを解説したものだ。

マイクロセグメンテーションによるセキュリティの実装

マイクロセグメンテーションによるセキュリティの実装

そして次の流れとしては、隔離するエリアを細かく分ける「マイクロセグメンテーション」に向かうと語った。これは守るべき領域を狭めて、プロセスが攻撃されないように守るという方法論だ。しかし「ではネットワークトラフィック自体がどこかでキャプチャーされたら? その時はもうなにもできない」と説明して、マイクロサービスの間を流れるネットワークトラフィックが暗号化されている必要がある点を強調した。その場合、エンドツーエンドで暗号化(mTLS=Mutual TLS)を行うことが必要となり、それを実現できるのがIstioであると説明。特にアプリケーションを何も変更せずに暗号化できるところが、Istioの良さであると解説した。

具体的には、システム的にはKubernetesの実行の単位であるPodに対して、CNCFがホストする別のプロジェクトであるEnvoyというProxyサーバーをPodの中に配置し、Pod間を行き来するトラフィックをEnvoyで中継した上でPodの中のコンテナに渡すという構造を取る。この際、Envoy間の通信が全てmTLSによって暗号化されるという。このPodの中にEnvoyを配置することは「Sidecar」と呼ばれる。対象となるコンテナのすぐ横で実行されているということを表現しているが、実に分かりやすい表現だ。

Istioによるトラフィックの暗号化

Istioによるトラフィックの暗号化

IstioによってPod間の通信は暗号化され、マイクロサービスであってもセキュリティは確保できることになる。しかしKubernetesとIstioの両方を、必要とするセキュリティポリシーに従ってセットアップするのは難しい、そのためにSDNであるCalicoを使ってその双方を統合する、というのが今回のメインのトピックだ。またKubernetesのネットワークポリシーに沿ったCalicoの設定を行うことで、管理者にとって負担が減ることが説明された。

なおCalicoに関しては、Tigeraの事例としても紹介されているヤフージャパンのエンジニアが書いたブログが参考になるだろう。

参考:CalicoによるKubernetesピュアL3ネットワーキング

「ゼロトラストネットワーク」と言う命名については、データセンターの中のネットワークですら常に危険に晒されている、つまり信頼できるものは何もない(ゼロトラストである)という発想で設計すべき、というのがCurtis氏の主張だ。「全てのデバイス、プロセス、ネットワークが暗号化され認証されることで、ハッカーからのアタックを避けることができる」と語った。

プレゼンテーションの最後にあるCalicoのアプリケーションポリシーについては、以下を参照されたい。より詳細に理解ができるだろう。

Calico Application Layer Policy Preview

この5分間のトークをより詳細に掘り下げる解説とデモを行ったのが、次に紹介するセッションだ。

Istio: Sailing to a Secure Services Mesh [I] - Spike Curtis

これはキーノートでの解説を行ったTigeraのCurtis氏とIBMのDan Berg氏によるセッションで、より詳細にCalicoを使ってKubernetesとIstioによるセキュアなコンテナ通信の実装を解説するものだ。実際にデモとして、上述のリポジトリーにも記述されているデモ環境を実演した。これはオンラインバンキングのサイトをハックした上で、Calicoのネットワークポリシーによってデータの改竄が行えなくなるところを実演するもので、非常に分かりやすいものになっている。

他にもIstio関連の動画がいくつかあるので参考にして欲しい。

Setting Sail with Istio [B] - Lachlan Evenson

IoK: Istio-on-Kubernetes Deep Dive [I] - Daneyon Hansen

今回のKubeConで様々なプレゼンテーションやデモを見て感じたのは、複数のプロセスが協調して稼働することで、スケーラブルで信頼性の高いシステムを構築する、つまりはクラウド的なシステムを構築するということが、いよいよエンタープライズにも近づいてきたということだ。中心となるKubernetesもIstioもTigeraのCalicoも、シンプルながらも複数のプロセスが協調して動くことで目的を達成する。まるでインターネット全体が縮小コピーされてクラスターの中に再現されているような錯覚に陥るのだ。

DNSやスケジューラーを持つKubernetes、IstioではPodの中にインジェクションされたEnvoyというProxyサーバーと暗号化に必要なCA(Certification Authority)という構造、CalicoがBGPを使い、Raftによるマスターを持たないコンセンサス合意を行う辺りにも、インターネットの構造が模写されているように見える。そしてそれを補完する様々なプロジェクト、企業、サービス、そして何よりもエンジニアが集まって来ていることで、エンタープライズにとって柔軟でありつつ、自動に修復する堅牢さを持つシステムが姿を現して来ているような気がする。パブリッククラウドの大手3社、AWS、Microsoft、Googleが肩入れするのも、中国のベンダーが積極的なのもそこに未来があると信じているからではないだろうか。引き続き、CNCFの動向を注目していきたい。

フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第5回

KubeCon+CloudNativeCon、大手からベンチャーまで活気のあるブースを紹介

2018/2/8
KubeCon+CloudNativeConレポート最終回は、活気に満ちあふれたブースのようすを紹介する。
クラウドイベント
第4回

新しいセキュリティアプローチ、CalicoとIstio、Kubernetesによるゼロトラストネットワークとは

2018/2/6
ITシステムの中心がコンテナとなる時代の新たなセキュリティパラダイム「ゼロトラストネットワーク」とは。
クラウドイベント
第3回

Intelが中国のベンチャーHyperと共同で開発を進める新しいコンテナランタイムKataを公開

2018/2/2
Intelと中国のベンチャーと組んで開発する新しいコンテナランタイムKataがKubeConで紹介された。

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています