FIPS 140-3の有効化
FIPS 140-3は、米国の連邦政府のセキュリティ標準であり、暗号モジュールの承認に使用されます。この文書は、RKE2がFIPS検証済みの暗号ライブラリで構築されている方法を説明します。
準拠の検証は以下で利用可能です:FIPS 140-3検証済み。
FIPS互換のGoコンパイラの使用
使用されているGoコンパイラは、 こちらで見つけることができます。システムの各コンポーネントは、通常使用される標準のGoコンパイラバージョンと一致するこのコンパイラのバージョンで構築されています。
このGoのバージョンは、標準のGo暗号ライブラリをFIPS検証済みのBoringCryptoモジュールに置き換えます。詳細については、 GoBoring READMEを参照してください。このモジュールは、広範なシステムにおける BoringCryptoモジュールとしてNISTによって検証されています。
ランタイム
全体のアーキテクチャがFIPS 140-3準拠のアルゴリズムを利用することを保証するために、RKE2ランタイムユーティリティはFIPS対応のGoコンパイラで静的にコンパイルされています。これにより、Kubernetesデーモンからコンテナオーケストレーションメカニズムまで、スタックのすべてのレベルでの準拠が保証されます。
-
etcd
-
containerd
-
containerd-shim
-
containerd-shim-runc-v1
-
containerd-shim-runc-v2
-
ctr
-
-
crictl
-
runc
CNI
RKE2は、`--cni`フラグを使用して代替CNIを選択することをサポートしています。それには、Canal(デフォルト)、Calico、Cilium、Multusなど、いくつかのオプションがバンドルされています。ただし、FIPS準拠のために再構築されているのはCanalのみです。
Ingress
RKE2には、ingress-nginxとTraefikの2つのイングレスコントローラーが付属しています。どちらもFIPS準拠です。
ingress-nginxコントローラーと完全なTraefikスタック(コントローラーとプロキシサーバー)はGoで記述され、FIPS互換のGoコンパイラを使用してコンパイルされています。
Ingress-nginxは、Cで記述され、適切に機能するためにOpenSSLに依存するnginxプロキシサーバーを使用しています。その結果、FIPS準拠を達成するためにFIPS検証済みのOpenSSLバージョンを活用しています。
|
ingress-nginxコントローラーは2026年3月にサービス終了(EOL)となります。 SUSE® Rancher Prime: RKE2ユーザーは、RKE2 v1.32、v1.33、v1.34、v1.35、v1.36のライフサイクル全体にわたってサポートとCVE修正(8+)を受け続けます。 スタンドアロンRKE2クラスターにおけるIngress-NGINXからTraefikへの移行ガイドに従ってTraefikに切り替えることをお勧めします。 |