Dokumen ini menjelaskan tingkat kepatuhan GKE di VMware terhadap Benchmark CIS Ubuntu.
Versi
Dokumen ini merujuk pada versi berikut:
Versi Anthos | Versi Ubuntu | Versi Tolok Ukur Ubuntu CIS | Tingkat CIS |
---|---|---|---|
1.16 | 20,04 LTS | v1.0.0 | Server Level 2 |
Mengakses benchmark
CIS Ubuntu Benchmark tersedia di situs CIS.
Profil konfigurasi
Dalam dokumen CIS Ubuntu Benchmark, Anda dapat membaca tentang profil konfigurasi. Image Ubuntu yang digunakan oleh GKE di VMware di-hardening untuk memenuhi profil Server Level 2.
Evaluasi GKE pada VMware
Kami menggunakan nilai berikut untuk menentukan status rekomendasi Ubuntu di GKE pada VMware.
Status | Deskripsi |
---|---|
Lulus | Mematuhi rekomendasi tolok ukur. |
Gagal | Tidak mematuhi rekomendasi tolok ukur. |
Kontrol yang setara | Tidak mematuhi persyaratan yang sama persis dalam rekomendasi tolok ukur, tetapi mekanisme lain di GKE di VMware menyediakan kontrol keamanan yang setara. |
Tergantung pada lingkungan | GKE di VMware tidak mengonfigurasi item yang terkait dengan rekomendasi benchmark. Konfigurasi Anda menentukan apakah lingkungan Anda sesuai dengan rekomendasi. |
Status GKE di VMware
Image Ubuntu yang digunakan dengan GKE di VMware di-hardening untuk memenuhi profil Server CIS Level 2. Tabel berikut memberikan justifikasi mengapa GKE pada komponen VMware tidak meneruskan rekomendasi tertentu.
# | Rekomendasi | Diberi Skor/Tidak Diberi Skor | Status | Justifikasi | Komponen yang Terpengaruh |
---|---|---|---|---|---|
1.1.2 | Pastikan /tmp dikonfigurasi | Dinilai | Gagal | Saat ini, canonical tidak berencana untuk memodifikasi partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.10 | Pastikan ada partisi terpisah untuk /var | Dinilai | Tidak dapat diperbaiki | Saat ini, canonical tidak berencana untuk memodifikasi partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.11 | Pastikan ada partisi terpisah untuk /var/tmp | Dinilai | Tidak dapat diperbaiki | Saat ini, canonical tidak berencana untuk memodifikasi partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.15 | Pastikan ada partisi terpisah untuk /var/log | Dinilai | Tidak dapat diperbaiki | Saat ini, canonical tidak berencana untuk memodifikasi partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.16 | Pastikan ada partisi terpisah untuk /var/log/audit | Dinilai | Tidak dapat diperbaiki | Saat ini, canonical tidak berencana untuk memodifikasi partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.17 | Pastikan ada partisi terpisah untuk /home | Dinilai | Tidak dapat diperbaiki | Saat ini, canonical tidak berencana untuk memodifikasi partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.22 | Memastikan sticky bit disetel pada semua direktori yang dapat ditulis oleh dunia | Dinilai | Gagal | Hal ini dapat mengganggu fungsi Anthos dan layanannya serta tidak diaktifkan secara default | Semua {i>cluster node<i}, {i>workstation<i} Admin |
1.5.1 | Pastikan izin pada konfigurasi bootloader dikonfigurasi | Dinilai | Gagal | Izin telah dibiarkan sebagai default. | Semua node cluster, Seesaw |
1.5.2 | Pastikan sandi bootloader sudah ditetapkan | Dinilai | Bergantung pada Lingkungan | Tidak ada sandi root yang disetel pada image cloud Ubuntu. | Semua node cluster, workstation Admin, Seesaw |
1.5.3 | Memastikan autentikasi diperlukan untuk mode satu pengguna | Dinilai | Bergantung pada Lingkungan | Tidak ada sandi root yang disetel pada image cloud Ubuntu. | Semua node cluster, workstation Admin, Seesaw |
2.3.6 | Pastikan RPC tidak diinstal | Dinilai | Gagal | rpcbind diinstal pada image cloud canonical, meskipun tidak diaktifkan secara default. Aturan gagal karena mengharuskannya tidak diinstal | Semua node cluster |
3.2.2 | Pastikan penerusan IP dinonaktifkan | Dinilai | Gagal | Penerusan IP diperlukan agar Kubernetes (GKE) dapat berfungsi dan mengarahkan traffic dengan benar | Semua node cluster, workstation Admin, Seesaw |
3.2.7 | Pastikan Pemfilteran Jalur Terbalik diaktifkan | Dinilai | Bergantung pada Lingkungan | Perutean asinkron dan asal jalur balik merupakan persyaratan untuk mengirimkan load balancing cluster | Seesaw |
3.5.3.2.1 | Pastikan kebijakan penolakan default firewall | Dinilai | Bergantung pada Lingkungan | Sebaiknya GKE di VMware di-deploy di jaringan pribadi dengan perlindungan firewall yang sesuai. Aturan firewall yang diperlukan dapat ditemukan di sini. | Semua node cluster, workstation Admin, Jungkat-jungkit |
3.5.3.2.2 | Memastikan traffic loopback dikonfigurasi | Dinilai | Bergantung pada Lingkungan | Penggunaan antarmuka loopback dibatasi mengingat fungsi load balancing yang digunakan. | Seesaw |
3.5.3.2.4 | Pastikan aturan firewall ada untuk semua port yang terbuka | Tidak Dinilai | Bergantung pada Lingkungan | Sebaiknya GKE di VMware di-deploy di jaringan pribadi dengan perlindungan firewall yang sesuai. Aturan firewall yang diperlukan dapat ditemukan di sini. | Semua node cluster, workstation Admin, Seesaw |
3.5.3.3.1 | Pastikan kebijakan firewall tolak default IPv6 | Dinilai | Bergantung pada Lingkungan | Sebaiknya GKE di VMware di-deploy di jaringan pribadi dengan perlindungan firewall yang sesuai. Aturan firewall yang diperlukan dapat ditemukan di sini. Selain itu, Anthos tidak memiliki persyaratan untuk IPv6 pada dukungan GA. | Semua node cluster, workstation Admin, Seesaw |
3.5.3.3.2 | Pastikan traffic loopback IPv6 telah dikonfigurasi | Dinilai | Bergantung pada Lingkungan | Anthos tidak memiliki persyaratan untuk IPv6 dalam dukungan GA. | Bidang kontrol admin, Seesaw |
4.1.1.3 | Pastikan pengauditan untuk proses yang dimulai sebelum diaudit diaktifkan | Dinilai | Gagal | Masalah umum pada proses build kami menandai ini sebagai Gagal, tetapi hal ini akan dianggap sebagai alarm palsu. Hal ini akan diperbaiki pada masa mendatang. | Semua node cluster, Seesaw |
4.1.11 | Pastikan penggunaan perintah dengan hak istimewa dikumpulkan | Dinilai | Gagal | Beberapa biner diinstal pada runtime, sehingga perbaikan runtime diperlukan. | Semua node cluster, workstation Admin, Seesaw |
4.2.1.5 | Pastikan rsyslog dikonfigurasi untuk mengirim log ke host log jarak jauh | Dinilai | Bergantung pada Lingkungan | GKE di VMware saat ini mengumpulkan semua log terjurnal (dari layanan sistem). Pengguna dapat melihat log ini di bagian "k8s_node" | Semua node cluster, workstation Admin, Seesaw |
4.2.3 | Pastikan izin di semua file log dikonfigurasi | Dinilai | Gagal | Pengujian khusus ini terlalu ketat dan tidak realistis karena banyak layanan mungkin memerlukan grup untuk menulis file log. Item ini dapat dihapus pada tolok ukur mendatang. | Semua node cluster, workstation Admin, Seesaw |
4,4 | Pastikan logrotate menetapkan izin yang sesuai | Dinilai | Gagal | Mematuhi aturan ini dapat memengaruhi fungsi logging saat ini | Semua node cluster, Jungkat-jungkit |
5.2.18 | Pastikan akses SSH dibatasi | Dinilai | Bergantung pada Lingkungan | Opsi ini tidak dikonfigurasi secara default. Hal ini dapat dikonfigurasi untuk memenuhi persyaratan spesifik Anda. | Semua node cluster, workstation Admin, Seesaw |
5.2.20 | Pastikan AllowTcpPenerusan SSH dinonaktifkan | Dinilai | Gagal | Mematuhi aturan ini dapat memengaruhi fungsi tunnel ssh saat ini | Semua node cluster |
5.4.1.1 | Pastikan akhir masa berlaku sandi adalah 365 hari atau kurang | Dinilai | Kontrol yang setara | VM untuk GKE di VMware mengandalkan kunci SSH untuk login pengguna, bukan menggunakan sandi | Semua node cluster |
6.1.10 | Memastikan tidak ada file world writable | Dinilai | Gagal | Izin telah dibiarkan sebagai default. | Semua node cluster |
6.1.11 | Memastikan tidak ada file atau direktori yang tidak dimiliki | Dinilai | Gagal | Izin telah dibiarkan sebagai default. | Semua node cluster |
6.1.12 | Pastikan tidak ada file atau direktori yang tidak dikelompokkan | Dinilai | Gagal | Izin telah dibiarkan sebagai default. | Semua node cluster |
6.2.7 | Pastikan file titik pengguna tidak dapat ditulis oleh grup atau dunia | Dinilai | Gagal | Pengaturan default untuk Ubuntu mengizinkan izin grup file titik karena kompatibilitas | Workstation admin |
Mengonfigurasi cron job AIDE
AIDE adalah alat pemeriksaan integritas file yang memastikan kepatuhan terhadap benchmark Server
1.4 CIS L1 Filesystem Integrity Checking
. Di GKE di VMware,
proses AIDE telah menyebabkan masalah penggunaan resource yang tinggi.
Mulai 1.12, proses AIDE pada node dinonaktifkan secara default untuk mencegah masalah
resource. Hal ini akan memengaruhi kepatuhan terhadap benchmark Server CIS L1 1.4.2: Ensure
filesystem integrity is regularly checked.
Jika Anda memilih untuk menjalankan cron job AIDE, selesaikan langkah-langkah berikut untuk mengaktifkan kembali AIDE:
Membuat DaemonSet.
Berikut adalah manifes untuk 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: /
Dalam manifes di atas:
cron job AIDE hanya akan berjalan pada kumpulan node
pool-1
seperti yang ditentukan oleh nodeSelectorcloud.google.com/gke-nodepool: pool-1
. Anda dapat mengonfigurasi proses AIDE untuk berjalan di kumpulan node sebanyak yang Anda inginkan dengan menentukan kumpulan di kolomnodeSelector
. Untuk menjalankan jadwal cron job yang sama di beberapa kumpulan node yang berbeda, hapus kolomnodeSelector
. Namun, untuk menghindari kemacetan resource host, sebaiknya pertahankan jadwal terpisah.cron job dijadwalkan untuk berjalan setiap hari pada pukul 05.30 seperti yang ditentukan oleh konfigurasi
minute=30;hour=5
. Anda dapat mengonfigurasi jadwal yang berbeda untuk cron job AIDE sesuai kebutuhan.
Salin manifes ke file bernama
enable-aide.yaml
, lalu buat DaemonSet:
kubectl apply --kubeconfig USER_CLUSTER_KUBECONFIG -f enable-aide.yaml
dengan USER_CLUSTER_KUBECONFIG adalah jalur file kubeconfig untuk cluster pengguna Anda.