このドキュメントでは、Google Distributed Cloud が CIS Ubuntu Benchmark ベンチマークに準拠しているレベルについて説明します。
ベンチマークにアクセスする
CIS Ubuntu Benchmark は CIS ウェブサイトで入手できます。
構成プロファイル
CIS Ubuntu Benchmark のドキュメントでは、構成プロファイルについて確認できます。Google Distributed Cloud で使用される Ubuntu イメージは、Level 2 - Server のプロファイルに対応するように強化されています。
Google Distributed Cloud に対する評価
Google Distributed Cloud では、次の値を使用して Ubuntu 推奨事項のステータスを表しています。
ステータス | 説明 |
---|---|
合格 | ベンチマークの推奨事項を遵守しています。 |
不合格 | ベンチマークの推奨事項を遵守していません。 |
同等の統制 | ベンチマーク推奨事項の条件には完全に準拠していないが、Google Distributed Cloud の他のメカニズムが同等のセキュリティ統制を提供しています。 |
環境に依存 | Google Distributed Cloud では、ベンチマークの推奨事項に関連する項目は構成されていません。ご利用の構成により、環境が推奨事項を遵守しているかどうかが決まります。 |
Google Distributed Cloud のステータス
Google Distributed Cloud で使用される Ubuntu イメージは、CIS Level 2 - Server のプロファイルを満たすように強化されています。次の表は、Google Distributed Cloud のコンポーネントが特定の推奨事項に合格しなかった理由を示しています。
ステータスが Passed
のベンチマークは、次の表に含まれません。
1.31
バージョン
このセクションでは、次のバージョンについて説明します。
Google Distributed Cloud のバージョン | Ubuntu のバージョン | CIS Ubuntu Benchmark のバージョン | CIS レベル |
---|---|---|---|
1.31 | 22.04 LTS | v1.0.0 | Level 2 Server |
# | 推奨事項 | ステータス | 理由 | 影響を受けるコンポーネント |
---|---|---|---|---|
1.1.2.1 | /tmp が別のパーティションに存在する | 不合格 | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.3.1 | /var が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.4.1 | /var/tmp が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.5.1 | /var/log が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.6.1 | /var/log/audit が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.7.1 | /home が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.4.1 | grub2 でブートローダーのパスワードを設定する | 環境に依存 | Ubuntu クラウド イメージには root パスワードが設定されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.4.3 | シングル ユーザー モードで認証が必須である | 環境に依存 | Ubuntu クラウド イメージには root パスワードが設定されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
2.3.6 | rpcbind パッケージをアンインストールする | 不合格 | rpcbind は、デフォルトでは有効になっていませんが、Canonical のクラウド イメージにインストールされています。このルールではインストールされていないことが求められるため、不合格になります。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
3.3.7 | カーネル パラメータを有効にし、すべての IPv4 インターフェースでリバースパス フィルタリングを使用する | 環境に依存 | 非同期ルーティングとリバースパスは、クラスタのロード バランシングを提供するための要件です。 | すべてのクラスタノード、Seesaw |
3.5.2.6 | ループバック トラフィックの nftables 構成を設定する | 修正しない | Anthos Network がこのルールの影響を受けました。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
3.5.2.8 | nftables のデフォルトの拒否ファイアウォール ポリシーを使用する | 環境に依存 | Google Distributed Cloud は、適切なファイアウォール保護を使用してプライベート ネットワークにデプロイすることをおすすめします。必要なファイアウォール ルールについてはこちらをご覧ください。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
4.2.3 | ログファイルの権限を確認する | 不合格 | 多くのサービスでは、ログファイルを書き込むためのグループが必要になることがあるため、この特定のテストは制限が多すぎ、また非現実的です。この項目は今後のベンチマークで削除される可能性があります。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
5.2.18 | ユーザーの SSH アクセスを制限する | 環境に依存 | デフォルトでは構成されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
5.3.4 | 権限昇格でユーザーを再認証する - sudo | 環境に依存 | デフォルトでは構成されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
5.5.1.2 | パスワードの最大使用期間を設定する | 同等の統制 | Google Distributed Cloud の VM は、ユーザー ログインにパスワードを使用せず、SSH 認証鍵を使用します | すべてのクラスタノード |
6.1.10 | すべてのファイルの所有者がユーザーである | 不合格 | 権限がデフォルトのままになっています。 | すべてのクラスタノード |
1.30
バージョン
このセクションでは、次のバージョンについて説明します。
Google Distributed Cloud のバージョン | Ubuntu のバージョン | CIS Ubuntu Benchmark のバージョン | CIS レベル |
---|---|---|---|
1.30 | 22.04 LTS | v1.0.0 | Level 2 Server |
# | 推奨事項 | ステータス | 理由 | 影響を受けるコンポーネント |
---|---|---|---|---|
1.1.2.1 | /tmp が別のパーティションに存在する | 不合格 | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.3.1 | /var が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.4.1 | /var/tmp が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.5.1 | /var/log が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.6.1 | /var/log/audit が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.7.1 | /home が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.4.1 | grub2 でブートローダーのパスワードを設定する | 環境に依存 | Ubuntu クラウド イメージには root パスワードが設定されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.4.3 | シングル ユーザー モードで認証が必須である | 環境に依存 | Ubuntu クラウド イメージには root パスワードが設定されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
2.3.6 | rpcbind パッケージをアンインストールする | 不合格 | rpcbind は、デフォルトでは有効になっていませんが、Canonical のクラウド イメージにインストールされています。このルールではインストールされていないことが求められるため、不合格になります。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
3.3.7 | カーネル パラメータを有効にし、すべての IPv4 インターフェースでリバースパス フィルタリングを使用する | 環境に依存 | 非同期ルーティングとリバースパスは、クラスタのロード バランシングを提供するための要件です。 | すべてのクラスタノード、Seesaw |
3.5.2.6 | ループバック トラフィックの nftables 構成を設定する | 修正しない | Anthos Network がこのルールの影響を受けました。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
3.5.2.8 | nftables のデフォルトの拒否ファイアウォール ポリシーを使用する | 環境に依存 | Google Distributed Cloud は、適切なファイアウォール保護を使用してプライベート ネットワークにデプロイすることをおすすめします。必要なファイアウォール ルールについてはこちらをご覧ください。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
4.2.3 | ログファイルの権限を確認する | 不合格 | 多くのサービスでは、ログファイルを書き込むためのグループが必要になることがあるため、この特定のテストは制限が多すぎ、また非現実的です。この項目は今後のベンチマークで削除される可能性があります。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
5.2.18 | ユーザーの SSH アクセスを制限する | 環境に依存 | デフォルトでは構成されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
5.3.4 | 権限昇格でユーザーを再認証する - sudo | 環境に依存 | デフォルトでは構成されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
5.5.1.2 | パスワードの最大使用期間を設定する | 同等の統制 | Google Distributed Cloud の VM は、ユーザー ログインにパスワードを使用せず、SSH 認証鍵を使用します | すべてのクラスタノード |
6.1.10 | すべてのファイルの所有者がユーザーである | 不合格 | 権限がデフォルトのままになっています。 | すべてのクラスタノード |
1.29
バージョン
このセクションでは、次のバージョンについて説明します。
Google Distributed Cloud のバージョン | Ubuntu のバージョン | CIS Ubuntu Benchmark のバージョン | CIS レベル |
---|---|---|---|
1.29 | 22.04 LTS | v1.0.0 | Level 2 Server |
# | 推奨事項 | ステータス | 理由 | 影響を受けるコンポーネント |
---|---|---|---|---|
1.1.2.1 | /tmp が別のパーティションに存在する | 不合格 | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.3.1 | /var が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.4.1 | /var/tmp が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.5.1 | /var/log が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.6.1 | /var/log/audit が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.1.7.1 | /home が別のパーティションに存在する | 修正しない | 現時点では、Canonical によりクラウド イメージ パーティションが変更される予定はありません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.4.1 | grub2 でブートローダーのパスワードを設定する | 環境に依存 | Ubuntu クラウド イメージには root パスワードが設定されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
1.4.3 | シングル ユーザー モードで認証が必須である | 環境に依存 | Ubuntu クラウド イメージには root パスワードが設定されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
2.3.6 | rpcbind パッケージをアンインストールする | 不合格 | rpcbind は、デフォルトでは有効になっていませんが、Canonical のクラウド イメージにインストールされています。このルールではインストールされていないことが求められるため、不合格になります。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
3.3.7 | カーネル パラメータを有効にし、すべての IPv4 インターフェースでリバースパス フィルタリングを使用する | 環境に依存 | 非同期ルーティングとリバースパスは、クラスタのロード バランシングを提供するための要件です。 | 管理以外のマスターノード、Seesaw |
3.5.2.6 | ループバック トラフィックの nftables 構成を設定する | 修正しない | Anthos Network がこのルールの影響を受けました。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
3.5.2.8 | nftables のデフォルトの拒否ファイアウォール ポリシーを使用する | 環境に依存 | Google Distributed Cloud は、適切なファイアウォール保護を使用してプライベート ネットワークにデプロイすることをおすすめします。必要なファイアウォール ルールについてはこちらをご覧ください。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
4.2.3 | ログファイルの権限を確認する | 不合格 | 多くのサービスでは、ログファイルを書き込むためのグループが必要になることがあるため、この特定のテストは制限が多すぎ、また非現実的です。この項目は今後のベンチマークで削除される可能性があります。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
5.2.18 | ユーザーの SSH アクセスを制限する | 環境に依存 | デフォルトでは構成されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
5.3.4 | 権限昇格でユーザーを再認証する - sudo | 環境に依存 | デフォルトでは構成されていません。 | すべてのクラスタノード、管理ワークステーション、Seesaw |
5.5.1.2 | パスワードの最大使用期間を設定する | 同等の統制 | Google Distributed Cloud の VM は、ユーザー ログインにパスワードを使用せず、SSH 認証鍵を使用します | すべてのクラスタノード |
6.1.10 | すべてのファイルの所有者がユーザーである | 不合格 | 権限がデフォルトのままになっています。 | すべてのクラスタノード |
AIDE cron ジョブを構成する
AIDE は、CIS L1 Server ベンチマーク 1.4 Filesystem Integrity Checking
に準拠していることを確認するファイル整合性チェックツールです。Google Distributed Cloud では、AIDE プロセスによってリソース使用率が高い問題が引き起こされています。
リソースの問題を防ぐため、ノードの AIDE プロセスはデフォルトで無効になっています。これは、CIS L1 Server ベンチマーク 1.4.2(Ensure
filesystem integrity is regularly checked.
)への準拠に影響を与えます。
AIDE cron ジョブの実行を有効にする場合は、次の手順で AIDE を再度有効にします。
DaemonSet を作成します。
DaemonSet のマニフェストを次に示します。
apiVersion: apps/v1 kind: DaemonSet metadata: name: enable-aide-pool1 spec: selector: matchLabels: app: enable-aide-pool1 template: metadata: labels: app: enable-aide-pool1 spec: hostIPC: true hostPID: true nodeSelector: cloud.google.com/gke-nodepool: pool-1 containers: - name: update-audit-rule image: ubuntu command: ["chroot", "/host", "bash", "-c"] args: - | set -x while true; do # change daily cronjob schedule minute=30;hour=5 sed -E "s/([0-9]+ [0-9]+)(.*run-parts --report \/etc\/cron.daily.*)/$minute $hour\2/g" -i /etc/crontab # enable aide chmod 755 /etc/cron.daily/aide sleep 3600 done volumeMounts: - name: host mountPath: /host securityContext: privileged: true volumes: - name: host hostPath: path: /
このマニフェストで:
AIDE cron ジョブは、nodeSelector
cloud.google.com/gke-nodepool: pool-1
で指定されたノードプールpool-1
でのみ実行されます。nodeSelector
フィールドの下にプールを指定することで、AIDE プロセスを、必要とする数のノードプールで実行するように構成できます。異なるノードプールで同じ cron ジョブ スケジュールを実行するには、nodeSelector
フィールドを削除します。ただし、ホストリソースの競合を回避するため、個別のスケジュールを維持することをおすすめします。cron ジョブは、構成
minute=30;hour=5
で指定されているとおり、毎日午前 5 時 30 分に実行されるようにスケジュール設定されます。AIDE cron ジョブには、必要に応じて異なるスケジュールを構成できます。
このマニフェストを
enable-aide.yaml
という名前のファイルにコピーして DaemonSet を作成します。kubectl apply --kubeconfig USER_CLUSTER_KUBECONFIG -f enable-aide.yaml
USER_CLUSTER_KUBECONFIG は、クラスタの kubeconfig ファイルのパスです。