OSの一般的な脆弱性と露出 (CVE) の脆弱性は、ノードでのデータリークやサービスの中断につながり、クラスターの安定性、セキュリティ、コンプライアンスを低下させる可能性さえあります。 OS CVEパッチ機能を有効にして、ノード上のOS脆弱性をスキャンし、検出された脆弱性をパッチする方法に関する提案を取得できます。 Container Service for Kubernetes (ACK) コンソールの提案に基づいて脆弱性をパッチできます。
前提条件
CVEパッチは、セキュリティセンターが提供する高度な機能です。 この機能を使用するには、Security Center Advanced Edition以上を有効化し、Security Centerで保護できるサーバーの十分なクォータを確保する必要があります。 ACKは追加料金を請求しません。 詳細については、「セキュリティセンターの購入」および「機能と機能」をご参照ください。
使用上の注意
セキュリティセンターは、CVEの互換性を保証します。 パッチをインストールする前に、アプリケーションのCVE互換性を確認することをお勧めします。 CVEパッチ適用タスクはいつでも一時停止またはキャンセルできます。
ACKは、特定の脆弱性をパッチするためにノードを再起動する必要があります。 ACKは、ノードを再起動する前にノードをドレインする。
ACKクラスターに、ドレインされたノードから追い出されたポッドをホストするのに十分なノードがあることを確認します。
クラスターの可用性を確保するため、ノードプール内のノードの脆弱性にパッチを適用する前に、ノードプールスケーリング機能を使用してノードプールをスケールアウトすることを推奨します。 詳細については、「ノードプールのスケーリング」をご参照ください。
PodDisruptionBudget (PDB) を設定している場合は、クラスターにノードのドレインをサポートするのに十分なノードがあることを確認してください。 さらに、既存のレプリケートされたポッドの数が、PDBで指定された
spec.minAvailable
パラメーターの値以上であることを確認してください。 PDBが不要になった場合は、削除できます。ポッド内のコンテナがSIGTERM信号を期待どおりに処理できることを確認して、ポッドがその猶予期間内に終了できるようにします。 これにより、ノードのドレイン障害が防止される。
ノードのドレインの最大タイムアウト時間は1時間です。 ノードがタイムアウトする場合、ACKは後続の動作を実行する。
CVEパッチは、複数のバッチで構成されるプログレッシブタスクです。 CVEパッチ適用タスクを一時停止またはキャンセルした後、ACKはディスパッチされたバッチの処理を続行します。 ディスパッチされていないバッチは一時停止またはキャンセルされます。
各ノードプールに対して一度に実行できるCVEパッチ処理タスクは1つだけです。
ContainerOSの脆弱性にパッチを適用する場合は、ContainerOSのバージョンを3.2する必要があります。
クラスターのメンテナンスウィンドウを変更すると、スケジュールされたCVEパッチタスクがキャンセルされます。 次に、システムはCVEパッチングタスクの新しいスケジュールを生成します。
手順
自動CVEパッチ (推奨)
管理対象ノードプールを作成し、ノードプールの自動CVEパッチ適用機能を有効にすることができます。 詳細については、「マネージドノードプールの概要」をご参照ください。
このように、ACKはグローバルパッチングスケジュールを生成し、スケジュールに基づいてパッチングタスクを自動的に実行します。 自動パッチ適用タスクは、クラスターのメンテナンスウィンドウ内で実行されます。 ただし、自動CVEパッチ適用機能を有効にした後は、次のメンテナンス期間内にタスクが実行されない場合があります。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[ノードプール] ページで、作成した管理対象ノードプールを見つけ、[操作] 列の [詳細]> [管理対象ノードプールの設定] をクリックします。 [管理対象ノードプールの設定] ダイアログボックスで、パッチを適用する脆弱性の重大度を選択し、ビジネス要件に基づいてノードプールを再起動して脆弱性にパッチを適用するかどうかを指定します。
手動CVEパッチ
自動CVEパッチ機能を使用しない場合は、次の手順を実行して脆弱性を手動でパッチできます。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[ノードプール] ページで、パッチを適用するノードプールを見つけ、[操作] 列で [詳細] > [CVEパッチ適用 (OS)] を選択します。
表示されるページで、[脆弱性] セクションでパッチを適用する脆弱性を選択し、[インスタンス] セクションでElastic Compute Service (ECS) インスタンスを選択し、[バッチ修復ポリシー] を設定し、[修復の開始] をクリックします。
バッチ修復ポリシーは、次のパラメーターで構成されます。
バッチごとに修復するノードの最大数: このパラメーターは、各バッチでパッチを適用できるノードの最大数を指定します。 バッチごとに更新されるノードの数は、次の順序でバッチごとに増加します。1、2、4、8... 最大同時実行性に達した後、各バッチで更新されるノードの最大数は、最大同時実行性に等しくなります。 最大同時実行性を4に設定すると、最初のバッチで1つのノードが更新され、2番目のバッチで2つのノードが同時に更新され、3番目以降のバッチで4つのノードが同時に更新されます。
ドライ実行モード: このモードを有効にすると、ACKはパッチ適用をシミュレートし、レポートを生成します。
情報を確認し、[OK] をクリックします。
関連ドキュメント
CVEパッチ適用を有効にした後、パッチ適用手順を一時停止、再開、またはキャンセルできます。