Tolok Ukur Ubuntu CIS

Dokumen ini menjelaskan tingkat kepatuhan yang Google Distributed Cloud memiliki CIS Ubuntu Benchmark.

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 Google Distributed Cloud telah melalui proses hardening untuk memenuhi Tingkat 2 - Profil server.

Evaluasi pada Google Distributed Cloud

Kami menggunakan nilai berikut untuk menentukan status rekomendasi Ubuntu di Google Distributed Cloud.

Status Deskripsi
Lulus Mematuhi rekomendasi tolok ukur.
Gagal Tidak mematuhi rekomendasi tolok ukur.
Kontrol yang setara Tidak mematuhi persyaratan persisnya dalam rekomendasi tolok ukur, tetapi mekanisme lain dalam Google Distributed Cloud menyediakan kontrol keamanan.
Bergantung pada lingkungan Google Distributed Cloud tidak mengonfigurasi item yang terkait dengan rekomendasi tolok ukur. Konfigurasi Anda menentukan apakah yang sesuai dengan rekomendasi.

Status Google Distributed Cloud

Image Ubuntu yang digunakan dengan Google Distributed Cloud telah melalui proses hardening agar memenuhi CIS Tingkat 2 - Profil server. Tabel berikut memberikan justifikasi untuk penyebab komponen Google Distributed Cloud tidak memenuhi rekomendasi tertentu.

Google Distributed Cloud 1.29

Segera hadir.

Google Distributed Cloud 1.28

Versi

Bagian ini merujuk pada versi berikut:

Versi Google Distributed Cloud Versi Ubuntu Versi Benchmark Ubuntu CIS Level CIS
1,28 22,04 LTS v1.0.0 Server Level 2

Status Google Distributed Cloud

Image Ubuntu yang digunakan dengan Google Distributed Cloud telah melalui proses hardening agar memenuhi CIS Tingkat 2 - Profil server. Tabel berikut memberikan justifikasi untuk penyebab komponen Google Distributed Cloud tidak memenuhi rekomendasi tertentu.

# Rekomendasi Status Justifikasi Komponen yang Terpengaruh
1.1.2.1 Memastikan /tmp Terletak di Partisi yang Terpisah Gagal Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.3.1 Pastikan /var Terletak di Partisi yang Terpisah Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.4.1 Memastikan /var/tmp Terletak di Partisi yang Terpisah Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.5.1 Memastikan {i> /var/log<i} Terletak di Partisi yang Terpisah Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.6.1 Memastikan {i> /var/log/audit<i} Terletak di Partisi Terpisah Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.7.1 Pastikan /home Terletak di Partisi yang Terpisah Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.4.1 Menetapkan Sandi Boot Loader di grub2 Bergantung pada Lingkungan Tidak ada kata sandi {i>root<i} yang diatur pada gambar {i>cloud <i}Ubuntu. Semua node cluster, Workstation admin Jungkat-jungkit
1.4.3 Memastikan Autentikasi Diperlukan untuk Mode Pengguna Tunggal Bergantung pada Lingkungan Tidak ada kata sandi {i>root<i} yang diatur pada gambar {i>cloud <i}Ubuntu. Semua node cluster, Workstation admin Jungkat-jungkit
2.3.6 Copot instalasi Paket rpcbind Gagal {i>rpcbind<i} diinstal pada gambar awan Kanonis, meskipun tidak diaktifkan secara {i>default<i}. Aturan gagal karena mengharuskan aturan tidak diinstal Semua node cluster Workstation admin Jungkat-jungkit
3.3.7 Aktifkan Parameter Kernel untuk Menggunakan Reverse Path Filtering di semua Antarmuka IPv4 Bergantung pada Lingkungan Perutean asinkron dan asal jalur terbalik adalah persyaratan untuk mengirimkan load balancing cluster. Node bukan master admin Jungkat-jungkit
3.5.2.6 Menyetel konfigurasi nftables untuk traffic loopback Tidak dapat diperbaiki Jaringan Anthos terpengaruh oleh aturan ini. Semua node cluster, workstation Admin, Seesaw
3.5.2.8 Memastikan kebijakan firewall tolak default nftables Bergantung pada Lingkungan Sebaiknya Google Distributed Cloud di-deploy di jaringan pribadi dengan perlindungan firewall yang sesuai. Aturan firewall yang diperlukan dapat ditemukan di sini. Semua node cluster, workstation Admin, Seesaw
4.2.3 Memverifikasi izin file log 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 Jungkat-jungkit
5.2.18 Batasi Pengguna Akses SSH Bergantung pada Lingkungan Hal ini tidak dikonfigurasi secara default. Semua node cluster, Workstation admin Jungkat-jungkit
5.3.4 Memastikan Pengguna Melakukan Autentikasi Ulang untuk Eskalasi Hak Istimewa - sudo Bergantung pada Lingkungan Hal ini tidak dikonfigurasi secara default. Semua node cluster, Workstation admin Jungkat-jungkit
5.5.1.2 Setel Usia Maksimum Sandi Kontrol yang setara VM untuk Google Distributed Cloud mengandalkan kunci ssh untuk login pengguna, bukan sandi Semua node cluster
6.1.10 Memastikan Semua File Dimiliki oleh Pengguna Gagal Izin dibiarkan sebagai default. Semua node cluster

Google Distributed Cloud 1.16

Versi

Bagian ini merujuk pada versi berikut:

Versi Google Distributed Cloud Versi Ubuntu Versi Benchmark Ubuntu CIS Level CIS
1.16 20,04 LTS v1.0.0 Server Level 2

Status Google Distributed Cloud

Image Ubuntu yang digunakan dengan Google Distributed Cloud telah melalui proses hardening agar memenuhi CIS Tingkat 2 - Profil server. Tabel berikut memberikan justifikasi untuk penyebab komponen Google Distributed Cloud tidak memenuhi rekomendasi tertentu.

# Rekomendasi Diberi Skor/Tidak Diberi Skor Status Justifikasi Komponen yang Terpengaruh
1.1.2 Memastikan /tmp dikonfigurasi Dinilai Gagal Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.10 Pastikan ada partisi terpisah untuk /var Dinilai Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.11 Pastikan ada partisi terpisah untuk /var/tmp Dinilai Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.15 Pastikan ada partisi terpisah untuk {i> /var/log<i} Dinilai Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.16 Memastikan ada partisi terpisah untuk /var/log/audit Dinilai Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.17 Pastikan ada partisi terpisah untuk /home Dinilai Tidak dapat diperbaiki Kanonis saat ini tidak memiliki rencana untuk mengubah partisi image cloud. Semua node cluster, Workstation admin Jungkat-jungkit
1.1.22 Memastikan {i>sticky bit<i} disetel di semua direktori yang dapat ditulis Dinilai Gagal Hal ini dapat mengganggu fungsi Anthos dan layanannya, serta tidak diaktifkan secara default Semua node cluster, Workstation admin
1.5.1 Memastikan izin pada konfigurasi bootloader dikonfigurasi Dinilai Gagal Izin dibiarkan sebagai default. Semua node cluster, Jungkat-jungkit
1.5.2 Pastikan sandi bootloader telah disetel Dinilai Bergantung pada Lingkungan Tidak ada kata sandi {i>root<i} yang diatur pada gambar {i>cloud <i}Ubuntu. Semua node cluster, Workstation admin Jungkat-jungkit
1.5.3 Memastikan autentikasi diperlukan untuk mode satu pengguna Dinilai Bergantung pada Lingkungan Tidak ada kata sandi {i>root<i} yang diatur pada gambar {i>cloud <i}Ubuntu. Semua node cluster, Workstation admin Jungkat-jungkit
2.3.6 Pastikan RPC tidak diinstal Dinilai Gagal {i>rpcbind<i} diinstal pada gambar awan Kanonis, meskipun tidak diaktifkan secara {i>default<i}. Aturan gagal karena mengharuskan aturan tidak diinstal Semua node cluster
3.2.2 Pastikan penerusan IP dinonaktifkan Dinilai Gagal Penerusan IP diperlukan agar Kubernetes (GKE) berfungsi dan mengarahkan traffic dengan benar Semua node cluster, Workstation admin Jungkat-jungkit
3.2.7 Pastikan Pemfilteran Jalur Terbalik diaktifkan Dinilai Bergantung pada Lingkungan Perutean asinkron dan asal jalur terbalik adalah persyaratan untuk mengirimkan load balancing cluster Seesaw
3.5.3.2.1 Memastikan kebijakan default tolak firewall Dinilai Bergantung pada Lingkungan Sebaiknya Google Distributed Cloud 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.2.2 Memastikan traffic loopback dikonfigurasi Dinilai Bergantung pada Lingkungan Penggunaan antarmuka loopback dibatasi mengingat fungsionalitas 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 Google Distributed Cloud 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.3.1 Memastikan kebijakan firewall tolak default IPv6 Dinilai Bergantung pada Lingkungan Sebaiknya Google Distributed Cloud di-deploy di jaringan pribadi dengan perlindungan firewall yang sesuai. Aturan firewall yang diperlukan dapat ditemukan di sini. Selain itu, Anthos tidak memerlukan IPv6 berdasarkan dukungan GA. Semua node cluster, Workstation admin Jungkat-jungkit
3.5.3.3.2 Memastikan traffic loopback IPv6 dikonfigurasi Dinilai Bergantung pada Lingkungan Anthos tidak memerlukan IPv6 berdasarkan dukungan GA. Bidang kontrol admin, Jungkat-jungkit
4.1.1.3 Pastikan pengauditan untuk proses yang dimulai sebelum diaudit diaktifkan Dinilai Gagal Masalah umum pada proses build menandai hal ini sebagai Gagal, tetapi hal ini harus dianggap sebagai alarm palsu. Hal ini akan diperbaiki di masa mendatang. Semua node cluster, Jungkat-jungkit
4.1.11 Memastikan penggunaan perintah dengan hak istimewa dikumpulkan Dinilai Gagal Beberapa biner diinstal saat runtime, sehingga perbaikan runtime diperlukan. Semua node cluster, Workstation admin Jungkat-jungkit
4.2.1.5 Memastikan rsyslog dikonfigurasi untuk mengirim log ke host log jarak jauh Dinilai Bergantung pada Lingkungan Google Distributed Cloud saat ini mengumpulkan semua log terjurnal (dari layanan sistem). Mereka dapat melihat log ini di bagian "k8s_node" Semua node cluster, Workstation admin Jungkat-jungkit
4.2.3 Memastikan izin di semua logfile 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 Jungkat-jungkit
4,4 Memastikan logrotate menetapkan izin yang sesuai Dinilai Gagal Mematuhi aturan ini dapat memengaruhi fungsi logging saat ini Semua node cluster, Seesaw
5.2.18 Pastikan akses SSH dibatasi Dinilai Bergantung pada Lingkungan Hal ini tidak dikonfigurasi secara default. Fitur ini dapat dikonfigurasi untuk memenuhi persyaratan spesifik Anda. Semua node cluster, Workstation admin Jungkat-jungkit
5.2.20 Pastikan SSH AllowTcpPenerusan dinonaktifkan Dinilai Gagal Mematuhi aturan ini dapat memengaruhi fungsi tunnel ssh saat ini Semua node cluster
5.4.1.1 Pastikan masa berlaku sandi adalah 365 hari atau kurang Dinilai Kontrol yang setara VM untuk Google Distributed Cloud mengandalkan kunci ssh untuk login pengguna, bukan sandi Semua node cluster
6.1.10 Memastikan tidak ada file yang dapat ditulis Dinilai Gagal Izin dibiarkan sebagai default. Semua node cluster
6.1.11 Memastikan tidak ada file atau direktori yang tidak dimiliki Dinilai Gagal Izin dibiarkan sebagai default. Semua node cluster
6.1.12 Memastikan tidak ada file atau direktori yang tidak dikelompokkan Dinilai Gagal Izin dibiarkan sebagai default. Semua node cluster
6.2.7 Memastikan file titik tidak dapat ditulisi grup atau dunia Dinilai Gagal Pengaturan {i>default<i} untuk Ubuntu mengizinkan izin akses grup file dot karena kompatibilitas Workstation admin

Mengonfigurasi cron job AIDE

AIDE adalah alat pemeriksaan integritas file yang memastikan kepatuhan terhadap CIS L1 Tolok ukur server 1.4 Filesystem Integrity Checking. Di Google Distributed Cloud, proses AIDE telah menyebabkan masalah penggunaan resource yang tinggi.

Proses AIDE pada node dinonaktifkan secara default untuk mencegah resource masalah performa. Perubahan 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 yang berjalan di kumpulan node sebanyak yang Anda inginkan dengan menentukan kumpulan pada kolom nodeSelector. Untuk menjalankan jadwal cron job yang sama di berbagai kumpulan node, hapus kolom nodeSelector. Namun, untuk menghindari kemacetan sumber daya {i>host<i}, sebaiknya Anda mempertahankan jadwal proyek.

    • cron job dijadwalkan berjalan setiap hari pada pukul 05.30 sebagaimana 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, dan buat elemen Set Daemon:

    kubectl apply --kubeconfig USER_CLUSTER_KUBECONFIG -f enable-aide.yaml
    

    dengan USER_CLUSTER_KUBECONFIG adalah jalur file kubeconfig untuk cluster pengguna Anda.