Dokumen ini menjelaskan tingkat kepatuhan yang dimiliki Google Distributed Cloud terhadap 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 akan melalui proses hardening agar memenuhi profil Server Level 2.
Evaluasi di 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 yang sama persis dalam rekomendasi tolok ukur, tetapi mekanisme lain di Google Distributed Cloud menyediakan kontrol keamanan yang setara. |
Tergantung pada lingkungan | Google Distributed Cloud tidak mengonfigurasi item yang terkait dengan rekomendasi tolok ukur. Konfigurasi Anda menentukan apakah lingkungan Anda sesuai dengan rekomendasi. |
Status Google Distributed Cloud
Image Ubuntu yang digunakan dengan Google Distributed Cloud menjalani proses hardening untuk memenuhi profil CIS Level 2 - Server. Tabel berikut memberikan alasan mengapa komponen Google Distributed Cloud tidak lulus rekomendasi tertentu.
Google Distributed Cloud 1.29
Segera hadir.Google Distributed Cloud 1.28
Versi
Bagian ini mengacu pada versi berikut:
Versi Google Distributed Cloud | Versi Ubuntu | Versi CIS Ubuntu Benchmark | Tingkat CIS |
---|---|---|---|
1,28 | 22,04 LTS | v1.0.0 | Server Level 2 |
Status Google Distributed Cloud
Image Ubuntu yang digunakan dengan Google Distributed Cloud menjalani proses hardening untuk memenuhi profil CIS Level 2 - Server. Tabel berikut memberikan alasan mengapa komponen Google Distributed Cloud tidak lulus rekomendasi tertentu.
# | Rekomendasi | Status | Justifikasi | Komponen yang Terpengaruh |
---|---|---|---|---|
1.1.2.1 | Pastikan /tmp Terletak di Partisi Terpisah | Gagal | Saat ini, kanonis tidak berencana mengubah partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.3.1 | Pastikan {i>/var <i}Terletak di Partisi Terpisah | Tidak dapat diperbaiki | Saat ini, kanonis tidak berencana mengubah partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.4.1 | Pastikan {i>/var/tmp <i}Terletak di Partisi Terpisah | Tidak dapat diperbaiki | Saat ini, kanonis tidak berencana mengubah partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.5.1 | Pastikan {i>/var/log<i} Terletak di Partisi Terpisah | Tidak dapat diperbaiki | Saat ini, kanonis tidak berencana mengubah partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.6.1 | Pastikan /var/log/audit Terletak di Partisi Terpisah | Tidak dapat diperbaiki | Saat ini, kanonis tidak berencana mengubah partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.7.1 | Pastikan /home Berlokasi Di Partisi Terpisah | Tidak dapat diperbaiki | Saat ini, kanonis tidak berencana mengubah partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.4.1 | Menetapkan Sandi Boot Loader di grub2 | Bergantung pada Lingkungan | Tidak ada kata sandi root yang disetel pada cloud image Ubuntu. | Semua node cluster, workstation Admin, Seesaw |
1.4.3 | Memastikan Autentikasi Diperlukan untuk Mode Satu Pengguna | Bergantung pada Lingkungan | Tidak ada kata sandi root yang disetel pada cloud image Ubuntu. | Semua node cluster, workstation Admin, Seesaw |
2.3.6 | Copot instalasi Paket rpcbind | Gagal | rpcbind diinstal pada image cloud canonical, meskipun tidak diaktifkan secara default. Aturan gagal karena mengharuskan aturan tidak diinstal | Semua node cluster Workstation admin, Seesaw |
3.3.7 | Mengaktifkan Parameter Kernel untuk Menggunakan Reverse Path Filtering di semua Antarmuka IPv4 | Bergantung pada Lingkungan | Originasi jalur terbalik dan perutean asinkron merupakan persyaratan untuk mengirimkan load balancing cluster. | Node master non-admin Seesaw |
3.5.2.6 | Menetapkan konfigurasi nftables untuk traffic loopback | Tidak dapat diperbaiki | Jaringan Anthos terpengaruh oleh aturan ini. | Semua node cluster, workstation Admin, Seesaw |
3.5.2.8 | Pastikan kebijakan tolak firewall 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 dalam tolok ukur mendatang. | Semua node cluster, workstation Admin, Seesaw |
5.2.18 | Membatasi Akses SSH Pengguna | Bergantung pada Lingkungan | Opsi ini tidak dikonfigurasi secara default. | Semua node cluster, workstation Admin, Seesaw |
5.3.4 | Memastikan Pengguna Mengautentikasi Ulang untuk Eskalasi Hak - sudo | Bergantung pada Lingkungan | Opsi ini tidak dikonfigurasi secara default. | Semua node cluster, workstation Admin, Seesaw |
5.5.1.2 | Setel Usia Maksimum Sandi | Kontrol yang setara | VM untuk Google Distributed Cloud mengandalkan kunci ssh untuk login pengguna, bukan menggunakan sandi | Semua node cluster |
6.1.10 | Memastikan Semua File Milik Pengguna | Gagal | Izin telah dibiarkan sebagai default. | Semua node cluster |
Google Distributed Cloud 1.16
Versi
Bagian ini mengacu pada versi berikut:
Versi Google Distributed Cloud | Versi Ubuntu | Versi CIS Ubuntu Benchmark | Tingkat CIS |
---|---|---|---|
1.16 | 20,04 LTS | v1.0.0 | Server Level 2 |
Status Google Distributed Cloud
Image Ubuntu yang digunakan dengan Google Distributed Cloud menjalani proses hardening untuk memenuhi profil CIS Level 2 - Server. Tabel berikut memberikan alasan mengapa komponen Google Distributed Cloud tidak lulus rekomendasi tertentu.
# | Rekomendasi | Diberi Skor/Tidak Dinilai | Status | Justifikasi | Komponen yang Terpengaruh |
---|---|---|---|---|---|
1.1.2 | Pastikan /tmp dikonfigurasi | Dinilai | Gagal | Saat ini, kanonis tidak berencana mengubah partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.10 | Pastikan ada partisi terpisah untuk /var | Dinilai | Tidak dapat diperbaiki | Saat ini, kanonis tidak berencana mengubah 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, kanonis tidak berencana mengubah 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, kanonis tidak berencana mengubah 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, kanonis tidak berencana mengubah partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.17 | Pastikan ada partisi terpisah untuk /home | Dinilai | Tidak dapat diperbaiki | Saat ini, kanonis tidak berencana mengubah partisi image cloud. | Semua node cluster, workstation Admin, Seesaw |
1.1.22 | Pastikan {i>sticky bit<i} ditetapkan di semua direktori yang dapat ditulis oleh dunia | Dinilai | Gagal | Hal ini dapat mengganggu fungsi Anthos dan layanannya serta tidak diaktifkan secara default | Semua node cluster, workstation Admin |
1.5.1 | Pastikan izin pada konfigurasi bootloader telah dikonfigurasi | Dinilai | Gagal | Izin telah dibiarkan sebagai default. | Semua node cluster, Seesaw |
1.5.2 | Pastikan sandi bootloader disetel | Dinilai | Bergantung pada Lingkungan | Tidak ada kata sandi root yang disetel pada cloud image Ubuntu. | Semua node cluster, workstation Admin, Seesaw |
1.5.3 | Memastikan autentikasi diperlukan untuk mode satu pengguna | Dinilai | Bergantung pada Lingkungan | Tidak ada kata sandi root yang disetel pada cloud image Ubuntu. | Semua node cluster, workstation Admin, Seesaw |
2.3.6 | Pastikan RPC tidak terinstal | Dinilai | Gagal | rpcbind diinstal pada image cloud canonical, meskipun tidak diaktifkan secara default. 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) dapat berfungsi dan merutekan traffic dengan benar | Semua node cluster, workstation Admin, Seesaw |
3.2.7 | Pastikan Pemfilteran Jalur Balik diaktifkan | Dinilai | Bergantung pada Lingkungan | Originasi jalur terbalik dan pemilihan rute asinkron merupakan persyaratan untuk mengirimkan load balancing cluster | Seesaw |
3.5.3.2.1 | Memastikan kebijakan tolak firewall default | 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 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 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.3.1 | Pastikan kebijakan tolak firewall 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 memiliki persyaratan untuk IPv6 berdasarkan dukungan GA. | Semua node cluster, workstation Admin, Seesaw |
3.5.3.3.2 | Memastikan traffic loopback IPv6 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 yang diketahui pada proses build kami menandai peristiwa ini sebagai Gagal, namun hal ini harus dianggap sebagai alarm palsu. Masalah ini akan diperbaiki pada masa mendatang. | Semua node cluster, Seesaw |
4.1.11 | Memastikan 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 | 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). Pengguna dapat melihat log ini di bagian "k8s_node" | Semua node cluster, workstation Admin, Seesaw |
4.2.3 | Pastikan izin pada 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 dalam tolok ukur mendatang. | Semua node cluster, workstation Admin, Seesaw |
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 | Memastikan 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 SSH AllowTcpPenerusan 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 Google Distributed Cloud mengandalkan kunci ssh untuk login pengguna, bukan menggunakan sandi | Semua node cluster |
6.1.10 | Memastikan tidak ada file yang dapat ditulis dunia | Dinilai | Gagal | Izin telah dibiarkan sebagai default. | Semua node cluster |
6.1.11 | Pastikan 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 CIS L1
Server benchmark 1.4 Filesystem Integrity Checking
. Di Google Distributed Cloud,
proses AIDE menyebabkan masalah penggunaan resource yang tinggi.
Proses AIDE pada node dinonaktifkan secara default untuk mencegah masalah
resource. Hal ini akan memengaruhi kepatuhan terhadap tolok ukur 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 di kumpulan node
pool-1
seperti yang ditentukan olehcloud.google.com/gke-nodepool: pool-1
nodeSelector. Anda dapat mengonfigurasi proses AIDE untuk dijalankan di kumpulan node sebanyak yang Anda inginkan dengan menentukan kumpulan tersebut dalam kolomnodeSelector
. Untuk menjalankan jadwal cron job yang sama di berbagai node pool, hapus kolomnodeSelector
. Namun, untuk menghindari kepadatan resource host, sebaiknya Anda mempertahankan 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
, dan buat DaemonSet:kubectl apply --kubeconfig USER_CLUSTER_KUBECONFIG -f enable-aide.yaml
dengan USER_CLUSTER_KUBECONFIG adalah jalur file kubeconfig untuk cluster pengguna Anda.