コンテナ対応のマイクロセグメンテーション - 守るべき新しい領域
Table of contents
背景 - コンテナ/マイクロサービスの台頭とセキュリティ課題
昨今、アプリケーション開発の手法が大きく変わってきました。モノリシックなアプリケーションから、コンテナ化されたマイクロサービスアーキテクチャへとシフトしています。これにより開発の敏捷性と運用の柔軟性が大幅に向上しましたが、その一方でセキュリティ上の新たな課題が生じています。
従来のセキュリティアプローチでは、ネットワークのゲートウェイやホストベースのファイアウォールでアプリケーションを守ってきました。しかしコンテナ化されたマイクロサービスでは、数多くのコンポーネントが柔軟に組み合わされ、そのインスタンスも動的に増減します。このようなアーキテクチャにおいては、従来のアプローチでは適切な粒度でセキュリティを確保することが困難になってきました。
マイクロセグメンテーションの台頭
こうした課題に対処するために注目を集めているのが、マイクロセグメンテーションと呼ばれるアプローチです。マイクロセグメンテーションでは、ネットワークを細かい単位に分割し、各マイクロセグメント間の通信を詳細に制御することで、マイクロサービスのセキュリティを確保しようというものです。
マイクロセグメンテーションは、従来のネットワークセグメンテーション(マクロセグメンテーション)とは異なり、より細かな粒度でのセキュリティポリシーを適用することが可能です。単一のサーバーやコンテナ、さらにはプロセスレベルでのセグメンテーションが実現できるのが大きな特徴です。
エンドポイントセキュリティやマクロセグメンテーションとの違い
従来のエンドポイントセキュリティ製品やファイアウォール製品との最大の違いは、マイクロサービスアーキテクチャにおけるセキュリティ粒度の違いです。エンドポイントセキュリティ製品はホスト単位、ファイアウォールはサーバー/仮想マシンなどの単位でセキュリティポリシーを適用するのに対し、マイクロセグメンテーション製品はコンテナやマイクロサービスの単位でポリシーを設計・適用できます。
また、従来のネットワークセグメンテーション製品(マクロセグメンテーション)とも異なり、マイクロセグメンテーション製品では細かいレイヤー(L7など)でのポリシー設定や、自動ポリシー生成による運用の自動化など、マイクロサービスに特化した機能を備えています。
今後の展望
コンテナ/マイクロサービスアーキテクチャはますます普及が進み、その重要性から、マイクロセグメンテーションの需要も高まっていくことが予想されます。ユーザー企業においては、自社のマイクロサービス戦略に合わせ、最適なマイクロセグメンテーション製品の選定が重要になってくるでしょう。一方でベンダー各社も、さらなる機能拡張やパフォーマンス向上、運用の自動化など、ますます高度化していくことが見込まれます。
マイクロサービスを適切に守るための新たなセキュリティアプローチとして、マイクロセグメンテーションに注目が集まる中、この分野はさらなる進化が期待されています。
比較ポイント:
- 価格: オープンソースと商用製品があり、それぞれ価格モデルが異なります。導入コストや運用コストを考慮して比較しましょう。
- 導入の容易性: 製品によっては導入が複雑なものもあります。導入に必要なスキルやリソース、導入支援の有無を確認しましょう。
- 運用管理の容易性: ポリシー管理やモニタリングなどの運用管理が容易な製品を選びましょう。GUIの使いやすさや自動化機能の有無なども重要です。
- コミュニティとサポート: オープンソース製品の場合、コミュニティの活発さやサポート体制を確認しましょう。商用製品の場合、ベンダーのサポート体制やSLAを確認しましょう。
オープンソースのマイクロセグメンテーション製品の詳細な特徴について説明
Calico:
- Kubernetes、OpenShift、Docker等の主要コンテナ環境に対応
- ネットワークポリシーの設定が柔軟で、L3/L4のルールだけでなくL7までカバー可能
- BGPルーティングにより大規模環境でもスケーラビリティが高い
- CNIプラグインとして動作し、カーネルレベルでポリシーを適用するため高速
Cilium:
- eBPF(拡張Berkeley Packet Filter)を活用し、カーネル経由でポリシーを適用するため高速
- L3~L7までの詳細なネットワークポリシー制御が可能
- API認証やレート制限等の高度なセキュリティポリシーを適用可能
- 可視化機能も提供し、サービス間の依存関係をマッピング
Project Antrea:
- Kubernetes用にデザインされたCloud Nativeなマイクロセグメンテーションソリューション
- OVS+OpenvSwitchのデータプレーンで動作し、高パフォーマンス
- Kubernetes NetworkPolicyやAntrea拡張ポリシーにより詳細なポリシー制御が可能
- アンチリアフロー、IPSecなどセキュリティ機能も統合
OpenStack Security Groups:
- OpenStackクラウド向けのマイクロセグメンテーション機能
- セキュリティグループとルールの設定でトラフィックを制御
- L3/L4レベルでのシンプルな制御が可能
Istio:
- サービスメッシュの一種で、コンテナ/マイクロサービスアーキテクチャ向け
- L4~L7までの詳細なトラフィック制御とセキュリティが可能
- Sidecarプロキシ経由でサービス間通信を制御
Weave Net:
- Kubernetes用のCNIネットワークプラグイン製品
- ネットワークポリシーで、ポッドレベルのトラフィック制御が可能
- NATによるIPアドレス割り当てとルーティングを実現
- DNATを活用したポートマッピングにも対応
以上の通り、それぞれ異なる特徴とユースケースを持っています。組織の要件に合わせて、機能性、パフォーマンス、運用性などを総合的に判断し、最適な製品を選択する必要があります。
マイクロセグメンテーション製品についても、特徴を含めてまとめておきます
Illumio Core:
- アプリケーション依存関係のマッピングと可視化が自動で可能
- ポリシーの導出と適用を自動化できるため運用負荷が軽減
- マルチクラウド、ハイブリッドクラウド環境に対応
- パケットキャプチャやフォレンジック機能を備える
VMware NSX:
- VMwareの仮想化環境に最適化されたマイクロセグメンテーション
- NSXのDistributed Firewallでネットワークの制御が可能
- NSXのクロスVCクラスタや複数のVXLAN対応
- VMware vRealize Network Insightと連携し可視化
Cisco ACI:
- Cisco SDNファブリックの一部としてマイクロセグメンテーション機能を提供
- 物理ネットワークと仮想ネットワークの一元管理が可能
- アプリケーションプロファイルによるポリシー設定が簡単
- Ciscoセキュリティポートフォリオとの連携が可能
Guardicore Centra:
- アプリケーション可視化とセグメンテーションを統合
- 自動生成ポリシーと手動調整の両立が可能
- マルチクラウドとハイブリッド環境に対応
- 外部システムとの連携やカスタムスクリプトの実行が可能
ColorTokens:
- クラウド、コンテナ、オンプレミス環境に対応
- ブロックストレージレベルの暗号化によるデータ保護
- ユーザー/エンティティの認証と可視化が可能
- SOC/SIEMとの連携でインシデント対応もサポート
これらの製品は、大手ベンダーから専門ベンダーまで様々で、機能の違いや対応環境が異なります。価格モデルや提供サービス、サポート体制なども考慮し、自社の要件に合った製品を選定する必要があります。