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:
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 yang berjalan di kumpulan node sebanyak yang Anda inginkan dengan menentukan kumpulan pada kolomnodeSelector
. Untuk menjalankan jadwal cron job yang sama di berbagai kumpulan node, hapus kolomnodeSelector
. 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.
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.