マネージドKubernetesクラスターのベンチマーク機能
1. ベンチマークセキュリティ機能の概要
FPT CLOUD マネージドKubernetesクラスターの情報セキュリティを確保するため、FPT CLOUD は管理者がワーカーノードのkubelet設定をCenter for Internet Security(CIS)推奨のCommon Baselineに基づきベンチマークできる機能を提供します。
CISベンチマークは、Center for Internet Security(CIS)が開発した包括的なセキュリティ構成ガイドラインです。システム、サービス、ソフトウェアのセキュリティに関するベストプラクティスを提供します。
各Kubernetesバージョンにテストケースを適用し、FPT CLOUD のkubelet構成に合わせて調整されています。
テストケースの結果は「合格」「不合格」「警告」の3カテゴリーに分類されます。「合格」は設定がCIS定義のテストケース要件を満たしていることを示します。「不合格」は設定が重大度の高いテストケースに失敗したことを示します。「警告」は設定がテストケースに失敗したが、重大度が低い(設定可能または設定不可)ことを示します。
2. Unify Portalでの機能利用方法:
* 注: マネージド Kubernetes クラスターのセキュリティ強化機能は、クラスターが正常に起動した後(ステータス「成功(実行中)」)に統合されます。
2.1. ベンチマークセキュリティの有効化:
FPT CLOUD ポータルにアクセスし、Kubernetes 項目を選択、ベンチマークが必要なクラスターをクリック、次に「セキュリティ」タブ→「ベンチマークセキュリティ」タブの順に移動して有効化します。
ベンチマークジョブが正常に完了すると、詳細な結果が表示されます。ユーザーはベンチマークを再実行して最新の結果を更新するか、結果を自身のマシンにダウンロードできます。
2.2. ベンチマークセキュリティ機能の無効化
FPT CLOUD コンソールポータル(console.fptcloud.com)にアクセスし、「Kubernetes」を選択します。ベンチマークが必要なクラスターをクリックし、「セキュリティ」タブを選択した後、「セキュリティベンチマーク」タブを選択し、無効化を確認します。
3.1 ランタイムセキュリティ機能の概要
FPT CLOUD マネージドKubernetesクラスターの情報セキュリティを確保するため、FPT CLOUD はランタイムセキュリティ支援ツールを統合した機能を開発しました。これらのツールは、K8Sクラスター内でランタイム層やワーカーノードカーネルにリスクをもたらす可能性のある異常な動作を検出できます。
Falcoは、コンテナシステムおよびKubernetesにおける異常動作の監視・検出を行う強力なオープンソースツールです。Sysdigによって開発され、現在はCNCF(Cloud Native Computing Foundation)が管理するプロジェクトです。Falcoの主な機能は、オペレーティングシステムとコンテナの動作を監視し、事前定義されたルールに基づいてシステムに異常や潜在的なリスクをもたらす活動を検出することで、システムに「ランタイムセキュリティ」を提供することです。
FPT CLOUD はランタイムセキュリティ機能との統合を提供し、TelegramやGmail経由でのアクションに関する詳細なアラート設定を可能にします。アラートチャネルを活用することで、Security Runtimeはセキュリティイベントをタイムリーに検知し、管理者がシステム保護のために迅速に対応することを可能にします。
3.2. Unify Portal での機能の使用方法:
* 注: マネージド Kubernetes クラスターのセキュリティ機能を強化する機能セットは、クラスターが正常に起動した後(ステータス「成功(実行中)」)に統合されます。
3.2.1 Falco エンジンの統合:
A. Falco エンジンの有効化
ステップ1:FPT Cloudポータル(console.fptcloud.com)にアクセスし、「Kubernetes」を選択します。
ステップ2: 統合するクラスターを選択します。ランタイム
ステップ3: [セキュリティ]タブを選択⟶ ⟶「実行時セキュリティ」を選択し、「有効化」を実行します。
ステップ4:[確認]を選択して完了します。
ランタイムセキュリティは正常に有効化されましたが、アラート受信チャネルが設定されていないため、ユーザーへのアラート配信は行われません。
B. Falcoエンジンの無効化
ランタイムセキュリティの統合が不要な場合、ユーザーはポータルでサービスを無効化できます。
ステップ1: [有効化]状態のボタンをクリックします。
ステップ2:クラスター名を入力し、[無効化]をクリックします。
無効化後の結果:
3.2.2 Falco UI機能の統合
A. Falco UI の有効化
ステップ1: [セキュリティ] タブを選択します。[実行時セキュリティ] を選択し、有効にします。
ステップ3: Falco UIにアクセスするためのユーザー名とパスワードを入力し、「確認」をクリックして完了します。
ステップ4: kube-configファイルをダウンロードし、Lensにアクセスします。
⟶ ⟶ネームスペース fptcloud-runtime-security でフィルタリング
ステップ5. falco-falcosidekick-ui サービスを選択し、[転送] を選択します。
ステップ6:ポート転送の詳細を入力し、[開始]をクリックしてアクセスします
ステップ7:サービス有効化時に設定したユーザー名とパスワードを入力してください
ログイン後の結果:
警告が表示された場合のダッシュボード画面:
B. ユーザー名とパスワードの更新
ステップ2:ユーザー名とパスワードを編集し、「確認」をクリックしてください
C. Falco UI を無効化
Falco UI を無効化するには、[ランタイムの編集] を選択します。
⟶ ⟶[有効化] ボタンをクリックします
⟶ ⟶[確認] をクリックします
Falco UI を無効化した結果:
3.3 ランタイムセキュリティイベント通知の統合
3.3.1. テレグラム
A. ランタイムセキュリティイベント通知の有効化
ステップ1: Telegramにログインし、BotFatherを検索
ステップ2: /newbot と入力し、ボットの名前を設定
ステップ3: 通知を受け取るためのグループチャットを作成
ステップ4: Unify Portalでランタイムセキュリティイベント通知を有効化
ステップ5: 通知チャネルとしてTelegramを選択し、ChatIDとToken IDを入力後、確認をクリック
設定後の結果:
異常が検出されると、下図のような警告がユーザーのTelegramに送信されます。
B. Gmail経由での通知受信チャネル変更
注意:Gmailアプリトークンを作成する前に、Googleアカウントで「2段階認証」を有効にする必要があります。
ステップ1: アプリケーショントークン作成リンクにアクセス
ステップ3: Gmail経由で通知を受け取る情報を入力し「確認」をクリック
設定完了後の結果:
異常が発生した場合、システムは以下のような警告をGmailに送信します。
C. ランタイムセキュリティイベント通知を無効化
TelegramやGmail経由での通知が不要な場合、[セキュリティ]タブに移動します。
⟶ ⟶このオプションを選択し、「ランタイムを編集」を実行してランタイムセキュリティイベント通知を無効化します。
⟶ ⟶「確認」をクリックします
4. ワークロード管理型Kubernetesクラスター機能
4.1 ワークロードセキュリティ機能の概要
Kubernetes環境内でコンテナ化されたワークロードを展開する際、イメージ、コンテナ、コントロールプレーン、データプレーンに関連する多数の構成オプションが存在します。不適切な構成は潜在的なセキュリティリスクをもたらす可能性があります。DevOpsおよびプラットフォーム所有者は、強化基準に基づいてツール、ワークロード、インフラストラクチャを継続的に評価し、違反を修正する能力を備えている必要があります。
脆弱性レポートは、特定のKubernetesワークロード向けコンテナイメージで最近発見された脆弱性を提供します。これにはOSパッケージおよびアプリケーションの脆弱性リストと、深刻度別にグループ化された概要が含まれます。
脆弱性レポートは、特定のKubernetesワークロード向けコンテナイメージにおける新規発見の脆弱性を提供します。これにはOSパッケージおよびアプリケーションの脆弱性リストと、深刻度別に分類された概要が含まれます。
各ネームスペースには対応する脆弱性レポートが存在し、そのネームスペース内のイメージワークロードに対するスキャン結果が保存されます。
レポートには以下のフィールドが含まれます:
概要
criticalCount: 高深刻度の脆弱性の数
unknownCount: 深刻度が評価されていない脆弱性の数
vulnerabilities: 各脆弱性の詳細
深刻度: 脆弱性の緊急度レベル (重大、高、低、不明)
PrimaryLink: 脆弱性の詳細説明へのリンク
Score: CVEスコア。深刻度レベルを決定します
4.1.3. ロールベースアクセス制御(RBAC)レポート
RBAC評価レポートは、Trivyなどの構成監査ツールによって実行されたKubernetes RBACチェックの結果を表示します。
例えば、特定のロールがすべてのグループに対してシークレットへのアクセス権を付与していないことを確認します。
各レポートは基盤となるKubernetesオブジェクトに紐付けられ、同一ネームスペースに保存されます。
レポートには以下の対応するフィールドが含まれます:
namespace: K8sワークロード内のロールをスキャンする際に使用されるネームスペース
summary: スキャン結果の概要
criticalCount: 高深刻度の脆弱性の数
4.1.4. クラスターRBACレポート
RBAC評価レポートが同一ネームスペース内のロール権限を確認するのに対し、クラスターRBAC評価レポートは全ネームスペースにまたがる全てのロールを統合します。
4.1.5. 構成監査レポート
ConfigAuditReport は、Trivy が各 Kubernetes オブジェクトの構成に対して実行したチェックを表します。例えば、コンテナイメージが非 root ユーザーとして実行されているか、そのコンテナに対してリソース要求と制限が設定されているかなどをチェックします。チェックは、K8s ワークロード、サービス、ConfigMap、ロール、ロールバインディングなど、ネームスペース内の他のリソースに関連する可能性があります。
レポートには以下の対応するフィールドが含まれます:
namespace: K8sワークロード内のロールをスキャンするために使用されたネームスペース
summary: スキャン結果の概要
criticalCount: 高深刻度の脆弱性の数
4.1.6. クラスタ構成監査レポート
構成監査レポートが同一ネームスペース内の構成を検査するのに対し、クラスタ構成監査レポートは複数ネームスペースにまたがる構成を包括的に検査します。
4.1.7. クラスタインフラストラクチャ評価レポート
クラスタインフラストラクチャ評価レポートは、etcd、apiserver、スケジューラ、コントローラマネージャーなど、K8sクラスタの管理部分における重要な構成をチェックします。
4.2. Unify Portal の機能の使用方法
注: M-FKE のセキュリティを強化する一連の機能は、クラスターが正常に起動した後(ステータス「成功(実行中)」)に統合されます。
4.2.1. ワークロードセキュリティ機能の有効化
FPT Cloudコンソール(console.fptcloud.com)にアクセスし、Kubernetes項目を選択します。ベンチマークが必要なクラスターをクリックし、[セキュリティ]タブ→[ワークロードセキュリティ]タブの順に移動して機能を有効化します。
[有効化]ボタンをクリックすると、ユーザーが以下の項目を選択できるフォームが表示されます:スキャン対象のネームスペース、レポートの有効期限(TTL)、およびポータルに表示されるレポートに出力するスキャンタイプ。
機能有効化後の設定選択フォーム
名前空間の選択
実行するスキャンとポータルに表示するレポートの種類を選択する
TTL時間の選択(デフォルトは30分)
ワークロードジョブが正常に完了すると、詳細な結果が表示されます。ユーザーはワークロードを再実行して最新の結果を更新できます。
レポート表示情報は、上記の表示フィールドとともに以下のように表示されます。
クラスタRBAC評価レポート表示画面
構成監査レポート表示画面
RBAC評価レポート表示画面
脆弱性レポート表示画面
クラスタインフラストラクチャ評価レポート表示画面
4.2.2. ワークロードセキュリティ機能の無効化
FPT Cloudコンソールポータル(fptcloud.com)にアクセスし、Kubernetes項目を選択します。ベンチマークが必要なクラスターをクリックし、[セキュリティ]タブ、次に[ワークロードセキュリティ]タブを選択します。確認後、サービスを停止します。
5. マネージド Kubernetes クラスター向け監査ログ機能
監査ログセキュリティ機能の概要
監査ログは、MFKE 製品の Unify ポータルで提供されるセルフサービスセキュリティ機能グループに含まれます。kube-apiserver へのすべてのアクティビティと API リクエストを記録します。これにより、どのエージェントがいつどのアクションを実行したか、どのオブジェクトが影響を受けたか、結果として何が起きたかを追跡できます。
KubernetesクラスターのAPIサーバーとやり取りするコンポーネントの動作監視を支援します。
トラブルシューティングとコンプライアンス遵守をサポートします。
監査ログの構造は以下の情報で構成されます:
リクエストURL: kube-apiserverで呼び出されたAPIのパス。
監査ID: 各監査イベントの一意のID。ログ追跡に使用されます。
オブジェクト参照: 操作対象となったKubernetesリソースに関する情報:
apiVersion: APIバージョン (v1)
resource: リソースタイプ (nodes)
アクション: Kubernetesリソースに対して実行された操作。例: patch/create/delete/update
ユーザー名: アクションを実行したアカウントまたはサービスの名前。
リクエスト受信時刻: kube-apiserverがリクエストを記録した時刻(yyyy-MM-dd HH:mm:ss形式)。
ログ記録時刻: MFKEサービスのログシステムにイベントが記録された時刻。通常、ログ記録時刻はリクエスト受信時刻より遅れます。これは、クラスターのkube-apiserverから集中型ログシステムへログがプッシュされるのに時間がかかるためです。
Unify Portal での機能利用方法
注意: マネージド Kubernetes クラスターのセキュリティを強化する機能セットは、クラスターが正常に起動した後(ステータス「成功(実行中)」)に統合されます。
5.1 監査ログセキュリティの有効化:
FPT Cloudコンソールポータル(fptcloud.com)にアクセスし、Kubernetes項目を選択します。監査が必要なクラスターをクリックし、次に「セキュリティ」タブと「監査ログ」タブを選択します。
監査ログタブをクリックすると、自動的にクエリが実行され、過去1時間に記録されたすべてのログが表示されます。監査ログ情報は、上記の手順2で説明したフィールドと共に表示されます。
5.2別の期間のログを検索するには、以下の手順に従ってください:
ステップ1:画面右上の時間ピッカーをクリックします。
ステップ2:ログを表示したい期間を入力し、「フィルターを適用」をクリックします。
システムは選択した期間中に記録されたすべてのログを、降順で表示します。
ログのフィルタリングは最大3日間(開始日~終了日)まで可能です。
ログは過去7日間分保存されます。