Tolok Ukur Ubuntu CIS

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:

  1. 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 nodeSelector cloud.google.com/gke-nodepool: pool-1. Anda dapat mengonfigurasi proses AIDE untuk berjalan di kumpulan node sebanyak yang Anda inginkan dengan menentukan kumpulan di kolom nodeSelector. Untuk menjalankan jadwal cron job yang sama di beberapa kumpulan node yang berbeda, hapus kolom nodeSelector. 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.

  2. 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.