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

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

松下 康之 - Yasuyuki Matsushita

2018年2月6日 6:00

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の動向を注目していきたい。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30