Kubernetes ネットワーク ポリシーの基礎

Kubernetes ネットワーク ポリシーの基礎

[[436076]]

Kubernetes を通じてアプリケーションをデプロイする前に、Kubernetes ネットワーク ポリシーを理解することが基本的な要件です。

Kubernetes を介して本番環境にデプロイされるクラウドネイティブ アプリケーションがますます増えるにつれて、セキュリティは早い段階で考慮する必要がある重要なチェックリストになります。クラウドネイティブ アプリケーションを設計するときは、事前にセキュリティ ポリシーを埋め込むことが重要です。これを怠ると、後で安全上の問題が発生し、プロジェクトの遅延を引き起こし、最終的には不必要なストレスと費用が発生する可能性があります。

長年にわたり、セキュリティはデプロイメントが本番環境にリリースされる直前まで先延ばしにされてきました。この慣行は、すべての組織が遵守すべきセキュリティ標準があり、それが無視されたり遵守されなかったりして、成果物を達成するために多くのリスクを負うことになるため、プロジェクトの納品の遅延につながります。

Kubernetesの実装を学び始めたばかりの方、Kubernetesの理解ネットワークポリシーネットワークポリシーそれは気が遠くなるかもしれません。ただし、これは、アプリケーションを Kubernetes クラスターにデプロイする前に理解しておく必要がある基本的な要件の 1 つです。 Kubernetes とクラウドネイティブ アプリケーションについて学習する際には、「セキュリティを置き去りにしないでください」ということを忘れないでください。あなたのマントラ。

ネットワークポリシーの概念

ネットワークポリシーネットワークポリシーデータセンター環境でよく使用されるファイアウォールデバイスを置き換えます。ポッドポッドコンピューティングインスタンス、ルーターとスイッチへのネットワークプラグイン、およびストレージエリアネットワーク (SAN) へのボリューム。

デフォルトでは、Kubernetesネットワークポリシーはポッドポッドどこからでもトラフィックを受信します。ポッドのセキュリティを気にしないのであれば、これで問題ないかもしれません。ただし、重要なワークロードを実行している場合は、ポッドを保護する必要があります。クラスター内のトラフィック (入力トラフィックと出力トラフィックを含む) の制御は、ネットワーク ポリシーを通じて実現できます。

ネットワーク ポリシーを有効にするには、ネットワーク ポリシーをサポートするネットワーク プラグインが必要です。そうしないと、適用したルールが役に立たなくなります。

Kubernetes.io にはさまざまなネットワーク プラグインがリストされています。

  • CNIプラグイン: フォローコンテナネットワークインターフェースコンテナネットワークインターフェース相互運用性の実現を目的とした CNI 仕様。
    • Kubernetes は CNI 仕様のバージョン v0.4.0 に準拠しています。
  • Kubernetes プラグイン: ブリッジとホストネイティブの CNI プラグインを使用して基本的なcbr0を実装します。

ネットワークポリシーの適用

ネットワーク ポリシーを適用するには、ネットワーク ポリシーをサポートするネットワーク プラグインを備えた稼働中の Kubernetes クラスターが必要です。

ただし、まず、Kubernetes 環境でネットワーク ポリシーを使用する方法を理解する必要があります。 Kubernetes ネットワーク ポリシーにより、ポッドはどこからでもトラフィックを受信できるようになります。これは理想的な状況ではありません。ポッドのセキュリティを確保するには、ポッドが Kubernetes アーキテクチャ内で通信できるエンドポイントであることを理解する必要があります。

1. ポッド間の通信にはpodSelectorを使用します。

  1. - namespaceSelector :
  2. matchLabels :
  3. project : myproject

2. 名前空間間の通信および名前空間とポッド間の通信には、 namespaceSelectorおよび/またはpodSelectornamespaceSelectorの組み合わせを使用します。 :

  1. - namespaceSelector :
  2. matchLabels :
  3. project : myproject
  4. - podSelector :
  5. matchLabels :
  6. role : frontend

3. ポッドの IP ブロック通信の場合、 ipBlockを使用して、送信元と宛先を決定する IP CIDR ブロックを定義します。

  1. - ipBlock :
  2. cidr : 172.17 . 0.0 / 16
  3.         except :
  4.         - 172.17 . 1.0 / 24

ポッド、名前空間、IP ベースのポリシーの違いに注意してください。ポッドベースおよび名前空間ベースのネットワーク ポリシーでは、セレクターを使用してトラフィックを制御しますが、IP ベースのネットワーク ポリシーでは、IP ブロック (CIDR 範囲) を使用して制御を定義します。

すべてをまとめると、ネットワーク ポリシーは次のようになります。

  1. apiVersion : networking . k8s . io / v1
  2. kind : NetworkPolicy
  3. metadata :
  4. name : test - network - policy
  5.   namespace : default
  6. spec :
  7. podSelector :
  8. matchLabels :
  9. app : backend
  10. policyTypes :
  11.   - Ingress
  12.   - Egress
  13. ingress :
  14.   - from :
  15.     - ipBlock :
  16. cidr : 172.17 . 0.0 / 16
  17.         except :
  18.         - 192.168 . 1.0 / 24
  19.     - namespaceSelector :
  20. matchLabels :
  21. project : myproject
  22.     - podSelector :
  23. matchLabels :
  24. role : frontend
  25. ports :
  26.     - protocol : TCP
  27. port : 6379
  28. egress :
  29.   - to :
  30.     - ipBlock :
  31. cidr : 10.0 . 0.0 / 24
  32. ports :
  33.     - protocol : TCP
  34. port : 5978

上記のネットワークポリシーを参照し、 spec部分に注意してください。このセクションでは、ラベルapp=backendを持つpodSelectorネットワーク ポリシーのターゲットになります。つまり、ネットワーク ポリシーは、 backend呼ばれる特定の名前空間内のアプリケーションを保護します。

このセクションでは、 policyTypesも定義されています。このフィールドは、特定のポリシーが、選択したポッドへの入力トラフィック、選択したポッドへの出力トラフィック、またはその両方に適用されるかどうかを示します。

  1. spec :
  2. podSelector :
  3. matchLabels :
  4. app : backend
  5. policyTypes :
  6.   - Ingress
  7.   - Egress

次に、 IngressEgressセクションを見てみましょう。この定義は、ネットワーク ポリシーの制御を指定します。

まず、 ingress fromセクションを確認します。

この例では、ネットワーク ポリシーにより、次の場所からのポッド接続が許可されます。

  • ipBlock
    • 172.17.0.0/16 を許可する
    • 192.168.1.0/24を拒否
  • namespaceSelector
    • myproject : この名前空間から同じラベル project=myproject を持つすべてのポッドを許可します。
  • podSelector
    • frontend : ラベルrole=frontendに一致するポッドを許可します。
  1. ingress :
  2. - from :
  3.   - ipBlock :
  4. cidr : 172.17 . 0.0 / 16
  5.       except :
  6.       - 192.168 . 1.0 / 24
  7.   - namespaceSelector :
  8. matchLabels :
  9. project : myproject
  10.   - podSelector :
  11. matchLabels :
  12. role : frontend

次に、 egress toセクションを確認します。これにより、ポッドからの送信接続が決定されます。

  • ipBlock
    • 10.0.0.0/24: この CIDR への接続を許可する
    • ポート: TCP とポート 5978 を使用した接続を許可する
  1. egress :
  2. - to :
  3.   - ipBlock :
  4. cidr : 10.0 . 0.0 / 24
  5. ports :
  6.   - protocol : TCP
  7. port : 5978

ネットワークポリシーの制限

ネットワーク ポリシーだけでは Kubernetes クラスターを完全に保護することはできません。既知の制限を克服するには、オペレーティング システム コンポーネントまたはレイヤー 7 ネットワーク テクノロジを使用できます。ネットワーク ポリシーは、IP アドレスとポート レベル、つまり、オープン システム相互接続 (OSI) アーキテクチャのレイヤー 3 または 4 のセキュリティのみに対応することを覚えておく必要があります。

ネットワーク ポリシーで処理できないセキュリティ要件に対処するには、他のセキュリティ ソリューションを使用する必要があります。ここでは、ネットワーク ポリシーを他のテクノロジーで拡張する必要がある、知っておく必要のあるユース ケースをいくつか示します。

要約する

Kubernetes ネットワーク ポリシーを理解することは重要です。これは、データ センター環境で通常使用するファイアウォール ロールを Kubernetes 用に適応させて実装する方法 (置き換えるのではなく) であるためです。これをコンテナ セキュリティの最初のレイヤーと考えてください。ネットワーク ポリシーだけに頼るのは完全なセキュリティ ソリューションにはなりません。

ネットワーク ポリシーは、セレクターとラベルを使用して、ポッドと名前空間にセキュリティを実装します。さらに、ネットワーク ポリシーでは IP 範囲ごとにセキュリティを強制できます。

ネットワーク ポリシーを適切に理解することは、Kubernetes 環境でコンテナ化を安全に導入するための重要なスキルです。

<<:  Kubernetes のマルチコンテナ Pod 設計パターン

>>:  AWS、GCP、Azure との交渉時に避けるべき 6 つのリスク

推薦する

オンサイト SEO とウェブサイトのコンテンツではどちらがより重要ですか?

外国貿易情報についてもっと学んでいますか? 質の高いサプライヤーを探していますか? より多くの人にあ...

温州市でまたもや大規模な「リベート」ねずみ講事件が発覚。被害額は10億円に上る

6月初旬、温州市で近年最大規模の違法ねずみ講事件が発生した後(詳細は本紙6月6日付A4面参照)、同市...

Yecao Cloud: 香港専用サーバー 299元/月、香港VPS 年払い 138元、全トラフィック無制限

Yecao Cloudは年末に香港独立サーバーと香港VPS向けのプロモーションを準備しており、BGP...

onevps: 3.6 ドル / 512m メモリ / 20g SSD / 1Gbps 無制限トラフィック / 日本国内 7 データセンター

onevps は Think Huge Ltd. の VPS サブブランドです。主に KVM 仮想化...

hostodo-15 USD/年/KVM/256 MB RAM/Windows サポート

Hostodo は、前回のプロモーション [hostodo - 30% オフ (KVM)/Windo...

テンセントクラウドと海雲傑雲が協力し、より良い未来を創造するハイブリッドクラウドを構築

4月初旬、「テンセントクラウドソリューション推進会議」が武漢で成功裏に開催されました。海雲捷運はパー...

Redis 分散ロック

[[405785]]分散ロックは「スレッド同期」の延長です最近、「分散ロック」が初めて適用されました...

外部リンクサンドボックスと出力サンドボックスについての簡単な説明

外部リンク サンドボックスと出力サンドボックスの存在、および外部リンク サンドボックスよりも出力サン...

工場技術者からSEOになるまでの4年間の苦い物語

今日、私は「初心者ウェブマスターのウェブサイト構築経験は SEO 記事よりも価値がある」という記事を...

個人ウェブマスター向けブランドポジショニングマーケティングの簡単な分析

ここ数日、ポジショニングについて学んできました。今日は、個人ウェブマスターがそれぞれの分野でポジショ...

raksmart: 無制限トラフィックの VPS、月額 2 ドルから、米国 VPS、香港 VPS、日本 VPS、韓国 VPS

Raksmart は、米国での無制限トラフィック VPS、香港での無制限トラフィック VPS、日本で...

SEO に必須のウェブマスター ツール

SEO担当者として、私たちは日々データ分析を行う必要があり、データ分析の方法は、一般的に使用されてい...

検索エンジンの観点からウェブサイトの最適化手法を分析

月給5,000~50,000のこれらのプロジェクトはあなたの将来です本日、小小科堂 SEO 独習ネッ...

プロフェッショナルウェブサイトのユーザーロイヤルティを向上させる方法

専門業界のウェブサイトでのプロモーションでは、トラフィックが前提条件であり、訪問者の忠誠心が重視され...

多様なトラフィックソース: ウェブサイトのトラフィックソースは単一ではありません

2012 年は静かに過ぎ去り、SEO 担当者は世界の終わりの試練を経験し、2013 年という新しい年...