コンテナ時代のネットワークセキュリティ
One of the good things about being in the industry for many years is the fact that we can observe how network security trends in the data center have evolved and somewhat predict what is coming next, based on common patterns and intuition.
ネットワークとセキュリティの境界が変化している
15年前、データセンターのネットワークセキュリティは非常に単純でした。レイヤー2プロトコルは、その領域で絶対的な王様であり、ファイアウォールはインターネットやWAN接続を保護するためにエッジに置くことができました。特定のアプリケーションのサーバーはすべて同じラックに接続されており、インフラストラクチャの異なる部分間の境界は明確に定義されていました。これをセグメント化するのは非常に簡単でした。

数年後、これらすべてのサーバーを統合し、接続を簡素化するために、シャーシ サーバーとブレード サーバーが徐々に普及し、サーバーを管理する人とネットワークとセキュリティの責任者との間に、ネットワークとセキュリティの境界に最初のシフトが生まれました。これらのシャーシの接続モジュールの責任者は誰で、セキュリティアプライアンスはどこに挿入すればよいのでしょうか?ほとんどの場合、ネットワークモジュールはシャーシ内で最も重要度の低いモジュールとなり、ネットワークやセキュリティインフラストラクチャの残りの部分に接続するのは常に悪夢でした。

But this battle was upstaged by a new technology. VMware’s ESX hypervisor quickly democratized the ability to share the same hardware server to run many virtual servers. And as a result, to connect these virtual servers together, the network had to shift once again in a different place: within the hypervisor. Shifts began as a very simple virtual switch, but quickly expanded to layer 3 services and, eventually, security.

また、データセンターのインフラストラクチャが進化したにもかかわらず、パブリッククラウドは、完全に自動化され、非常に機敏なさまざまなサービスをエンタープライズ市場に提供するために台頭し始めました。開発者が、インフラストラクチャの管理の複雑さに対処することなく、スケーラブルで可用性の高いサービスを提供できるこの新しい抽象化されたインフラストラクチャの価値を理解するのに時間はかかりませんでした。

数年前、軽量でポータブルで、数秒で簡単に起動または分解できる新しいタイプのワークロード、コンテナが登場しました。コンテナの急増に伴い、開発者は、外部ネットワークやセキュリティインフラストラクチャに依存せずにアプリケーションをスケールアップおよびスケールダウンできるように、これらのコンピューティングリソースをネットワークとともに調整する必要があることにすぐに気づきました。コンテナクラスターは、コンピューティング、ネットワーク、セキュリティを混在させ、ネットワークセキュリティの境界に新たな変化をもたらす新しいインフラストラクチャ要素です。

では、15年間で何を学びましたか?これらすべての進化に共通するパターンは何ですか?
- 開発者は、アプリケーションの開発とテスト中に柔軟性を高めるために常に限界を押し広げているため、ネットワーク セキュリティの境界はコンピューティング層にますます移行しています。
- ネットワークチームとセキュリティチームはゲームに遅れており、せいぜい選択肢やソリューションを推奨することはできますが、ほとんどの場合、アプリケーションまたはクラウドチームによって決定されたものを継承します。
- セキュリティを念頭に置いて考えられ、設計されていない場合、インフラストラクチャのセキュリティ保護は難しくなり、通常、後で追加されるとさらに複雑になります。
コンテナの問題は何ですか?
コンテナとコンテナクラスタは、実際には、ネットワークをソフトウェア層とコンピューティング層にますます移動するこの傾向の例外ではありません。前述したように、これは長年にわたって見られ、ネットワークチームとセキュリティチームがこの傾向を逆転させなければ、状況が変わる理由はありません。
ネットワークとセキュリティの観点から見ると、コンテナは新しいものや未知のものを導入するものではなく、すでにわかっているもの(IP、サブネット、DHCP / DNS、ゾーン、セグメント、カプセル化、NAT、ファイアウォール、またはロードバランサー)を組み合わせるだけですが、すべてがたまたまOS自体にあり、それが1つの基本的な問題です。
IT チームは境界、責任、所有権を好みますが、それはコンテナ クラスターの運用方法とは逆です。それらは自給自足し、組織化され、外の世界から不透明になるように設計されています。一方で、新しいインフラストラクチャを接続して実行するために大規模な設計セッションを必要としないことは素晴らしいニュースです。一方で、これらのクラスター内で何が起こっているかを知らず、理解していない場合、アプリケーションフローをどのように保護できるかについて、実際のセキュリティ上の疑問が生じます。
これを変えるために何ができるでしょうか?
理想的には、開発者はコードを開発し、それを別のチームに引き渡して、拡張性と可用性を考慮して設計されたインフラストラクチャ上で、スタックのすべてのレイヤーでセキュリティを最優先に、徹底的にテストおよび自動化された方法でコードを本番環境にプッシュする必要があります。
多くの組織ではまだその段階に達していないようです。DevOpsチームは開発中の同業他社とつながっていますが、ネットワークチームやセキュリティチームには必ずしも当てはまるとは限らず、コンテナを市場で破壊的なテクノロジーと見なしたいのであれば、それを変える必要があります。
ネットワークおよびセキュリティチームは、インフラストラクチャによって何が転送され、保護されているかを理解することにより多くの時間を費やす必要があります。CI/CDパイプラインとは何かを学び、アプリケーション内で物事がどのように構築されているかについて意見を持ち、アプリケーションが達成できないことを補完するようにセキュリティメカニズムを適応させる必要があります。そのためには、新しいスキルを学び、違いを受け入れ、最初は素晴らしいアイデアではないように思えるかもしれませんが、実際には非常に効率的な新しい概念に対して批判的でありながらオープンマインドであることが必要です。
コンテナは、IT 部門のあらゆる分野の人々が互いに学び合うことを強制するテクノロジーの完璧な例です。
そうでなければ、それは大惨事のレシピです。ネットワークのないコンテナークラスターはなく、セキュリティのない本番環境のコンテナ化されたアプリケーションはなく、セグメンテーションのない共有インフラストラクチャはありません。ネットワークチームとセキュリティチームは、この機会を利用して、新しいやり方を学び、ソフトウェアで物事がどのように実行できるかを理解することにより多くの時間を費やし、アプリケーション層にサービスを提供するシンプルで安全かつ安定した設計を提案することで、ネットワーク層とセキュリティ層のオーナーシップを取得する必要があります。
どこから始めればよいでしょうか?
万能の答えとなる魔法の弾丸や秘密兵器は明らかにありません。しかし、チームを成功に導くのに役立つアイデアをいくつか紹介します。
あなたの敵について知りましょう: 開発者とDevOpsチームは、ネットワークチームやセキュリティチームの敵ではありません。それらはすべて、ビジネスという同じ目的を果たしています。しかし、他のチームが何をしているのかを知らなければ、グループとしてより良くするために何ができるかを理解するのは困難です。コンテナ クラスターのような複雑なインフラストラクチャを構築するには、特にセキュリティに関して、絡み合った意思決定が必要です。
知識を習得する: 誰もすべてを知っているわけではありませんが、誰もが何でも学ぶことができます。インフラストラクチャの一部の領域で軽くすることは問題ありませんが、物事がどのように行われるか、またはどのように行われるべきかを学ぼうとしないのは絶対に問題ありません。コンテナ、オーケストレーションプラットフォーム、サービスメッシュは、アプローチが簡単ではありません。新しい用語や概念に慣れるまでには時間がかかりますが、理解の敷居を越え、その知識を行動に移すことができるときは、とてもやりがいがあります。
ネットワークはネットワークであり、セキュリティは普遍的です。 コンテナークラスターは、相互に通信する IP アドレス (コンテナに関連付けられている) の集合であることに注意してください。また、アプリケーションは世界に公開されずにコンテナクラスター内に存在することを意図していないため、世界への扉を開くという概念が生まれます。ネットワークおよびセキュリティエンジニアは、クラスターの一方の端からもう一方の端へのフローと、このクラスターとの間でパケットを送受信する責任があります。コンテナクラスター内で何かが侵害された場合、侵害の拡大を回避するために監視、対応、対応するのはネットワークセキュリティチームの責任です。はい、コンテナクラスターはネットワークとセキュリティに対して異なるアプローチを持っていますが、それでもセグメント化して保護する必要があるネットワークです。
真実を求める: 現状を理解し、挑戦することが重要です。物事が思ったようにうまくいかなくても、大丈夫です。これは、チームとして集団として真実を探し出し、それに同意する必要があることを意味します。よく理解されているテクノロジーは、導入、保護、トラブルシューティングが容易になります。
コンテナ、オーケストレーションプラットフォーム、サービスメッシュは、今日のIT組織で大きな注目を集めており、ネットワークおよびセキュリティエンジニアとして、これらのテクノロジーの概念を理解することが非常に重要です。非常に馴染みのある概念もあれば、非常に奇妙に聞こえる概念もありますが、適切に保護するには、それらが実際にどのように機能するかを知っておく必要があります。
Check out our containers page for more information on how to leverage Illumio for container segmentation.
.png)


