Halaman ini menyediakan daftar panduan referensi dan teknik untuk memperbaiki temuan Security Health Analytics menggunakan Security Command Center.
Anda memerlukan peran Identity and Access Management (IAM) yang memadai untuk melihat atau mengedit temuan, serta untuk mengakses atau mengubah resource Google Cloud. Jika Anda mengalami error izin saat mengakses Security Command Center di konsol Google Cloud, minta bantuan administrator Anda dan, untuk mempelajari peran, lihat Kontrol akses. Untuk mengatasi error resource, baca dokumentasi untuk produk yang terpengaruh.
Perbaikan Security Health Analytics
Bagian ini mencakup petunjuk perbaikan untuk semua temuan Security Health Analytics.
Untuk menemukan jenis yang dipetakan ke CIS Benchmark, panduan perbaikan berasal dari Center for Internet Security (CIS), kecuali jika dinyatakan lain. Untuk informasi selengkapnya, lihat Pendeteksi dan kepatuhan.
Penonaktifan temuan setelah perbaikan
Setelah Anda memperbaiki temuan kerentanan atau kesalahan konfigurasi, Security Health Analytics akan otomatis menetapkan status temuan ke INACTIVE
saat berikutnya memindai temuan tersebut.
Waktu yang diperlukan Security Health Analytics untuk menetapkan temuan yang telah diperbaiki ke INACTIVE
bergantung pada waktu temuan diperbaiki dan jadwal pemindaian yang
mendeteksi temuan.
Security Health Analytics juga menetapkan status temuan ke INACTIVE
saat pemindaian mendeteksi bahwa resource yang terpengaruh oleh temuan tersebut
dihapus. Jika ingin menghapus temuan untuk resource yang dihapus
dari layar saat menunggu Security Health Analytics mendeteksi bahwa
resource tersebut dihapus, Anda dapat membisukan temuan. Untuk menonaktifkan temuan, lihat
Menonaktifkan temuan di Security Command Center.
Jangan gunakan bisukan untuk menyembunyikan temuan yang telah diperbaiki untuk resource yang ada.
Jika masalah tersebut berulang dan Security Health Analytics memulihkan status ACTIVE
temuan, Anda mungkin tidak melihat temuan yang diaktifkan kembali, karena
temuan yang dibisukan dikecualikan dari kueri temuan yang menentukan NOT mute="MUTED"
, seperti kueri temuan default.
Untuk mengetahui informasi tentang interval pemindaian, lihat Jenis pemindaian Security Health Analytics.
Access Transparency disabled
Nama kategori di API: ACCESS_TRANSPARENCY_DISABLED
Log Transparansi Akses saat karyawan Google Cloud mengakses project di organisasi Anda untuk memberikan dukungan. Aktifkan Transparansi Akses untuk mencatat siapa dari Google Cloud yang mengakses informasi Anda, kapan, dan alasannya. Untuk informasi selengkapnya, lihat Transparansi Akses.
Untuk mengaktifkan Transparansi Akses pada project, project tersebut harus dikaitkan dengan akun penagihan.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna melakukan tugas ini, minta
administrator untuk memberi Anda peran IAM Access Transparency Admin (roles/axt.admin
)
di tingkat organisasi. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran bawaan ini berisi izin axt.labels.get
dan
axt.labels.set
, yang diperlukan untuk melakukan tugas ini. Anda mungkin juga
dapat mendapatkan izin ini dengan
peran khusus atau
peran standar lainnya.
Langkah-langkah perbaikan
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Periksa izin tingkat organisasi Anda:
Buka halaman Identity and Access Management di konsol Google Cloud.
Jika diminta, pilih organisasi Google Cloud di menu pemilih.
Pilih project Google Cloud dalam organisasi menggunakan menu pemilih.
Transparansi Akses dikonfigurasi di halaman project Google Cloud, tetapi Transparansi Akses diaktifkan untuk seluruh organisasi.
Buka halaman IAM & Admin > Settings.
Klik Enable Access Transparency.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAlloyDB auto backup disabled
Nama kategori di API: ALLOYDB_AUTO_BACKUP_DISABLED
Pencadangan otomatis tidak diaktifkan untuk cluster AlloyDB untuk PostgreSQL.
Untuk membantu mencegah kehilangan data, aktifkan pencadangan otomatis untuk cluster Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi pencadangan otomatis tambahan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman cluster AlloyDB untuk PostgreSQL di konsol Google Cloud.
Klik cluster di kolom Resource Name.
Klik Data protection.
Di bagian Automated backup policy, klik Edit di baris Automated backups.
Centang kotak Pencadangan otomatis.
Klik Perbarui.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAlloyDB backups disabled
Nama kategori di API: ALLOYDB_BACKUPS_DISABLED
Cluster AlloyDB untuk PostgreSQL tidak mengaktifkan cadangan otomatis maupun berkelanjutan.
Untuk membantu mencegah kehilangan data, aktifkan pencadangan otomatis atau berkelanjutan untuk cluster Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi pencadangan tambahan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman cluster AlloyDB untuk PostgreSQL di konsol Google Cloud.
Di kolom Resource Name, klik nama cluster yang diidentifikasi dalam temuan.
Klik Data protection.
Siapkan kebijakan pencadangan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAlloyDB CMEK disabled
Nama kategori di API: ALLOYDB_CMEK_DISABLED
Cluster AlloyDB tidak menggunakan kunci enkripsi yang dikelola pelanggan (CMEK).
Dengan CMEK, kunci yang Anda buat dan kelola di Cloud KMS menggabungkan kunci yang digunakan Google untuk mengenkripsi data Anda, sehingga Anda memiliki lebih banyak kontrol terhadap akses ke data Anda. Untuk informasi selengkapnya, lihat Tentang CMEK. CMEK akan dikenai biaya tambahan terkait Cloud KMS.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman cluster AlloyDB untuk PostgreSQL di konsol Google Cloud.
Di kolom Resource Name, klik nama cluster yang diidentifikasi dalam temuan.
Klik Buat Cadangan. Menetapkan ID cadangan.
Klik Create.
Di bagian Pencadangan/Pemulihan, klik Pulihkan di samping entri ID Cadangan yang Anda pilih.
Tetapkan ID dan jaringan cluster baru.
Klik Advanced Encryption Options. Pilih CMEK yang ingin Anda gunakan untuk mengenkripsi cluster baru.
Klik Pulihkan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAlloyDB log min error statement severity
Nama kategori di API: ALLOYDB_LOG_MIN_ERROR_STATEMENT_SEVERITY
Instance AlloyDB untuk PostgreSQL tidak memiliki flag database log_min_error_statement
yang disetel ke error
atau nilai rekomendasi lainnya.
Flag log_min_error_statement
mengontrol apakah pernyataan SQL yang menyebabkan
kondisi error dicatat dalam log server. Pernyataan SQL dari tingkat keparahan yang ditentukan atau yang lebih tinggi dicatat ke dalam log. Makin tinggi tingkat keparahan, makin sedikit pesan yang
dicatat. Jika disetel ke tingkat keparahan yang terlalu tinggi, pesan error mungkin tidak dicatat ke dalam log.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman cluster AlloyDB untuk PostgreSQL di konsol Google Cloud.
Klik cluster di kolom Resource Name.
Di bagian Instances in your cluster, klik Edit untuk instance.
Klik Opsi Konfigurasi Lanjutan.
Di bagian Flags, tetapkan flag database
log_min_error_statement
dengan salah satu nilai rekomendasi berikut, sesuai dengan kebijakan logging organisasi Anda.debug5
debug4
debug3
debug2
debug1
info
notice
warning
error
Klik Update Instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAlloyDB log min messages
Nama kategori di API: ALLOYDB_LOG_MIN_MESSAGES
Instance AlloyDB untuk PostgreSQL tidak memiliki flag database log_min_messages
yang disetel ke minimal warning
.
Flag log_min_messages
mengontrol tingkat pesan mana yang dicatat dalam log server. Makin tinggi tingkat keparahan, makin sedikit pesan yang dicatat. Menyetel nilai minimum terlalu rendah dapat menyebabkan peningkatan ukuran dan panjang penyimpanan log, sehingga menyulitkan Anda untuk menemukan error sebenarnya.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman cluster AlloyDB untuk PostgreSQL di konsol Google Cloud.
Klik cluster di kolom Resource Name.
Di bagian Instances in your cluster, klik Edit untuk instance.
Klik Opsi Konfigurasi Lanjutan.
Di bagian Flags, tetapkan flag database
log_min_messages
dengan salah satu nilai rekomendasi berikut, sesuai dengan kebijakan logging organisasi Anda.debug5
debug4
debug3
debug2
debug1
info
notice
warning
Klik Update Instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAlloyDB log error verbosity
Nama kategori di API: ALLOYDB_LOG_ERROR_VERBOSITY
Instance AlloyDB untuk PostgreSQL tidak memiliki flag database log_error_verbosity
yang disetel ke default
atau nilai lain yang tidak terlalu ketat.
Flag log_error_verbosity
mengontrol jumlah detail dalam pesan yang dicatat ke dalam log. Makin panjang informasi, makin banyak detail yang tercatat dalam pesan.
Sebaiknya tetapkan flag ini ke default
atau nilai lain yang tidak begitu ketat.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman cluster AlloyDB untuk PostgreSQL di konsol Google Cloud.
Klik cluster di kolom Resource Name.
Di bagian Instances in your cluster, klik Edit untuk instance.
Klik Opsi Konfigurasi Lanjutan.
Di bagian Flags, tetapkan flag database
log_error_verbosity
dengan salah satu nilai rekomendasi berikut, sesuai dengan kebijakan logging organisasi Anda.default
verbose
Klik Update Instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAlloyDB Public IP
Nama kategori di API: ALLOYDB_PUBLIC_IP
Instance database AlloyDB untuk PostgreSQL memiliki alamat IP publik.
Untuk mengurangi permukaan serangan organisasi, gunakan alamat IP pribadi, bukan alamat IP publik. Alamat IP pribadi memberikan keamanan jaringan yang lebih baik dan latensi yang lebih rendah untuk aplikasi Anda.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman cluster AlloyDB untuk PostgreSQL di konsol Google Cloud.
Di kolom Resource Name, klik nama cluster yang diidentifikasi dalam temuan.
Di bagian Instances in your cluster, klik Edit untuk instance.
Di bagian Connectivity, hapus centang pada kotak Enable Public IP.
Klik Update Instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAlloyDB SSL not enforced
Nama kategori di API: ALLOYDB_SSL_NOT_ENFORCED
Instance database AlloyDB untuk PostgreSQL tidak mewajibkan semua koneksi masuk untuk menggunakan SSL.
Untuk menghindari kebocoran data sensitif yang dikirim melalui komunikasi yang tidak terenkripsi, semua koneksi masuk ke instance database AlloyDB Anda harus menggunakan SSL. Pelajari lebih lanjut Mengonfigurasi SSL/TLS.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman cluster AlloyDB untuk PostgreSQL di konsol Google Cloud.
Di kolom Resource Name, klik nama cluster yang diidentifikasi dalam temuan.
Di bagian Instances in your cluster, klik Edit untuk instance.
Di bagian Network Security, klik kotak untuk Require SSL Encryption.
Klik Update Instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAdmin service account
Nama kategori di API: ADMIN_SERVICE_ACCOUNT
Akun layanan di organisasi atau project Anda memiliki hak istimewa Admin, Pemilik, atau Editor. Peran ini memiliki izin yang luas dan tidak boleh ditetapkan ke akun layanan. Untuk mempelajari akun layanan dan peran yang tersedia untuknya, lihat Akun layanan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman kebijakan IAM di konsol Google Cloud.
Untuk setiap akun utama yang diidentifikasi dalam temuan:
- Klik Edit akun utama di samping akun utama.
- Untuk menghapus izin, klik Hapus peran di samping peran.
- Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAlpha cluster enabled
Nama kategori di API: ALPHA_CLUSTER_ENABLED
Fitur cluster alfa diaktifkan untuk cluster Google Kubernetes Engine (GKE).
Cluster alfa memungkinkan pengguna awal bereksperimen dengan workload yang menggunakan fitur baru sebelum dirilis ke publik. Cluster alfa telah mengaktifkan semua fitur GKE API, tetapi tidak tercakup dalam SLA GKE, tidak menerima update keamanan, upgrade otomatis node, dan perbaikan otomatis node dinonaktifkan, serta tidak dapat diupgrade. File tersebut juga akan otomatis dihapus setelah 30 hari.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Cluster alfa tidak dapat dinonaktifkan. Anda harus membuat cluster baru dengan fitur alfa yang dinonaktifkan.
Buka halaman Kubernetes clusters di konsol Google Cloud.
Klik Create.
Pilih Configure di samping jenis cluster yang ingin Anda buat.
Di tab Features, pastikan Enable Kubernetes alpha features in this cluster dinonaktifkan.
Klik Create.
Untuk memindahkan workload ke cluster baru, lihat Memigrasikan workload ke jenis mesin yang berbeda.
Untuk menghapus cluster asli, lihat Menghapus cluster.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAPI key APIs unrestricted
Nama kategori di API: API_KEY_APIS_UNRESTRICTED
Ada kunci API yang digunakan terlalu luas.
Kunci API yang tidak dibatasi bersifat tidak aman karena dapat diambil dari perangkat tempat kunci tersebut disimpan atau dapat dilihat secara publik, misalnya, dari dalam browser. Sesuai dengan prinsip hak istimewa terendah, konfigurasikan kunci API agar hanya memanggil API yang diperlukan oleh aplikasi. Untuk informasi selengkapnya, lihat Menerapkan pembatasan kunci API.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman API keys di konsol Google Cloud.
Untuk setiap kunci API:
- Di bagian API keys, pada baris untuk setiap kunci API yang API-nya perlu Anda batasi, klik Actions.
- Dari menu Actions, klik Edit API key. Halaman Edit API key akan terbuka.
- Di bagian API restrictions, pilih Restrict APIs. Menu drop-down Pilih API akan muncul.
- Di menu drop-down Select APIs, pilih API yang akan diizinkan.
- Klik Simpan. Mungkin perlu waktu hingga lima menit agar setelan diterapkan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAPI key apps unrestricted
Nama kategori di API: API_KEY_APPS_UNRESTRICTED
Ada kunci API yang digunakan dengan cara yang tidak dibatasi, sehingga memungkinkan penggunaan oleh aplikasi yang tidak tepercaya.
Kunci API yang tidak dibatasi bersifat tidak aman karena dapat diambil di perangkat tempat kunci tersebut disimpan atau dapat dilihat secara publik, misalnya, dari dalam browser. Sesuai dengan prinsip hak istimewa terendah, batasi penggunaan kunci API ke host, perujuk HTTP, dan aplikasi tepercaya. Untuk informasi selengkapnya, lihat Menerapkan pembatasan kunci API.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman API keys di konsol Google Cloud.
Untuk setiap kunci API:
- Di bagian API keys, pada baris untuk setiap kunci API yang aplikasinya perlu Anda batasi, klik Actions.
- Dari menu Actions, klik Edit API key. Halaman Edit API key akan terbuka.
- Di halaman Edit API key, di bagian Application restrictions, pilih kategori pembatasan. Anda dapat menetapkan satu pembatasan aplikasi per kunci.
- Di kolom Add an item yang muncul saat Anda memilih batasan, klik Add an item untuk menambahkan batasan berdasarkan kebutuhan aplikasi Anda.
- Setelah selesai menambahkan item, klik Selesai.
- Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAPI key exists
Nama kategori di API: API_KEY_EXISTS
Project menggunakan kunci API, bukan autentikasi standar.
Kunci API kurang aman dibandingkan metode autentikasi lainnya karena merupakan string terenkripsi sederhana dan mudah ditemukan serta digunakan orang lain. Kunci tersebut dapat diambil di perangkat tempat kunci tersebut disimpan atau dapat dilihat secara publik, misalnya dari dalam browser. Selain itu, kunci API tidak secara unik mengidentifikasi pengguna atau aplikasi yang membuat permintaan. Sebagai alternatif, Anda dapat menggunakan alur autentikasi standar, dengan akun layanan atau akun pengguna.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
- Pastikan aplikasi Anda dikonfigurasi dengan format autentikasi alternatif.
Buka halaman Kredensial API di konsol Google Cloud.
Di bagian API keys pada baris untuk setiap kunci API yang ingin Anda hapus, klik
Actions.Dari menu Actions, klik Delete API key.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAPI key not rotated
Nama kategori di API: API_KEY_NOT_ROTATED
Kunci API belum dirotasi selama lebih dari 90 hari.
Kunci API tidak memiliki masa berakhir, jadi jika dicuri, kunci itu dapat terus-menerus digunakan kecuali jika pemilik project mencabut atau merotasi kunci. Membuat ulang kunci API secara rutin akan mengurangi peluang kunci API curian dapat digunakan untuk mengakses data pada akun yang dibobol atau dihentikan. Rotasi kunci API setidaknya setiap 90 hari. Untuk informasi selengkapnya, lihat Praktik terbaik untuk mengelola kunci API.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman API keys di konsol Google Cloud.
Untuk setiap kunci API:
- Di bagian API keys, pada baris untuk setiap kunci API yang perlu Anda putar, klik Actions.
- Dari menu Actions, klik Edit API key. Halaman Edit API key akan terbuka.
- Di halaman Edit API key, jika tanggal di kolom Creation date lebih dari 90 hari, klik Regenerate key. Kunci baru akan dibuat.
- Klik Simpan.
- Untuk memastikan aplikasi Anda terus berfungsi tanpa gangguan, update aplikasi tersebut agar menggunakan kunci API baru. Kunci API lama berfungsi selama 24 jam sebelum dinonaktifkan secara permanen.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAudit config not monitored
Nama kategori di API: AUDIT_CONFIG_NOT_MONITORED
Metrik dan pemberitahuan log tidak dikonfigurasi untuk memantau perubahan konfigurasi audit.
Cloud Logging menghasilkan log Aktivitas Admin dan Akses Data yang memungkinkan analisis keamanan, pelacakan perubahan resource, dan audit kepatuhan. Dengan memantau perubahan konfigurasi audit, Anda dapat memastikan bahwa semua aktivitas dalam project Anda dapat diaudit kapan saja. Untuk informasi lebih lanjut, baca Ringkasan metrik berbasis log.
Bergantung pada jumlah informasi, biaya Cloud Monitoring dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, buat metrik, jika perlu, dan kebijakan pemberitahuan:
Membuat metrik
Buka halaman Logs-based Metrics di Konsol Google Cloud.
Klik Buat Metrik.
Di bagian Metric Type, pilih Counter.
Di bagian Details:
- Setel Log metric name.
- Tambahkan deskripsi.
- Setel Units ke 1.
Di bagian Filter selection, salin dan tempel teks berikut ke dalam kotak Build filter, yang menggantikan teks yang ada, jika diperlukan:
protoPayload.methodName="SetIamPolicy" AND protoPayload.serviceData.policyDelta.auditConfigDeltas:*
Klik Buat Metrik. Anda akan melihat konfirmasi.
Buat Kebijakan Pemberitahuan
-
Di konsol Google Cloud, buka halaman Log-based Metrics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
- Di bagian Metrik yang ditentukan pengguna, pilih metrik yang Anda buat di bagian sebelumnya.
-
Klik Lainnya
, lalu klik Buat pemberitahuan dari metrik.Dialog New condition akan terbuka dengan opsi metrik dan transformasi data yang telah diisi otomatis.
- Klik Berikutnya.
- Tinjau setelan yang telah diisi otomatis. Anda mungkin ingin mengubah Nilai minimum.
- Klik Nama kondisi, lalu masukkan nama untuk kondisi.
- Klik Berikutnya.
Untuk menambahkan notifikasi ke kebijakan pemberitahuan, klik Notification channels. Dalam dialog ini, pilih satu atau beberapa saluran notifikasi dari menu, lalu klik OK.
Untuk menerima notifikasi saat insiden dibuka dan ditutup, centang Notify on incident closure. Secara default, notifikasi hanya dikirim saat insiden dibuka.
- Opsional: Perbarui Incident autoclose duration. Kolom ini menentukan kapan Monitoring akan menutup insiden jika data metrik tidak ada.
- Opsional: Klik Documentation, lalu tambahkan informasi apa pun yang ingin Anda sertakan dalam pesan notifikasi.
- Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.
- Klik Create Policy.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAudit logging disabled
Nama kategori di API: AUDIT_LOGGING_DISABLED
Temuan ini tidak tersedia untuk aktivasi tingkat project.
Logging audit dinonaktifkan untuk satu atau beberapa layanan Google Cloud, atau satu atau beberapa akun utama dikecualikan dari logging audit akses data.
Aktifkan Cloud Logging untuk semua layanan guna melacak semua aktivitas admin, akses baca, dan akses tulis ke data pengguna. Bergantung pada jumlah informasi, biaya Cloud Logging dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Jika ada akun utama yang dikecualikan dari logging audit akses data di konfigurasi logging audit akses data default atau konfigurasi logging untuk setiap layanan, hapus pengecualian tersebut.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Konfigurasi default log audit Akses Data di konsol Google Cloud.
Di tab Log types, aktifkan logging audit akses data dalam konfigurasi default:
- Pilih Admin Read, Data Read, dan Data Write.
- Klik Simpan.
Pada tab Prinsipal yang dikecualikan, hapus semua pengguna yang dikecualikan dari konfigurasi default:
- Hapus setiap akun utama yang tercantum dengan mengklik Hapus di samping setiap nama.
- Klik Simpan.
Buka halaman Log Audit.
Hapus akun utama yang dikecualikan dari konfigurasi log audit akses data di setiap layanan.
- Di bagian Data access audit logs configuration, untuk setiap layanan yang menunjukkan akun utama yang dikecualikan, klik layanan tersebut. Panel konfigurasi log audit akan terbuka untuk layanan tersebut.
- Di tab Akun utama yang dikecualikan, hapus semua akun utama yang dikecualikan dengan mengklik Hapus di samping setiap nama.
- Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAuto backup disabled
Nama kategori di API: AUTO_BACKUP_DISABLED
Pencadangan otomatis tidak diaktifkan untuk database Cloud SQL.
Untuk mencegah kehilangan data, aktifkan pencadangan otomatis untuk instance SQL Anda. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola pencadangan on demand dan otomatis.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
Klik nama instance.
Klik Cadangan.
Di samping Setelan, klik
Edit.Centang kotak Pencadangan harian otomatis.
Opsional: Di kotak Jumlah hari, masukkan jumlah hari cadangan yang ingin Anda simpan.
Opsional: Di daftar Jendela pencadangan, pilih periode waktu untuk membuat cadangan.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAuto repair disabled
Nama kategori di API: AUTO_REPAIR_DISABLED
Fitur perbaikan otomatis cluster Google Kubernetes Engine (GKE), yang menjaga node dalam keadaan berjalan dengan baik, dinonaktifkan.
Jika diaktifkan, GKE melakukan pemeriksaan berkala pada status respons setiap node di cluster Anda. Jika health check node gagal berturut-turut dalam jangka waktu yang lama, GKE akan memulai proses perbaikan untuk node tersebut. Untuk informasi selengkapnya, lihat Memperbaiki node secara otomatis.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Klik tab Nodes.
Untuk setiap node pool:
- Klik nama node pool untuk membuka halaman detailnya.
- Klik Edit.
- Di bagian Management, pilih Enable auto-repair.
- Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAuto upgrade disabled
Nama kategori di API: AUTO_UPGRADE_DISABLED
Fitur upgrade otomatis cluster GKE, yang membuat cluster dan node pool tetap menggunakan Kubernetes versi stabil terbaru, dinonaktifkan.
Untuk informasi selengkapnya, lihat Mengupgrade node secara otomatis.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Di daftar cluster, klik nama cluster.
Klik tab Nodes.
Untuk setiap node pool:
- Klik nama node pool untuk membuka halaman detailnya.
- Klik Edit.
- Di bagian Pengelolaan, pilih Aktifkan upgrade otomatis.
- Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariBigQuery table CMEK disabled
Nama kategori di API: BIGQUERY_TABLE_CMEK_DISABLED
Tabel BigQuery tidak dikonfigurasi untuk menggunakan kunci enkripsi yang dikelola pelanggan (CMEK).
Dengan CMEK, kunci yang Anda buat dan kelola di Cloud KMS menggabungkan kunci yang digunakan Google Cloud untuk mengenkripsi data Anda, sehingga Anda memiliki lebih banyak kontrol atas akses ke data Anda. Untuk mengetahui informasi selengkapnya, lihat Melindungi data dengan kunci Cloud KMS.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
- Membuat tabel yang dilindungi oleh Cloud Key Management Service.
- Salin tabel Anda ke tabel baru yang mengaktifkan CMEK.
- Hapus tabel asli.
Untuk menetapkan kunci CMEK default yang mengenkripsi semua tabel baru di set data, lihat Menetapkan kunci default set data.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariBinary authorization disabled
Nama kategori di API: BINARY_AUTHORIZATION_DISABLED
Otorisasi Biner dinonaktifkan di cluster GKE.
Otorisasi Biner menyertakan fitur opsional yang melindungi keamanan supply chain dengan hanya mengizinkan image container yang ditandatangani oleh otoritas tepercaya selama proses pengembangan untuk di-deploy di cluster. Dengan menerapkan deployment berbasis tanda tangan, Anda akan mendapatkan kontrol yang lebih ketat atas lingkungan container, sehingga memastikan hanya image terverifikasi yang diizinkan untuk di-deploy.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Di bagian Security, klik
Edit di baris Binary Authorization.Jika konfigurasi cluster baru saja diubah, tombol edit mungkin dinonaktifkan. Jika Anda tidak dapat mengedit setelan cluster, tunggu beberapa menit, lalu coba lagi.
Dalam dialog, pilih Enable Binary Authorization.
Klik Simpan perubahan.
Buka halaman penyiapan Binary Authorization.
Pastikan kebijakan yang memerlukan pengautentikasi dikonfigurasi dan aturan default project tidak dikonfigurasi ke Allow all images. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan untuk GKE.
Untuk memastikan bahwa image yang melanggar kebijakan diizinkan untuk di-deploy dan pelanggaran dicatat ke Cloud Audit Logs, Anda dapat mengaktifkan mode uji coba.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariBucket CMEK disabled
Nama kategori di API: BUCKET_CMEK_DISABLED
Bucket tidak dienkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK).
Menyetel CMEK default di bucket memberi Anda lebih banyak kontrol atas akses ke data Anda. Untuk informasi selengkapnya, lihat Kunci enkripsi yang dikelola pelanggan.
Untuk memperbaiki temuan ini, gunakan CMEK dengan bucket dengan mengikuti Menggunakan kunci enkripsi yang dikelola pelanggan. CMEK dikenai biaya tambahan terkait Cloud KMS.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariBucket IAM not monitored
Nama kategori di API: BUCKET_IAM_NOT_MONITORED
Metrik dan pemberitahuan log tidak dikonfigurasi untuk memantau perubahan izin IAM Cloud Storage.
Memantau perubahan izin bucket Cloud Storage membantu Anda mengidentifikasi pengguna dengan hak istimewa berlebih atau aktivitas yang mencurigakan. Untuk informasi lebih lanjut, baca Ringkasan metrik berbasis log.
Bergantung pada jumlah informasi, biaya Cloud Monitoring dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Membuat metrik
Buka halaman Logs-based Metrics di Konsol Google Cloud.
Klik Buat Metrik.
Di bagian Metric Type, pilih Counter.
Di bagian Details:
- Setel Log metric name.
- Tambahkan deskripsi.
- Setel Units ke 1.
Di bagian Filter selection, salin dan tempel teks berikut ke dalam kotak Build filter, yang menggantikan teks yang ada, jika diperlukan:
resource.type=gcs_bucket AND protoPayload.methodName="storage.setIamPermissions"
Klik Buat Metrik. Anda akan melihat konfirmasi.
Buat Kebijakan Pemberitahuan
-
Di konsol Google Cloud, buka halaman Log-based Metrics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
- Di bagian Metrik yang ditentukan pengguna, pilih metrik yang Anda buat di bagian sebelumnya.
-
Klik Lainnya
, lalu klik Buat pemberitahuan dari metrik.Dialog New condition akan terbuka dengan opsi metrik dan transformasi data yang telah diisi otomatis.
- Klik Berikutnya.
- Tinjau setelan yang telah diisi otomatis. Anda mungkin ingin mengubah Nilai minimum.
- Klik Nama kondisi, lalu masukkan nama untuk kondisi.
- Klik Berikutnya.
Untuk menambahkan notifikasi ke kebijakan pemberitahuan, klik Notification channels. Dalam dialog ini, pilih satu atau beberapa saluran notifikasi dari menu, lalu klik OK.
Untuk menerima notifikasi saat insiden dibuka dan ditutup, centang Notify on incident closure. Secara default, notifikasi hanya dikirim saat insiden dibuka.
- Opsional: Perbarui Incident autoclose duration. Kolom ini menentukan kapan Monitoring akan menutup insiden jika data metrik tidak ada.
- Opsional: Klik Documentation, lalu tambahkan informasi apa pun yang ingin Anda sertakan dalam pesan notifikasi.
- Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.
- Klik Create Policy.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariBucket logging disabled
Nama kategori di API: BUCKET_LOGGING_DISABLED
Ada bucket penyimpanan tanpa logging yang diaktifkan.
Untuk membantu menyelidiki masalah keamanan dan memantau konsumsi penyimpanan, aktifkan log akses dan informasi penyimpanan untuk bucket Cloud Storage Anda. Log akses memberikan informasi untuk semua permintaan yang dibuat pada bucket yang ditentukan, dan log penyimpanan memberikan informasi tentang konsumsi penyimpanan dari bucket tersebut.
Untuk memperbaiki temuan ini, siapkan logging untuk bucket yang ditunjukkan oleh temuan Security Health Analytics dengan menyelesaikan panduan log penggunaan & log penyimpanan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariBucket policy only disabled
Nama kategori di API: BUCKET_POLICY_ONLY_DISABLED
Akses level bucket yang seragam, yang sebelumnya disebut Khusus Kebijakan Bucket, tidak dikonfigurasi.
Akses level bucket yang seragam menyederhanakan kontrol akses bucket dengan menonaktifkan izin level objek (ACL). Jika diaktifkan, hanya izin IAM level bucket yang memberikan akses ke bucket dan objek yang ada di dalamnya. Untuk mengetahui informasi selengkapnya, lihat Akses tingkat bucket seragam.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Browser Cloud Storage di konsol Google Cloud.
Dalam daftar bucket, klik nama bucket yang diinginkan.
Klik tab Configuration.
Di bagian Permissions, di baris untuk Access control, klik
Edit access control model.Dalam dialog, pilih Seragam.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCloud Asset API disabled
Nama kategori di API: CLOUD_ASSET_API_DISABLED
Layanan Cloud Asset Inventory tidak diaktifkan untuk project.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Library API di konsol Google Cloud.
Telusuri
Cloud Asset Inventory
.Pilih hasil untuk layanan Cloud Asset API.
Pastikan API Enabled ditampilkan.
Cluster logging disabled
Nama kategori di API: CLUSTER_LOGGING_DISABLED
Logging tidak diaktifkan untuk cluster GKE.
Untuk membantu menyelidiki masalah keamanan dan memantau penggunaan, aktifkan Cloud Logging di cluster Anda.
Bergantung pada jumlah informasi, biaya Cloud Logging dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Pilih cluster yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Jika konfigurasi cluster baru-baru ini diubah, tombol edit mungkin dinonaktifkan. Jika Anda tidak dapat mengedit setelan cluster, tunggu beberapa menit, lalu coba lagi.
Pada menu drop-down Stackdriver Logging Lama atau Stackdriver Kubernetes Engine Monitoring, pilih Enabled.
Opsi ini tidak kompatibel. Pastikan Anda menggunakan Stackdriver Kubernetes Engine Monitoring saja, atau Legacy Stackdriver Logging dengan Legacy Stackdriver Monitoring.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCluster monitoring disabled
Nama kategori di API: CLUSTER_MONITORING_DISABLED
Pemantauan dinonaktifkan di cluster GKE.
Untuk membantu menyelidiki masalah keamanan dan memantau penggunaan, aktifkan Cloud Monitoring di cluster Anda.
Bergantung pada jumlah informasi, biaya Cloud Monitoring dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Pilih cluster yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Jika konfigurasi cluster baru-baru ini diubah, tombol edit mungkin dinonaktifkan. Jika Anda tidak dapat mengedit setelan cluster, tunggu beberapa menit, lalu coba lagi.
Pada menu drop-down Legacy Stackdriver Monitoring atau Stackdriver Kubernetes Engine Monitoring, pilih Enabled.
Opsi ini tidak kompatibel. Pastikan Anda menggunakan Stackdriver Kubernetes Engine Monitoring saja, atau Legacy Stackdriver Monitoring dengan Legacy Stackdriver Logging.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCluster private Google access disabled
Nama kategori di API: CLUSTER_PRIVATE_GOOGLE_ACCESS_DISABLED
Host cluster tidak dikonfigurasi untuk hanya menggunakan alamat IP internal pribadi untuk mengakses Google API.
Akses Google Pribadi memungkinkan instance virtual machine (VM) dengan hanya alamat IP internal pribadi untuk menjangkau alamat IP publik dari API dan layanan Google. Untuk informasi selengkapnya, lihat Mengonfigurasi Akses Pribadi Google.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Virtual Private Cloud networks di konsol Google Cloud.
Dalam daftar jaringan, klik nama jaringan yang diinginkan.
Di halaman VPC network details, klik tab Subnets.
Dalam daftar subnet, klik nama subnet yang terkait dengan cluster Kubernetes dalam temuan.
Di halaman Subnet details, klik
Edit.Di bagian Private Google Access, pilih On.
Klik Simpan.
Untuk menghapus IP publik (eksternal) dari instance VM yang traffic eksternalnya hanya ke Google API, lihat Membatalkan penetapan alamat IP eksternal statis.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCluster secrets encryption disabled
Nama kategori di API: CLUSTER_SECRETS_ENCRYPTION_DISABLED
Enkripsi secret lapisan aplikasi dinonaktifkan di cluster GKE.
Enkripsi secret lapisan aplikasi memastikan secret GKE dienkripsi menggunakan kunci Cloud KMS. Fitur ini memberikan lapisan keamanan tambahan untuk data sensitif, seperti secret yang ditentukan pengguna dan secret yang diperlukan untuk operasi cluster, seperti kunci akun layanan, yang semuanya disimpan di etcd.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kunci Cloud KMS di konsol Google Cloud.
Tinjau kunci aplikasi Anda atau buat kunci enkripsi database (DEK). Untuk mengetahui informasi selengkapnya, lihat Membuat kunci Cloud KMS.
Buka halaman Cluster Kubernetes.
Pilih cluster dalam temuan.
Di bagian Security, di kolom Application-layer secrets encryption, klik
Edit Application-layer Secrets Encryption.Centang kotak Enable Application-layer Secrets Encryption, lalu pilih DEK yang Anda buat.
Klik Simpan Perubahan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCluster shielded nodes disabled
Nama kategori di API: CLUSTER_SHIELDED_NODES_DISABLED
Node GKE yang terlindungi tidak diaktifkan untuk cluster.
Tanpa node GKE yang Terlindungi, penyerang dapat mengeksploitasi kerentanan dalam Pod untuk mengekstrak kredensial bootstrap dan meniru identitas node di cluster Anda. Kerentanan ini dapat memberi penyerang akses ke secret cluster.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Pilih cluster dalam temuan.
Di bagian Security, di kolom Shielded GKE nodes, klik
Edit Shielded GKE nodes.Pilih kotak centang Enable Shielded GKE nodes.
Klik Simpan Perubahan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCompute project wide SSH keys allowed
Nama kategori di API: COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED
Kunci SSH di seluruh project digunakan, sehingga memungkinkan login ke semua instance dalam project.
Menggunakan kunci SSH di seluruh project akan memudahkan pengelolaan kunci SSH, tetapi jika dibobol, akan menimbulkan risiko keamanan yang dapat memengaruhi semua instance dalam project. Anda harus menggunakan kunci SSH khusus instance, yang membatasi platform yang diserang jika kunci SSH disusupi. Untuk mengetahui informasi selengkapnya, lihat Mengelola kunci SSH dalam metadata.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Dalam daftar instance, klik nama instance dalam temuan.
Di halaman VM instance details, klik
Edit.Di bagian SSH Keys, pilih Block project-wide SSH keys.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCompute Secure Boot disabled
Nama kategori di API: COMPUTE_SECURE_BOOT_DISABLED
Shielded VM tidak mengaktifkan Booting Aman.
Penggunaan Booting Aman membantu melindungi virtual machine Anda dari rootkit dan bootkit. Compute Engine tidak mengaktifkan Booting Aman secara default karena beberapa driver yang tidak ditandatangani dan software level rendah tidak kompatibel. Jika VM Anda tidak menggunakan software yang tidak kompatibel dan melakukan booting dengan mengaktifkan Booting Aman, Google merekomendasikan penggunaan Booting Aman. Jika Anda menggunakan modul pihak ketiga dengan driver Nvidia, pastikan modul tersebut kompatibel dengan Booting Aman sebelum mengaktifkannya.
Untuk informasi selengkapnya, lihat Booting Aman.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Dalam daftar instance, klik nama instance dalam temuan.
Di halaman VM instance details, klik
Stop.Setelah instance dihentikan, klik
Edit.Di bagian Shielded VM, pilih Turn on Secure Boot.
Klik Simpan.
Klik
Mulai untuk memulai instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCompute serial ports enabled
Nama kategori di API: COMPUTE_SERIAL_PORTS_ENABLED
Port serial diaktifkan untuk instance, sehingga memungkinkan koneksi ke konsol serial instance.
Jika Anda mengaktifkan konsol serial interaktif pada instance, klien dapat mencoba terhubung ke instance tersebut dari alamat IP mana pun. Oleh karena itu, dukungan konsol serial interaktif harus dinonaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan akses untuk project.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Dalam daftar instance, klik nama instance dalam temuan.
Di halaman VM instance details, klik
Edit.Di bagian Remote access, hapus centang Enable connecting to serial ports.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariConfidential Computing disabled
Nama kategori di API: CONFIDENTIAL_COMPUTING_DISABLED
Instance Compute Engine tidak mengaktifkan Confidential Computing.
Confidential Computing menambahkan pilar ketiga ke dalam alur enkripsi end-to-end dengan mengenkripsi data selama penggunaan. Dengan lingkungan eksekusi rahasia yang disediakan oleh Confidential Computing dan AMD Secure Encrypted Virtualization (SEV), Google Cloud menjaga kode sensitif dan data lain yang terenkripsi di memori selama pemrosesan.
Confidential Computing hanya dapat diaktifkan saat instance dibuat. Oleh karena itu, Anda harus menghapus instance saat ini dan membuat yang baru.
Untuk informasi selengkapnya, lihat Confidential VM dan Compute Engine.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Dalam daftar instance, klik nama instance dalam temuan.
Di halaman VM instance details, klik
Delete.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCOS not used
Nama kategori di API: COS_NOT_USED
VM Compute Engine tidak menggunakan Container-Optimized OS, yang dirancang untuk menjalankan container Docker di Google Cloud dengan aman.
Container-Optimized OS adalah OS yang direkomendasikan Google untuk menghosting dan menjalankan container di Google Cloud. Jejak OS yang kecil meminimalkan risiko keamanan, sedangkan update otomatis menerapkan patch pada kerentanan keamanan pada waktu yang tepat. Untuk informasi selengkapnya, lihat Ringkasan Container-Optimized OS.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Di daftar cluster, klik nama cluster dalam temuan.
Klik tab Nodes.
Untuk setiap node pool:
- Klik nama node pool untuk membuka halaman detailnya.
- Klik Edit .
- Di bagian Nodes -> Image type, klik Change.
- Pilih Container-Optimized OS, lalu klik Change.
- Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCustom role not monitored
Nama kategori di API: CUSTOM_ROLE_NOT_MONITORED
Notifikasi dan metrik log tidak dikonfigurasi untuk memantau perubahan peran kustom.
IAM menyediakan peran bawaan dan kustom yang memberikan akses ke resource Google Cloud tertentu. Dengan memantau aktivitas pembuatan, penghapusan, dan pembaruan peran, Anda dapat mengidentifikasi peran dengan hak istimewa berlebih secara dini. Untuk informasi selengkapnya, lihat Ringkasan metrik berbasis log.
Bergantung pada jumlah informasi, biaya Cloud Monitoring dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Membuat metrik
Buka halaman Logs-based Metrics di Konsol Google Cloud.
Klik Buat Metrik.
Di bagian Metric Type, pilih Counter.
Di bagian Details:
- Setel Log metric name.
- Tambahkan deskripsi.
- Setel Units ke 1.
Di bagian Filter selection, salin dan tempel teks berikut ke dalam kotak Build filter, yang menggantikan teks yang ada, jika diperlukan:
resource.type="iam_role" AND (protoPayload.methodName="google.iam.admin.v1.CreateRole" OR protoPayload.methodName="google.iam.admin.v1.DeleteRole" OR protoPayload.methodName="google.iam.admin.v1.UpdateRole")
Klik Buat Metrik. Anda akan melihat konfirmasi.
Buat Kebijakan Pemberitahuan
-
Di konsol Google Cloud, buka halaman Log-based Metrics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
- Di bagian Metrik yang ditentukan pengguna, pilih metrik yang Anda buat di bagian sebelumnya.
-
Klik Lainnya
, lalu klik Buat pemberitahuan dari metrik.Dialog New condition akan terbuka dengan opsi metrik dan transformasi data yang telah diisi otomatis.
- Klik Berikutnya.
- Tinjau setelan yang telah diisi otomatis. Anda mungkin ingin mengubah Nilai minimum.
- Klik Nama kondisi, lalu masukkan nama untuk kondisi.
- Klik Berikutnya.
Untuk menambahkan notifikasi ke kebijakan pemberitahuan, klik Notification channels. Dalam dialog ini, pilih satu atau beberapa saluran notifikasi dari menu, lalu klik OK.
Untuk menerima notifikasi saat insiden dibuka dan ditutup, centang Notify on incident closure. Secara default, notifikasi hanya dikirim saat insiden dibuka.
- Opsional: Perbarui Incident autoclose duration. Kolom ini menentukan kapan Monitoring akan menutup insiden jika data metrik tidak ada.
- Opsional: Klik Documentation, lalu tambahkan informasi apa pun yang ingin Anda sertakan dalam pesan notifikasi.
- Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.
- Klik Create Policy.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDataproc CMEK disabled
Nama kategori di API: DATAPROC_CMEK_DISABLED
Cluster Dataproc dibuat tanpa CMEK konfigurasi enkripsi. Dengan CMEK, kunci yang Anda buat dan kelola di Cloud Key Management Service akan menggabungkan kunci yang digunakan Google Cloud untuk mengenkripsi data Anda, sehingga Anda memiliki lebih banyak kontrol atas akses ke data Anda.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Cluster Dataproc di konsol Google Cloud.
Pilih project Anda, lalu klik Create Cluster.
Di bagian Manage security, klik Encryption, lalu pilih Customer-managed key.
Pilih kunci yang dikelola pelanggan dari daftar.
Jika tidak memiliki kunci yang dikelola pelanggan, Anda harus membuatnya untuk digunakan. Untuk informasi selengkapnya, lihat Kunci enkripsi yang dikelola pelanggan.
Pastikan kunci KMS yang dipilih memiliki peran Pengenkripsi/Pendekripsi Cloud KMS CryptoKey yang ditetapkan ke akun layanan Cluster Dataproc ("serviceAccount:service-project_number@compute-system.").
Setelah cluster dibuat, migrasikan semua workload Anda dari cluster lama ke cluster baru.
Buka cluster Dataproc, lalu pilih project Anda.
Pilih cluster lama, lalu klik
Hapus cluster.Ulangi semua langkah di atas untuk cluster Dataproc lain yang tersedia dalam project yang dipilih.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDataproc image outdated
Nama kategori di API: DATAPROC_IMAGE_OUTDATED
Cluster Dataproc dibuat menggunakan versi image Dataproc yang terpengaruh oleh kerentanan keamanan di utilitas Apache Log4j 2 (CVE-2021-44228 dan CVE-2021-45046).
Detektor ini menemukan kerentanan dengan memeriksa apakah
kolom softwareConfig.imageVersion
di
properti
config
dari
Cluster
memiliki salah satu versi berikut yang terpengaruh:
- Versi image yang lebih lama dari 1.3.95.
- Versi image subminor yang lebih lama dari 1.4.77, 1.5.53, dan 2.0.27.
Nomor versi image Dataproc kustom dapat digaanti secara manual. Perhatikan skenario berikut:
- Anda dapat mengubah versi image kustom yang terpengaruh agar tampak tidak terpengaruh. Dalam hal ini, detektor ini tidak mengeluarkan temuan.
- Anda dapat mengganti versi image kustom yang tidak terpengaruh dengan image yang diketahui memiliki kerentanan. Dalam hal ini, detektor ini memunculkan temuan positif palsu. Untuk menyembunyikan temuan positif palsu ini, Anda dapat membisukan temuan tersebut.
Untuk memperbaiki temuan ini, buat ulang dan perbarui cluster yang terpengaruh.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDataset CMEK disabled
Nama kategori di API: DATASET_CMEK_DISABLED
Set data BigQuery tidak dikonfigurasi untuk menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) default.
Dengan CMEK, kunci yang Anda buat dan kelola di Cloud KMS menggabungkan kunci yang digunakan Google Cloud untuk mengenkripsi data Anda, sehingga Anda memiliki lebih banyak kontrol atas akses ke data Anda. Untuk mengetahui informasi selengkapnya, lihat Melindungi data dengan kunci Cloud KMS.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Anda tidak dapat mengganti tabel antara enkripsi default dan enkripsi CMEK. Untuk menetapkan kunci CMEK default yang dapat digunakan untuk mengenkripsi semua tabel baru di set data, ikuti petunjuk untuk Menetapkan kunci default set data.
Menyetel kunci default tidak akan secara retroaktif mengenkripsi ulang tabel yang saat ini berada di set data dengan kunci baru. Untuk menggunakan CMEK untuk data yang ada, lakukan hal berikut:
- Buat set data baru.
- Tetapkan kunci CMEK default pada set data yang Anda buat.
- Untuk menyalin tabel ke set data yang mengaktifkan CMEK, ikuti petunjuk untuk Menyalin tabel.
- Setelah berhasil menyalin data, hapus set data asli.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDefault network
Nama kategori di API: DEFAULT_NETWORK
Jaringan default ada dalam project.
Jaringan default secara otomatis membuat aturan firewall dan konfigurasi jaringan yang mungkin tidak aman. Untuk informasi selengkapnya, lihat Jaringan default.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VPC networks di Konsol Google Cloud.
Dalam daftar jaringan, klik nama jaringan default.
Di halaman VPC network details, klik
Delete VPC Network.Untuk membuat jaringan baru dengan aturan firewall kustom, lihat Membuat jaringan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDefault service account used
Nama kategori di API: DEFAULT_SERVICE_ACCOUNT_USED
Instance Compute Engine dikonfigurasi untuk menggunakan akun layanan default.
Akun layanan Compute Engine default memiliki peran Editor di project, yang memungkinkan akses baca dan tulis ke sebagian besar layanan Google Cloud. Untuk melindungi dari eskalasi akses dan akses tidak sah, jangan gunakan akun layanan Compute Engine default. Sebagai gantinya, buat akun layanan baru dan hanya tetapkan izin yang diperlukan oleh instance Anda. Baca Kontrol akses untuk mengetahui informasi tentang peran dan izin.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Pilih instance yang terkait dengan temuan Security Health Analytics.
Di halaman Instance details yang dimuat, klik
Stop.Setelah instance dihentikan, klik
Edit.Di bagian Service Account, pilih akun layanan Compute Engine other than the default. Anda mungkin perlu membuat akun layanan baru terlebih dahulu. Baca Kontrol akses untuk mengetahui informasi tentang peran dan izin IAM.
Klik Simpan. Konfigurasi baru akan muncul di halaman Detail instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDisk CMEK disabled
Nama kategori di API: DISK_CMEK_DISABLED
Disk di VM ini tidak dienkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK).
Dengan CMEK, kunci yang Anda buat dan kelola di Cloud KMS menggabungkan kunci yang digunakan Google Cloud untuk mengenkripsi data Anda, sehingga Anda memiliki lebih banyak kontrol terhadap akses ke data Anda. Untuk informasi selengkapnya, lihat Melindungi Resource dengan Kunci Cloud KMS.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Disk Compute Engine di Konsol Google Cloud.
Dalam daftar disk, klik nama disk yang ditunjukkan dalam temuan.
Di halaman Manage disk, klik
Delete.Untuk membuat disk baru dengan CMEK yang diaktifkan, lihat Mengenkripsi persistent disk baru dengan kunci Anda sendiri. CMEK dikenai biaya tambahan terkait Cloud KMS.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDisk CSEK disabled
Nama kategori di API: DISK_CSEK_DISABLED
Disk di VM ini tidak dienkripsi dengan Kunci Enkripsi yang Disediakan Pelanggan (CSEK). Disk untuk VM penting harus dienkripsi dengan CSEK.
Jika Anda menyediakan kunci enkripsi sendiri, Compute Engine akan menggunakan kunci dari Anda untuk melindungi kunci buatan Google yang digunakan untuk mengenkripsi dan mendekripsi data Anda. Untuk mengetahui informasi selengkapnya, lihat Kunci Enkripsi yang Disediakan Pelanggan. CSEK menimbulkan biaya tambahan terkait Cloud KMS.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Menghapus dan membuat disk
Anda hanya dapat mengenkripsi persistent disk baru dengan kunci Anda sendiri. Anda tidak dapat mengenkripsi persistent disk yang sudah ada dengan kunci Anda sendiri.
Buka halaman Disk Compute Engine di Konsol Google Cloud.
Dalam daftar disk, klik nama disk yang ditunjukkan dalam temuan.
Di halaman Manage disk, klik
Delete.Untuk membuat disk baru dengan CSEK yang diaktifkan, lihat Mengenkripsi disk dengan kunci enkripsi yang disediakan pelanggan.
Selesaikan langkah-langkah yang tersisa untuk mengaktifkan pendeteksi.
Mengaktifkan detektor
Buka halaman Aset Security Command Center di Konsol Google Cloud.
Di bagian Resource type pada panel Quick filters, pilih compute.Disk.
Jika Anda tidak melihat compute.Disk, klik Lihat lainnya, masukkan
Disk
di kolom penelusuran, lalu klik Terapkan.Panel Hasil diperbarui untuk hanya menampilkan instance jenis resource
compute.Disk
.Di kolom Display name, pilih kotak di samping nama disk yang ingin Anda gunakan dengan CSEK, lalu klik Set Security Marks.
Pada dialog, klik Tambahkan Tanda.
Di kolom key, masukkan
enforce_customer_supplied_disk_encryption_keys
, dan di kolom value, masukkantrue
.Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDNS logging disabled
Nama kategori di API: DNS_LOGGING_DISABLED
Pemantauan log Cloud DNS memberikan visibilitas ke nama DNS yang diminta oleh klien dalam jaringan VPC. Log ini dapat dipantau untuk nama domain yang memiliki anomali dan dievaluasi berdasarkan kecerdasan ancaman. Sebaiknya aktifkan logging DNS untuk jaringan VPC.
Bergantung pada jumlah informasi, biaya logging Cloud DNS dapat signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga untuk Google Cloud Observability: Cloud Logging.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VPC networks di konsol Google Cloud.
Dalam daftar jaringan, klik nama jaringan VPC.
Buat kebijakan server baru (jika belum ada) atau edit kebijakan yang ada:
Jika jaringan tidak memiliki kebijakan server DNS, selesaikan langkah-langkah berikut:
- Klik Edit.
- Di kolom DNS server policy, klik Create a new server policy.
- Masukkan nama untuk kebijakan server baru.
- Setel Logs ke On.
- Klik Simpan.
Jika jaringan memiliki kebijakan server DNS, selesaikan langkah-langkah berikut:
- Di kolom DNS server policy, klik nama kebijakan DNS.
- Klik Edit kebijakan.
- Setel Logs ke On.
- Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDNSSEC disabled
Nama kategori di API: DNSSEC_DISABLED
Domain Name System Security Extensions (DNSSEC) dinonaktifkan untuk zona Cloud DNS.
DNSSEC memvalidasi respons DNS dan memitigasi risiko, seperti pembajakan DNS dan serangan person-in-the-middle, dengan menandatangani data DNS secara kriptografis. Anda harus mengaktifkan DNSSEC. Untuk informasi selengkapnya, lihat ringkasan DNS Security Extensions (DNSSEC).
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Cloud DNS di konsol Google Cloud.
Temukan baris dengan zona DNS yang ditunjukkan dalam temuan.
Klik setelan DNSSEC di baris, lalu di bagian DNSSEC, pilih Aktif.
Baca dialog yang muncul. Jika sudah puas, klik Aktifkan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEffectively Anonymous Users Granted GKE Cluster Access
Nama kategori di API: GKE_PRIVILEGE_ESCALATION_DEFAULT_USERS_GROUPS
Seseorang membuat binding RBAC yang mereferensikan salah satu pengguna atau grup berikut:
system:anonymous
system:authenticated
system:unauthenticated
Pengguna dan grup ini secara efektif bersifat anonim dan tidak boleh digunakan dalam RoleBindings atau ClusterRoleBindings. Untuk mengetahui detailnya, lihat Menghindari peran dan grup default.
Untuk memperbaiki temuan ini, terapkan langkah-langkah berikut ke resource yang terpengaruh:
- Buka manifes untuk setiap ClusterRoleBinding atau RoleBinding yang terpengaruh.
- Tetapkan kolom yang dibatasi berikut ke salah satu nilai yang diizinkan.
Kolom yang dibatasi
subjects[*].name
Nilai yang diizinkan
- Grup, pengguna, atau akun layanan apa pun yang tidak menyertakan
system:anonymous
,system:authenticated
, atausystem:unauthenticated
.
Egress deny rule not set
Nama kategori di API: EGRESS_DENY_RULE_NOT_SET
Aturan penolakan keluar tidak ditetapkan di firewall.
Firewall yang menolak semua traffic jaringan keluar akan mencegah koneksi jaringan keluar yang tidak diinginkan, kecuali koneksi yang secara eksplisit diizinkan oleh firewall lain. Untuk mengetahui informasi selengkapnya, lihat Kasus ekspor.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Klik Create Firewall Rule.
Beri nama firewall dan, secara opsional, deskripsi.
Di bagian Direction of traffic, pilih Egress.
Di bagian Action on match, pilih Deny.
Di menu drop-down Targets, pilih All instances in the network.
Di menu drop-down Destination filter, pilih IP ranges, lalu ketik
0.0.0.0/0
ke dalam kotak Destination IP ranges.Di bagian Protocols and ports, pilih Deny all.
Klik Nonaktifkan Aturan, lalu di bagian Penerapan, pilih Diaktifkan.
Klik Create.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEssential contacts not configured
Nama kategori di API: ESSENTIAL_CONTACTS_NOT_CONFIGURED
Organisasi Anda belum menetapkan orang atau grup untuk menerima notifikasi dari Google Cloud tentang peristiwa penting seperti serangan, kerentanan, dan insiden data dalam organisasi Google Cloud Anda. Sebaiknya Anda menunjuk satu atau beberapa orang atau grup di organisasi bisnis Anda sebagai kontak penting.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kontak Penting di konsol Google Cloud.
Pastikan organisasi muncul di pemilih resource di bagian atas halaman. Pemilih resource memberi tahu Anda project, folder, atau organisasi tempat Anda mengelola kontak saat ini.
Klik +Tambahkan kontak. Panel Tambahkan kontak akan terbuka.
Di kolom Email dan Confirm Email, masukkan alamat email kontak.
Dari bagian Notification categories, pilih notification categories yang Anda inginkan untuk komunikasi yang diterima kontak. Pastikan alamat email yang sesuai telah dikonfigurasi untuk setiap kategori notifikasi berikut:
- Hukum
- Keamanan
- Penangguhan
- Teknis
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariFirewall not monitored
Nama kategori di API: FIREWALL_NOT_MONITORED
Metrik dan pemberitahuan log tidak dikonfigurasi untuk memantau perubahan aturan Firewall Jaringan VPC.
Dengan memantau peristiwa pembuatan dan pembaruan aturan firewall, Anda akan memperoleh data terkait perubahan akses jaringan dan dapat mendeteksi aktivitas mencurigakan dengan cepat. Untuk mengetahui informasi selengkapnya, lihat Ringkasan metrik berbasis log.
Bergantung pada jumlah informasi, biaya Cloud Monitoring dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Membuat metrik
Buka halaman Logs-based Metrics di Konsol Google Cloud.
Klik Buat Metrik.
Di bagian Metric Type, pilih Counter.
Di bagian Details:
- Setel Log metric name.
- Tambahkan deskripsi.
- Setel Units ke 1.
Di bagian Filter selection, salin dan tempel teks berikut ke dalam kotak Build filter, yang menggantikan teks yang ada, jika diperlukan:
resource.type="gce_firewall_rule" AND (protoPayload.methodName:"compute.firewalls.insert" OR protoPayload.methodName:"compute.firewalls.patch" OR protoPayload.methodName:"compute.firewalls.delete")
Klik Buat Metrik. Anda akan melihat konfirmasi.
Buat Kebijakan Pemberitahuan
-
Di konsol Google Cloud, buka halaman Log-based Metrics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
- Di bagian Metrik yang ditentukan pengguna, pilih metrik yang Anda buat di bagian sebelumnya.
-
Klik Lainnya
, lalu klik Buat pemberitahuan dari metrik.Dialog New condition akan terbuka dengan opsi metrik dan transformasi data yang telah diisi otomatis.
- Klik Berikutnya.
- Tinjau setelan yang telah diisi otomatis. Anda mungkin ingin mengubah Nilai minimum.
- Klik Nama kondisi, lalu masukkan nama untuk kondisi.
- Klik Berikutnya.
Untuk menambahkan notifikasi ke kebijakan pemberitahuan, klik Notification channels. Dalam dialog ini, pilih satu atau beberapa saluran notifikasi dari menu, lalu klik OK.
Untuk menerima notifikasi saat insiden dibuka dan ditutup, centang Notify on incident closure. Secara default, notifikasi hanya dikirim saat insiden dibuka.
- Opsional: Perbarui Incident autoclose duration. Kolom ini menentukan kapan Monitoring akan menutup insiden jika data metrik tidak ada.
- Opsional: Klik Documentation, lalu tambahkan informasi apa pun yang ingin Anda sertakan dalam pesan notifikasi.
- Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.
- Klik Create Policy.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariFirewall rule logging disabled
Nama kategori di API: FIREWALL_RULE_LOGGING_DISABLED
Logging aturan firewall dinonaktifkan.
Logging aturan firewall memungkinkan Anda mengaudit, memverifikasi, dan menganalisis efek aturan firewall Anda. Tindakan ini dapat berguna untuk mengaudit akses jaringan atau memberikan peringatan dini bahwa jaringan sedang digunakan dengan cara yang tidak disetujui. Biaya log dapat menjadi signifikan. Untuk informasi selengkapnya tentang Logging Aturan Firewall dan biayanya, lihat Menggunakan Logging Aturan Firewall.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall yang diinginkan.
Klik
Edit.Di bagian Logs, pilih On.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariFlow logs disabled
Nama kategori di API: FLOW_LOGS_DISABLED
Ada subnetwork VPC yang menonaktifkan log alur.
VPC Flow Logs mencatat sampel alur jaringan yang dikirim dari dan diterima oleh instance VM. Log ini dapat digunakan untuk pemantauan jaringan, forensik, analisis keamanan real-time, dan pengoptimalan biaya. Untuk informasi selengkapnya tentang log aliran dan biayanya, lihat Menggunakan Log Aliran VPC.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VPC networks di konsol Google Cloud.
Dalam daftar jaringan, klik nama jaringan yang diinginkan.
Di halaman VPC network details, klik tab Subnets.
Dalam daftar subnet, klik nama subnet yang ditunjukkan dalam temuan.
Di halaman Subnet details, klik
Edit.Di bagian Flow logs, pilih On.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariFlow logs settings not recommended
Nama kategori di API: VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED
Dalam konfigurasi subnet di jaringan VPC, layanan VPC Flow Logs tidak aktif atau tidak dikonfigurasi berdasarkan rekomendasi CIS Benchmark 1.3. VPC Flow Logs mencatat sampel aliran jaringan yang dikirim dari dan diterima oleh instance VM yang dapat digunakan untuk mendeteksi ancaman.
Untuk mengetahui informasi selengkapnya tentang Log Aliran VPC dan biayanya, lihat Menggunakan Log Aliran VPC.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VPC networks di konsol Google Cloud.
Dalam daftar jaringan, klik nama jaringan.
Di halaman VPC network details, klik tab Subnets.
Dalam daftar subnet, klik nama subnet yang ditunjukkan dalam temuan.
Di halaman Subnet details, klik
Edit.Di bagian Flow logs, pilih On.
- Anda memiliki opsi untuk mengubah konfigurasi log dengan mengklik tombol Configure logs untuk memperluas tab. CIS Benchmarks
merekomendasikan setelan berikut:
- Setel Aggregation Interval ke 5 SEC.
- Di kotak centang Additional fields, pilih opsi Include metadata.
- Tetapkan Sample rate ke 100%.
- Klik tombol SIMPAN.
- Anda memiliki opsi untuk mengubah konfigurasi log dengan mengklik tombol Configure logs untuk memperluas tab. CIS Benchmarks
merekomendasikan setelan berikut:
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariFull API access
Nama kategori di API: FULL_API_ACCESS
Instance Compute Engine dikonfigurasi untuk menggunakan akun layanan default dengan akses penuh ke semua Google Cloud API.
Instance yang dikonfigurasi dengan akun layanan default dan cakupan akses API yang ditetapkan ke Allow full access to all Cloud APIs dapat mengizinkan pengguna untuk melakukan operasi atau panggilan API yang izin IAM-nya tidak dimiliki. Untuk mengetahui informasi selengkapnya, lihat Akun layanan default Compute Engine.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Dalam daftar instance, klik nama instance dalam temuan.
Jika instance berjalan, klik
Hentikan.Saat instance dihentikan, klik
Edit.Di bagian Keamanan dan akses, pada Akun layanan, pilih Akun layanan default Compute Engine.
Di bagian Access scopes, pilih Allow default access atau Set access for each API. Hal ini membatasi API yang dapat diakses oleh proses atau workload apa pun yang menggunakan akun layanan VM default.
Jika Anda memilih Tetapkan akses untuk setiap API, lakukan hal berikut:
- Nonaktifkan Cloud Platform dengan menyetelnya ke None.
- Aktifkan API tertentu yang memerlukan akses akun layanan VM default.
Klik Simpan.
Klik
Mulai untuk memulai instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariHTTP load balancer
Nama kategori di API: HTTP_LOAD_BALANCER
Instance Compute Engine menggunakan load balancer yang dikonfigurasi untuk menggunakan proxy HTTP target, bukan proxy HTTPS target.
Untuk melindungi integritas data dan mencegah penyusup mengutak-atik komunikasi Anda, konfigurasikan load balancer HTTP(S) untuk hanya mengizinkan traffic HTTPS. Untuk informasi selengkapnya, lihat Ringkasan Load Balancing HTTP(S) Eksternal.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Target proxy di konsol Google Cloud.
Dalam daftar proxy target, klik nama proxy target dalam temuan.
Klik link di bagian URL map.
Klik
Edit.Klik Frontend configuration.
Hapus semua konfigurasi Frontend IP dan port yang mengizinkan traffic HTTP dan buat konfigurasi baru yang mengizinkan traffic HTTPS.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariInstance OS login disabled
Nama kategori di API: INSTANCE_OS_LOGIN_DISABLED
Login OS dinonaktifkan di instance Compute Engine ini.
Login OS mengaktifkan pengelolaan kunci SSH terpusat dengan IAM, dan menonaktifkan konfigurasi kunci SSH berbasis metadata di semua instance dalam project. Pelajari cara menyiapkan dan mengonfigurasi Login OS.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Dalam daftar instance, klik nama instance dalam temuan.
Di halaman Instance details yang dimuat, klik
Stop.Setelah instance dihentikan, klik
Edit.Di bagian Custom metadata, pastikan bahwa item dengan kunci enable-oslogin memiliki nilai TRUE.
Klik Simpan.
Klik
Mulai untuk memulai instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIntegrity monitoring disabled
Nama kategori di API: INTEGRITY_MONITORING_DISABLED
Pemantauan integritas dinonaktifkan di cluster GKE.
Pemantauan integritas memungkinkan Anda memantau dan memverifikasi integritas booting runtime node terlindungi menggunakan Monitoring. Hal ini memungkinkan Anda merespons kegagalan integritas dan mencegah agar node yang dibobol tidak di-deploy ke dalam cluster.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Setelah disediakan, node tidak dapat diupdate untuk mengaktifkan pemantauan integritas. Anda harus membuat node pool baru dengan pemantauan integritas yang diaktifkan.
Buka halaman Kubernetes clusters di konsol Google Cloud.
Klik nama cluster dalam temuan.
Klik Add Node Pool.
Di tab Security, pastikan Enable integrity monitoring sudah diaktifkan.
Klik Create.
Untuk memigrasikan workload Anda dari node pool yang tidak sesuai ke node pool baru, lihat Memigrasikan workload ke jenis mesin yang berbeda.
Setelah workload Anda dipindah, hapus node pool awal yang tidak sesuai.
- Di halaman Cluster Kubernetes, di menu Node pools, klik nama node pool yang ingin Anda hapus.
- Klik Remove node pool.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIntranode visibility disabled
Nama kategori di API: INTRANODE_VISIBILITY_DISABLED
Visibilitas intranode dinonaktifkan untuk cluster GKE.
Dengan mengaktifkan visibilitas intranode, traffic Pod-to-Pod intranode Anda akan terlihat oleh fabric jaringan. Dengan fitur ini, Anda dapat menggunakan logging alur VPC atau fitur VPC lainnya untuk memantau atau mengontrol traffic intranode. Untuk mendapatkan log, Anda harus mengaktifkan log alur VPC di subnetwork yang dipilih. Untuk mengetahui informasi selengkapnya, lihat Menggunakan log aliran VPC.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Setelah disediakan, node tidak dapat diupdate untuk mengaktifkan pemantauan integritas. Anda harus membuat node pool baru dengan pemantauan integritas yang diaktifkan.
Buka halaman Kubernetes clusters di konsol Google Cloud.
Di bagian Networking, klik
Edit visibilitas intranode di baris Intranode visibility.Jika konfigurasi cluster baru saja diubah, tombol edit mungkin dinonaktifkan. Jika Anda tidak dapat mengedit setelan cluster, tunggu beberapa menit, lalu coba lagi.
Dalam dialog, pilih Enable Intranode visibility.
Klik Simpan Perubahan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIP alias disabled
Nama kategori di API: IP_ALIAS_DISABLED
Cluster GKE dibuat dengan rentang IP alias dinonaktifkan.
Jika Anda mengaktifkan rentang IP alias, cluster GKE akan mengalokasikan alamat IP dari blok CIDR yang diketahui, sehingga cluster Anda skalabel dan berinteraksi lebih baik dengan produk dan entity Google Cloud. Untuk mengetahui informasi selengkapnya, lihat Ringkasan rentang IP alias.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Anda tidak dapat memigrasikan cluster yang ada untuk menggunakan IP alias. Untuk membuat cluster baru dengan IP alias diaktifkan, lakukan hal berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Klik Create.
Dari panel navigasi, di bagian Cluster, klik Networking.
Di bagian Advanced networking options, pilih Enable VPC-native traffic routing (menggunakan IP alias).
Klik Create.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIP forwarding enabled
Nama kategori di API: IP_FORWARDING_ENABLED
Penerusan IP diaktifkan di instance Compute Engine.
Cegah kehilangan data atau pengungkapan informasi dengan menonaktifkan penerusan IP paket data untuk VM Anda.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Dalam daftar instance, centang kotak di samping nama instance dalam temuan.
Klik
Delete.Pilih Buat Instance untuk membuat instance baru guna menggantikan instance yang Anda hapus.
Untuk memastikan IP forwarding dinonaktifkan, klik Management, disks, networking, SSH keys, lalu klik Networking.
Di bagian Network interfaces, klik
Edit.Di bagian Penerusan IP, di menu drop-down, pastikan Nonaktif dipilih.
Tentukan parameter instance lainnya, lalu klik Create. Untuk mengetahui informasi selengkapnya, lihat Membuat dan memulai instance VM.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariKMS key not rotated
Nama kategori di API: KMS_KEY_NOT_ROTATED
Rotasi tidak dikonfigurasi pada kunci enkripsi Cloud KMS.
Memutar kunci enkripsi secara rutin memberikan perlindungan jika kunci disusupi dan membatasi jumlah pesan terenkripsi yang tersedia untuk kriptoanalisis untuk versi kunci tertentu. Untuk informasi selengkapnya, lihat Rotasi kunci.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kunci Cloud KMS di konsol Google Cloud.
Klik nama key ring yang ditunjukkan dalam temuan.
Klik nama kunci yang ditunjukkan dalam temuan.
Klik Edit Rotation Period.
Tetapkan periode rotasi maksimal 90 hari.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariKMS project has owner
Nama kategori di API: KMS_PROJECT_HAS_OWNER
Pengguna memiliki izin roles/Owner
di project yang memiliki kunci kriptografis.
Untuk informasi selengkapnya, lihat Izin dan
peran.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman IAM di Konsol Google Cloud.
Jika perlu, pilih project dalam temuan.
Untuk setiap akun utama yang diberi peran Pemilik:
- Klik Edit.
- Di panel Izin edit, di samping peran Pemilik, klik Hapus.
- Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariKMS public key
Nama kategori di API: KMS_PUBLIC_KEY
Cryptokey Cloud KMS atau Key Ring Cloud KMS bersifat publik dan dapat diakses oleh siapa saja di internet. Untuk informasi selengkapnya, lihat Menggunakan IAM dengan Cloud KMS.
Untuk memperbaiki temuan ini, jika terkait dengan Cryptokey:
Buka halaman Kunci Kriptografis di konsol Google Cloud.
Di bagian Name, pilih key ring yang berisi kunci kriptografis yang terkait dengan temuan Security Health Analytics.
Di halaman Detail ring kunci yang dimuat, centang kotak di samping kunci kriptografis.
Jika INFO PANEL tidak ditampilkan, klik tombol SHOW INFO PANEL.
Gunakan kotak filter sebelum Peran / Akun Utama untuk menelusuri akun utama untuk allUsers dan allAuthenticatedUsers, lalu klik
Hapus untuk menghapus akses untuk akun utama tersebut.
Untuk memperbaiki temuan ini, jika terkait dengan Key Ring:
Buka halaman Kunci Kriptografis di konsol Google Cloud.
Temukan baris dengan key ring dalam temuan dan pilih kotak centangnya.
Jika INFO PANEL tidak ditampilkan, klik tombol SHOW INFO PANEL.
Gunakan kotak filter sebelum Peran / Akun Utama untuk menelusuri akun utama untuk allUsers dan allAuthenticatedUsers, lalu klik
Hapus untuk menghapus akses untuk akun utama tersebut.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariKMS role separation
Nama kategori di API: KMS_ROLE_SEPARATION
Temuan ini tidak tersedia untuk aktivasi tingkat project.
Satu atau beberapa akun utama memiliki beberapa izin Cloud KMS yang ditetapkan. Sebaiknya jangan ada akun yang secara bersamaan memiliki Admin Cloud KMS bersama dengan izin Cloud KMS lainnya. Untuk mengetahui informasi selengkapnya, lihat Izin dan peran.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman IAM di Konsol Google Cloud.
Untuk setiap akun utama yang tercantum dalam temuan, lakukan hal berikut:
- Periksa apakah peran diwariskan dari folder atau resource organisasi dengan melihat kolom Inheritance. Jika kolom berisi link ke resource induk, klik link untuk membuka halaman IAM resource induk.
- Klik Edit di samping akun utama.
- Untuk menghapus izin, klik Hapus di samping Admin Cloud KMS. Jika Anda ingin menghapus semua izin untuk akun utama, klik Hapus di samping semua izin lainnya.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLegacy authorization enabled
Nama kategori di API: LEGACY_AUTHORIZATION_ENABLED
Otorisasi Lama diaktifkan di cluster GKE.
Di Kubernetes, kontrol akses berbasis peran (RBAC) memungkinkan Anda menentukan peran dengan aturan yang berisi serangkaian izin, dan memberikan izin pada level cluster dan namespace. Fitur ini memberikan keamanan yang lebih baik dengan memastikan bahwa pengguna hanya dapat mengakses resource tertentu. Pertimbangkan untuk menonaktifkan kontrol akses berbasis atribut (ABAC) lama.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Pilih cluster yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Jika konfigurasi cluster baru-baru ini diubah, tombol edit mungkin dinonaktifkan. Jika Anda tidak dapat mengedit setelan cluster, tunggu beberapa menit, lalu coba lagi.
Di menu drop-down Legacy Authorization, pilih Disabled.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLegacy metadata enabled
Nama kategori di API: LEGACY_METADATA_ENABLED
Metadata lama diaktifkan di cluster GKE.
Server metadata instance Compute Engine mengekspos endpoint /0.1/
dan /v1beta1/
lama, yang tidak menerapkan header kueri metadata. Ini adalah
fitur di /v1/
API yang mempersulit calon penyerang
untuk mengambil metadata instance. Kecuali jika diperlukan, sebaiknya Anda
nonaktifkan API /0.1/
dan /v1beta1/
lama ini.
Untuk mengetahui informasi selengkapnya, lihat Menonaktifkan dan bertransisi dari API metadata lama.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Anda hanya dapat menonaktifkan API metadata lama saat membuat cluster baru atau saat menambahkan node pool baru ke cluster yang ada. Untuk mengupdate cluster yang ada dan menonaktifkan API metadata lama, lihat Memigrasikan workload ke jenis mesin yang berbeda.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLegacy network
Nama kategori di API: LEGACY_NETWORK
Jaringan lama ada dalam project.
Jaringan lama tidak direkomendasikan karena banyak fitur keamanan Google Cloud baru yang tidak didukung di jaringan lama. Sebagai gantinya, gunakan jaringan VPC. Untuk mengetahui informasi selengkapnya, lihat Jaringan lama.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VPC networks di konsol Google Cloud.
Untuk membuat jaringan non-lama yang baru, klik Create Network.
Kembali ke halaman Jaringan VPC.
Di daftar jaringan, klik legacy_network.
Di halaman VPC network details, klik
Delete VPC Network.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLoad balancer logging disabled
Nama kategori di API: LOAD_BALANCER_LOGGING_DISABLED
Logging dinonaktifkan untuk layanan backend di load balancer.
Dengan mengaktifkan logging untuk load balancer, Anda dapat melihat traffic jaringan HTTP(S) untuk aplikasi web Anda. Untuk informasi selengkapnya, lihat Load balancer.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Cloud Load Balancing di Konsol Google Cloud.
Klik nama load balancer Anda.
Klik
Edit.Klik Backend configuration.
Di halaman Backend configuration, klik
Edit.Di bagian Logging, pilih Enable logging dan pilih frekuensi sampel terbaik untuk project Anda.
Untuk menyelesaikan pengeditan layanan backend, klik Update.
Untuk menyelesaikan pengeditan load balancer, klik Update.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLocked retention policy not set
Nama kategori di API: LOCKED_RETENTION_POLICY_NOT_SET
Kebijakan retensi terkunci tidak ditetapkan untuk log.
Kebijakan retensi terkunci mencegah log ditimpa dan bucket log dihapus. Untuk informasi selengkapnya, lihat Kunci Bucket.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Browser Storage di konsol Google Cloud.
Pilih bucket yang tercantum dalam temuan Security Health Analytics.
Di halaman Detail bucket, klik tab Retensi.
Jika kebijakan retensi belum ditetapkan, klik Tetapkan Kebijakan Retensi.
Masukkan periode retensi data.
Klik Simpan. Kebijakan retensi ditampilkan di tab Retensi.
Klik Kunci untuk memastikan periode retensi tidak dipersingkat atau dihapus.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLog not exported
Nama kategori di API: LOG_NOT_EXPORTED
Resource tidak memiliki sink log yang sesuai yang dikonfigurasi.
Cloud Logging membantu Anda menemukan akar masalah dalam sistem dan aplikasi dengan cepat. Namun, sebagian besar log hanya disimpan selama 30 hari secara default. Mengekspor salinan semua entri log untuk memperpanjang periode penyimpanan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan ekspor log.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Log Router di konsol Google Cloud.
Klik Create Sink.
Untuk memastikan semua log diekspor, biarkan filter penyertaan dan pengecualian kosong.
Klik Create Sink.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariMaster authorized networks disabled
Nama kategori di API: MASTER_AUTHORIZED_NETWORKS_DISABLED
Jaringan yang Diizinkan Bidang Kontrol tidak diaktifkan di cluster GKE.
Jaringan yang Diizinkan Bidang Kontrol meningkatkan keamanan untuk cluster penampung Anda dengan memblokir alamat IP yang ditentukan agar tidak mengakses bidang kontrol cluster Anda. Untuk informasi selengkapnya, lihat Menambahkan jaringan yang diizinkan untuk akses panel kontrol.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Pilih cluster yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Jika konfigurasi cluster baru-baru ini diubah, tombol edit mungkin dinonaktifkan. Jika Anda tidak dapat mengedit setelan cluster, tunggu beberapa menit, lalu coba lagi.
Pada menu drop-down Control Plane Authorized Networks, pilih Enabled.
Klik Add authorized network.
Tentukan jaringan yang diizinkan yang ingin Anda gunakan.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariMFA not enforced
Nama kategori di API: MFA_NOT_ENFORCED
Temuan ini tidak tersedia untuk aktivasi tingkat project.
Autentikasi multi-faktor, khususnya Verifikasi 2 Langkah (2SV), dinonaktifkan untuk beberapa pengguna di organisasi Anda.
Autentikasi multi-faktor digunakan untuk melindungi akun dari akses tidak sah dan merupakan alat paling penting untuk melindungi organisasi Anda dari pembobolan kredensial login. Untuk informasi selengkapnya, lihat Melindungi bisnis dengan Verifikasi 2 Langkah.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Konsol Admin di konsol Google Cloud.
Terapkan Verifikasi 2 Langkah untuk semua unit organisasi.
Menyembunyikan temuan jenis ini
Untuk menyembunyikan temuan jenis ini, tentukan aturan bisukan yang secara otomatis membisukan temuan mendatang dari jenis ini. Untuk informasi selengkapnya, lihat Menonaktifkan temuan di Security Command Center.
Meskipun bukan cara yang direkomendasikan untuk menyembunyikan temuan, Anda juga dapat menambahkan tanda keamanan khusus ke aset sehingga detektor Security Health Analytics tidak membuat temuan keamanan untuk aset tersebut.
- Untuk mencegah penemuan ini diaktifkan lagi, tambahkan tanda keamanan
allow_mfa_not_enforced
dengan nilaitrue
ke aset. - Untuk mengabaikan potensi pelanggaran untuk unit organisasi tertentu, tambahkan
tanda keamanan
excluded_orgunits
ke aset dengan daftar jalur unit organisasi yang dipisahkan koma di kolom value. Contohnya,excluded_orgunits:/people/vendors/vendorA,/people/contractors/contractorA
.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNetwork not monitored
Nama kategori di API: NETWORK_NOT_MONITORED
Metrik dan pemberitahuan log tidak dikonfigurasi untuk memantau perubahan jaringan VPC.
Untuk mendeteksi perubahan yang salah atau tanpa izin pada penyiapan jaringan, pantau perubahan jaringan VPC. Untuk informasi selengkapnya, lihat Ringkasan metrik berbasis log.
Bergantung pada jumlah informasi, biaya Cloud Monitoring dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Membuat metrik
Buka halaman Logs-based Metrics di Konsol Google Cloud.
Klik Buat Metrik.
Di bagian Metric Type, pilih Counter.
Di bagian Details:
- Setel Log metric name.
- Tambahkan deskripsi.
- Setel Units ke 1.
Di bagian Filter selection, salin dan tempel teks berikut ke dalam kotak Build filter, yang menggantikan teks yang ada, jika diperlukan:
resource.type="gce_network" AND (protoPayload.methodName:"compute.networks.insert" OR protoPayload.methodName:"compute.networks.patch" OR protoPayload.methodName:"compute.networks.delete" OR protoPayload.methodName:"compute.networks.removePeering" OR protoPayload.methodName:"compute.networks.addPeering")
Klik Buat Metrik. Anda akan melihat konfirmasi.
Buat Kebijakan Pemberitahuan
-
Di konsol Google Cloud, buka halaman Log-based Metrics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
- Di bagian Metrik yang ditentukan pengguna, pilih metrik yang Anda buat di bagian sebelumnya.
-
Klik Lainnya
, lalu klik Buat pemberitahuan dari metrik.Dialog New condition akan terbuka dengan opsi metrik dan transformasi data yang telah diisi otomatis.
- Klik Berikutnya.
- Tinjau setelan yang telah diisi otomatis. Anda mungkin ingin mengubah Nilai minimum.
- Klik Nama kondisi, lalu masukkan nama untuk kondisi.
- Klik Berikutnya.
Untuk menambahkan notifikasi ke kebijakan pemberitahuan, klik Notification channels. Dalam dialog ini, pilih satu atau beberapa saluran notifikasi dari menu, lalu klik OK.
Untuk menerima notifikasi saat insiden dibuka dan ditutup, centang Notify on incident closure. Secara default, notifikasi hanya dikirim saat insiden dibuka.
- Opsional: Perbarui Incident autoclose duration. Kolom ini menentukan kapan Monitoring akan menutup insiden jika data metrik tidak ada.
- Opsional: Klik Documentation, lalu tambahkan informasi apa pun yang ingin Anda sertakan dalam pesan notifikasi.
- Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.
- Klik Create Policy.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNetwork policy disabled
Nama kategori di API: NETWORK_POLICY_DISABLED
Kebijakan jaringan dinonaktifkan di cluster GKE.
Secara default, komunikasi pod to pod terbuka. Komunikasi terbuka memungkinkan pod
terhubung langsung di seluruh node, dengan atau tanpa terjemahan alamat jaringan. Resource
NetworkPolicy
seperti firewall tingkat pod yang membatasi koneksi
antar-pod, kecuali jika resource NetworkPolicy
secara eksplisit mengizinkan
koneksi. Pelajari cara menentukan kebijakan jaringan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Klik nama cluster yang tercantum dalam temuan Security Health Analytics.
Di bagian Networking, di baris untuk Calico Kubernetes Network policy, klik
Edit.Jika konfigurasi cluster baru-baru ini diubah, tombol edit mungkin dinonaktifkan. Jika Anda tidak dapat mengedit setelan cluster, tunggu beberapa menit, lalu coba lagi.
Dalam dialog, pilih Enable Calico Kubernetes network policy for control plane dan Enable Calico Kubernetes network policy for nodes.
Klik Simpan Perubahan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNodepool boot CMEK disabled
Nama kategori di API: NODEPOOL_BOOT_CMEK_DISABLED
Disk booting di node pool ini tidak dienkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK). CMEK memungkinkan pengguna mengonfigurasi kunci enkripsi default untuk disk booting di node pool.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Di daftar cluster, klik nama cluster dalam temuan.
Klik tab Nodes.
Untuk setiap kumpulan node default-pool, klik
Hapus.Saat diminta untuk mengonfirmasi, klik Delete.
Untuk membuat node pool baru menggunakan CMEK, lihat Menggunakan kunci enkripsi yang dikelola pelanggan (CMEK). CMEK dikenai biaya tambahan terkait Cloud KMS.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNodepool secure boot disabled
Nama kategori di API: NODEPOOL_SECURE_BOOT_DISABLED
Secure Boot dinonaktifkan untuk cluster GKE.
Aktifkan Booting Aman untuk Node GKE yang Terlindungi guna memverifikasi tanda tangan digital komponen booting node. Untuk informasi selengkapnya, lihat Booting Aman.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Setelah disediakan, Node pool tidak dapat diupdate untuk mengaktifkan Booting Aman. Anda harus membuat Node pool baru dengan Booting Aman yang diaktifkan.
Buka halaman Kubernetes clusters di konsol Google Cloud.
Klik nama cluster dalam temuan.
Klik Add Node Pool.
Di menu Node pools, lakukan langkah berikut:
- Klik nama Node pool baru untuk memperluas tab.
- Pilih Security, lalu di bagian Shielded options, pilih Enable secure boot.
- Klik Create.
- Untuk memigrasikan workload Anda dari node pool yang tidak sesuai ke node pool baru, lihat Memigrasikan workload ke jenis mesin yang berbeda.
- Setelah workload Anda dipindah, hapus node pool awal yang tidak sesuai.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNon org IAM member
Nama kategori di API: NON_ORG_IAM_MEMBER
Pengguna di luar organisasi atau project Anda memiliki izin IAM pada project atau organisasi. Pelajari izin IAM lebih lanjut.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman IAM di Konsol Google Cloud.
Centang kotak di samping pengguna di luar organisasi atau project Anda.
Klik Hapus.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariObject versioning disabled
Nama kategori di API: OBJECT_VERSIONING_DISABLED
Pembuatan versi objek tidak diaktifkan di bucket penyimpanan tempat sink dikonfigurasi.
Untuk mendukung pengambilan objek yang dihapus atau ditimpa, Cloud Storage menawarkan fitur Pembuatan Versi Objek. Aktifkan Pembuatan Versi Objek untuk melindungi data Cloud Storage Anda agar tidak ditimpa atau dihapus secara tidak sengaja. Pelajari cara Mengaktifkan Pembuatan Versi Objek.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, gunakan flag --versioning
dalam
perintah gcloud storage buckets update
dengan nilai yang sesuai:
gcloud storage buckets update gs://finding.assetDisplayName --versioning
Ganti finding.assetDisplayName
dengan nama bucket yang relevan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen Cassandra port
Nama kategori di API: OPEN_CASSANDRA_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port Cassandra dapat mengekspos layanan Cassandra Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan Cassandra adalah:
TCP - 7000, 7001, 7199, 8888, 9042, 9160, 61620, 61621
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen ciscosecure websm port
Nama kategori di API: OPEN_CISCOSECURE_WEBSM_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port CiscoSecure/WebSM dapat mengekspos layanan CiscoSecure/WebSM Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan CiscoSecure/WebSM adalah:
TCP - 9090
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen directory services port
Nama kategori di API: OPEN_DIRECTORY_SERVICES_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port Directory dapat mengekspos layanan Directory Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan Direktori adalah:
TCP - 445
UDP - 445
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen DNS port
Nama kategori di API: OPEN_DNS_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port DNS dapat mengekspos layanan DNS Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan DNS adalah:
TCP - 53
UDP - 53
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen Elasticsearch port
Nama kategori di API: OPEN_ELASTICSEARCH_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port Elasticsearch dapat mengekspos layanan Elasticsearch Anda kepada penyerang. Untuk mengetahui informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan Elasticsearch adalah:
TCP - 9200, 9300
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen firewall
Nama kategori di API: OPEN_FIREWALL
Aturan firewall yang mengizinkan koneksi dari semua alamat IP, seperti 0.0.0.0/0
,
atau dari semua port dapat tidak sengaja mengekspos resource terhadap serangan dari sumber
yang tidak diinginkan. Aturan ini harus dihapus atau dibatasi secara eksplisit ke port atau rentang IP sumber yang dituju. Misalnya, dalam aplikasi yang dimaksudkan untuk bersifat publik,
pertimbangkan untuk membatasi port yang diizinkan ke port yang diperlukan untuk aplikasi, seperti 80
dan 443. Jika aplikasi Anda perlu mengizinkan koneksi dari semua alamat IP atau
port, pertimbangkan untuk menambahkan aset ke daftar yang diizinkan. Pelajari lebih lanjut cara
Memperbarui aturan firewall.
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall rules di konsol Google Cloud.
Klik aturan firewall yang tercantum dalam temuan Security Health Analytics, lalu klik
Edit.Di bagian Source IP ranges, edit nilai IP untuk membatasi rentang IP yang diizinkan.
Di bagian Protocols and ports, pilih Specified protocols and ports, pilih protokol yang diizinkan, lalu masukkan port yang diizinkan.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen FTP port
Nama kategori di API: OPEN_FTP_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port FTP dapat mengekspos layanan FTP Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan FTP adalah:
TCP - 21
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen group IAM member
Nama kategori di API: OPEN_GROUP_IAM_MEMBER
Satu atau beberapa akun utama yang memiliki akses ke organisasi, project, atau folder adalah akun Google Grup yang dapat diikuti tanpa persetujuan.
Pelanggan Google Cloud dapat menggunakan Grup Google untuk mengelola peran dan izin bagi anggota di organisasi mereka, atau menerapkan kebijakan akses ke kumpulan pengguna. Sebagai ganti memberikan peran secara langsung kepada anggota, administrator dapat memberikan peran dan izin ke Grup Google, lalu menambahkan anggota ke grup tertentu. Anggota grup mewarisi semua peran dan izin grup, yang memungkinkan anggota mengakses resource dan layanan tertentu.
Jika akun Google Grup terbuka digunakan sebagai akun utama dalam binding IAM, siapa pun dapat mewarisi peran terkait hanya dengan bergabung ke grup secara langsung atau tidak langsung (melalui subgrup). Sebaiknya cabut peran grup terbuka atau batasi akses ke grup tersebut.
Untuk memperbaiki temuan ini, lakukan salah satu prosedur berikut.
Menghapus grup dari kebijakan IAM
Buka halaman IAM di Konsol Google Cloud.
Jika perlu, pilih project, folder, atau organisasi dalam temuan.
Cabut peran setiap grup terbuka yang diidentifikasi dalam temuan.
Membatasi akses ke grup terbuka
- Login ke Google Grup.
- Perbarui setelan setiap grup terbuka, dan subgrupnya, untuk menentukan siapa yang dapat bergabung ke grup dan siapa yang harus menyetujuinya.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen HTTP port
Nama kategori di API: OPEN_HTTP_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port HTTP dapat mengekspos layanan HTTP Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan HTTP adalah:
TCP - 80
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen LDAP port
Nama kategori di API: OPEN_LDAP_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port LDAP dapat mengekspos layanan LDAP Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan LDAP adalah:
TCP - 389, 636
UDP - 389
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen Memcached port
Nama kategori di API: OPEN_MEMCACHED_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port Memcached dapat mengekspos layanan Memcached Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan Memcached adalah:
TCP - 11211, 11214, 11215
UDP - 11211, 11214, 11215
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen MongoDB port
Nama kategori di API: OPEN_MONGODB_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port MongoDB dapat mengekspos layanan MongoDB Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan MongoDB adalah:
TCP - 27017, 27018, 27019
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen MySQL port
Nama kategori di API: OPEN_MYSQL_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port MySQL dapat mengekspos layanan MySQL Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan MySQL adalah:
TCP - 3306
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen NetBIOS port
Nama kategori di API: `OPEN_NETBIOS_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port NetBIOS dapat mengekspos layanan NetBIOS Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan NetBIOS adalah:
TCP - 137, 138, 139
UDP - 137, 138, 139
Temuan ini dibuat untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen OracleDB port
Nama kategori di API: OPEN_ORACLEDB_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port OracleDB dapat mengekspos layanan OracleDB Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan OracleDB adalah:
TCP - 1521, 2483, 2484
UDP - 2483, 2484
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen POP3 port
Nama kategori di API: OPEN_POP3_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port POP3 dapat mengekspos layanan POP3 Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan POP3 adalah:
TCP - 110
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen PostgreSQL port
Nama kategori di API: OPEN_POSTGRESQL_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port PostgreSQL dapat mengekspos layanan PostgreSQL Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan PostgreSQL adalah:
TCP - 5432
UDP - 5432
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen RDP port
Nama kategori di API: OPEN_RDP_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port RDP dapat mengekspos layanan RDP Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan RDP adalah:
TCP - 3389
UDP - 3389
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen Redis port
Nama kategori di API: OPEN_REDIS_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port Redis dapat mengekspos layanan Redis Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan Redis adalah:
TCP - 6379
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen SMTP port
Nama kategori di API: OPEN_SMTP_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port SMTP dapat mengekspos layanan SMTP Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan SMTP adalah:
TCP - 25
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen SSH port
Nama kategori di API: OPEN_SSH_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port SSH dapat mengekspos layanan SSH Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan SSH adalah:
SCTP - 22
TCP - 22
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOpen Telnet port
Nama kategori di API: OPEN_TELNET_PORT
Aturan firewall yang mengizinkan alamat IP apa pun untuk terhubung ke port Telnet dapat mengekspos layanan Telnet Anda kepada penyerang. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall VPC.
Port layanan Telnet adalah:
TCP - 23
Temuan ini dihasilkan untuk aturan firewall yang rentan, meskipun Anda sengaja menonaktifkan aturan tersebut. Temuan aktif untuk aturan firewall yang dinonaktifkan akan memberi tahu Anda tentang konfigurasi tidak aman yang akan mengizinkan traffic yang tidak diinginkan jika diaktifkan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Firewall di Konsol Google Cloud.
Dalam daftar aturan firewall, klik nama aturan firewall dalam temuan.
Klik
Edit.Di bagian Rentang IP sumber, hapus
0.0.0.0/0
.Tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance.
Tambahkan protokol dan port tertentu yang ingin Anda buka di instance Anda.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOrg policy Confidential VM policy
Nama kategori di API: ORG_POLICY_CONFIDENTIAL_VM_POLICY
Resource Compute Engine tidak mematuhi kebijakan organisasi constraints/compute.restrictNonConfidentialComputing
. Untuk informasi selengkapnya tentang batasan kebijakan organisasi ini, lihat Menerapkan batasan kebijakan organisasi.
Organisasi Anda mewajibkan VM ini memiliki layanan Confidential VM yang aktif. VM yang tidak mengaktifkan layanan ini tidak akan menggunakan enkripsi memori runtime, sehingga membuatnya terekspos serangan memori runtime.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Dalam daftar instance, klik nama instance dalam temuan.
Jika VM tidak memerlukan layanan Confidential VM, pindahkan VM tersebut ke folder atau project baru.
Jika VM memerlukan Confidential VM, klik
Hapus.Untuk membuat instance baru dengan Confidential VM yang diaktifkan, lihat Panduan memulai: Membuat instance Confidential VM.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOrg policy location restriction
Nama kategori di API: ORG_POLICY_LOCATION_RESTRICTION
Batasan gcp.resourceLocations
Kebijakan Organisasi memungkinkan Anda membatasi pembuatan resource baru ke Region Cloud yang Anda pilih.
Untuk mengetahui informasi selengkapnya, lihat Membatasi lokasi resource.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Detektor ORG_POLICY_LOCATION_RESTRICTION
mencakup banyak jenis
resource dan petunjuk
penyembuhan berbeda untuk setiap resource. Pendekatan umum untuk memperbaiki
pelanggaran lokasi mencakup hal berikut:
- Salin, pindahkan, atau cadangkan resource di luar region atau datanya ke dalam resource yang ada di dalam region. Baca dokumentasi untuk setiap layanan guna mendapatkan petunjuk tentang cara memindahkan resource.
- Hapus resource asli di luar wilayah atau datanya.
Pendekatan ini tidak dapat dilakukan untuk semua jenis resource. Untuk mendapatkan panduan, lihat rekomendasi yang disesuaikan yang diberikan dalam temuan.
Pertimbangan lainnya
Saat memperbaiki temuan ini, pertimbangkan hal berikut.
Resource terkelola
Siklus proses resource terkadang dikelola dan dikontrol oleh resource lainnya. Misalnya, grup instance Compute Engine terkelola membuat dan menghancurkan instance Compute Engine sesuai dengan kebijakan penskalaan otomatis grup instance. Jika resource terkelola dan mengelola berada dalam cakupan untuk penegakan lokasi, keduanya mungkin ditandai sebagai melanggar Kebijakan Organisasi. Perbaikan temuan untuk resource terkelola harus dilakukan pada resource pengelola untuk memastikan stabilitas operasional.
Resource yang sedang digunakan
Resource tertentu digunakan oleh resource lain. Misalnya, disk Compute Engine yang dilampirkan ke instance Compute Engine yang sedang berjalan dianggap sedang digunakan oleh instance tersebut. Jika resource yang sedang digunakan melanggar Kebijakan Organisasi lokasi, Anda harus memastikan bahwa resource tersebut tidak sedang digunakan sebelum mengatasi pelanggaran lokasi.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOS login disabled
Nama kategori di API: OS_LOGIN_DISABLED
Login OS dinonaktifkan di instance Compute Engine ini.
Login OS mengaktifkan pengelolaan kunci SSH terpusat dengan IAM, dan menonaktifkan konfigurasi kunci SSH berbasis metadata di semua instance dalam project. Pelajari cara menyiapkan dan mengonfigurasi Login OS.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Metadata di konsol Google Cloud.
Klik Edit, lalu klik Add item.
Tambahkan item dengan kunci enable-oslogin dan nilai TRUE.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOver privileged account
Nama kategori di API: OVER_PRIVILEGED_ACCOUNT
Node GKE menggunakan node layanan default Compute Engine, yang memiliki akses luas secara default dan mungkin memiliki hak berlebih untuk menjalankan cluster GKE Anda.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Ikuti petunjuk untuk Menggunakan akun layanan Google dengan hak istimewa terendah.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOver privileged scopes
Nama kategori di API: OVER_PRIVILEGED_SCOPES
Akun layanan node memiliki cakupan akses yang luas.
Cakupan akses adalah metode lama untuk menentukan izin untuk instance Anda. Untuk mengurangi kemungkinan eskalasi akses dalam suatu serangan, buat dan gunakan akun layanan dengan hak istimewa minimal untuk menjalankan cluster GKE Anda.
Untuk memperbaiki temuan ini, ikuti petunjuk untuk Menggunakan akun layanan Google dengan hak istimewa terendah.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOver privileged service account user
Nama kategori di API: OVER_PRIVILEGED_SERVICE_ACCOUNT_USER
Pengguna memiliki peran iam.serviceAccountUser
atau iam.serviceAccountTokenCreator
di tingkat project, folder, atau organisasi, bukan untuk
akun layanan tertentu.
Memberikan peran tersebut kepada pengguna untuk project, folder, atau organisasi akan memberi pengguna akses ke semua akun layanan saat ini dan mendatang dalam cakupan tersebut. Situasi ini dapat menyebabkan eskalasi hak istimewa yang tidak diinginkan. Untuk mengetahui informasi selengkapnya, lihat Izin akun layanan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman IAM di Konsol Google Cloud.
Jika perlu, pilih project, folder, atau organisasi dalam temuan.
Untuk setiap akun utama yang ditetapkan
roles/iam.serviceAccountUser
atauroles/iam.serviceAccountTokenCreator
, lakukan hal berikut:- Klik Edit.
- Di panel Edit permissions, di samping peran, klik Delete.
- Klik Simpan.
Ikuti panduan ini untuk memberi izin pengguna individu guna meniru identitas satu akun layanan. Anda harus mengikuti panduan untuk setiap akun layanan yang ingin Anda izinkan untuk ditiru identitasnya oleh pengguna pilihan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOwner not monitored
Nama kategori di API: OWNER_NOT_MONITORED
Metrik dan pemberitahuan log tidak dikonfigurasi untuk memantau penetapan atau perubahan Kepemilikan Project.
Peran Pemilik IAM memiliki tingkat hak istimewa tertinggi pada project. Untuk mengamankan resource Anda, siapkan pemberitahuan yang akan dikirim saat pemilik baru ditambahkan atau dihapus. Untuk informasi selengkapnya, lihat Ringkasan metrik berbasis log.
Bergantung pada jumlah informasi, biaya Cloud Monitoring dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Membuat metrik
Buka halaman Logs-based Metrics di Konsol Google Cloud.
Klik Buat Metrik.
Di bagian Metric Type, pilih Counter.
Di bagian Details:
- Setel Log metric name.
- Tambahkan deskripsi.
- Setel Units ke 1.
Di bagian Filter selection, salin dan tempel teks berikut ke dalam kotak Build filter, yang menggantikan teks yang ada, jika diperlukan:
(protoPayload.serviceName="cloudresourcemanager.googleapis.com") AND (ProjectOwnership OR projectOwnerInvitee) OR (protoPayload.serviceData.policyDelta.bindingDeltas.action="REMOVE" AND protoPayload.serviceData.policyDelta.bindingDeltas.role="roles/owner") OR (protoPayload.serviceData.policyDelta.bindingDeltas.action="ADD" AND protoPayload.serviceData.policyDelta.bindingDeltas.role="roles/owner")
Klik Buat Metrik. Anda akan melihat konfirmasi.
Buat Kebijakan Pemberitahuan
-
Di konsol Google Cloud, buka halaman Log-based Metrics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
- Di bagian Metrik yang ditentukan pengguna, pilih metrik yang Anda buat di bagian sebelumnya.
-
Klik Lainnya
, lalu klik Buat pemberitahuan dari metrik.Dialog New condition akan terbuka dengan opsi metrik dan transformasi data yang telah diisi otomatis.
- Klik Berikutnya.
- Tinjau setelan yang telah diisi otomatis. Anda mungkin ingin mengubah Nilai minimum.
- Klik Nama kondisi, lalu masukkan nama untuk kondisi.
- Klik Berikutnya.
Untuk menambahkan notifikasi ke kebijakan pemberitahuan, klik Notification channels. Dalam dialog ini, pilih satu atau beberapa saluran notifikasi dari menu, lalu klik OK.
Untuk menerima notifikasi saat insiden dibuka dan ditutup, centang Notify on incident closure. Secara default, notifikasi hanya dikirim saat insiden dibuka.
- Opsional: Perbarui Incident autoclose duration. Kolom ini menentukan kapan Monitoring akan menutup insiden jika data metrik tidak ada.
- Opsional: Klik Documentation, lalu tambahkan informasi apa pun yang ingin Anda sertakan dalam pesan notifikasi.
- Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.
- Klik Create Policy.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPod security policy disabled
Nama kategori di API: POD_SECURITY_POLICY_DISABLED
PodSecurityPolicy
dinonaktifkan di cluster GKE.
PodSecurityPolicy
adalah resource pengontrol penerimaan yang memvalidasi permintaan untuk membuat dan mengupdate pod di cluster. Cluster tidak akan menerima pod yang
tidak memenuhi kondisi yang ditentukan dalam PodSecurityPolicy
.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, tentukan dan izinkan PodSecurityPolicies
, dan
aktifkan pengontrol PodSecurityPolicy
. Untuk mengetahui petunjuknya, lihat
Menggunakan PodSecurityPolicies
.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPrimitive roles used
Nama kategori di API: PRIMITIVE_ROLES_USED
Pengguna memiliki salah satu peran dasar IAM berikut: roles/owner
,
roles/editor
, atau roles/viewer
. Peran ini terlalu permisif dan sebaiknya tidak
digunakan. Sebagai gantinya, tugas harus ditetapkan per project saja.
Untuk mengetahui informasi selengkapnya, lihat Memahami peran.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman kebijakan IAM di konsol Google Cloud.
Untuk setiap pengguna yang diberi peran primitif, sebaiknya gunakan peran yang lebih terperinci.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPrivate cluster disabled
Nama kategori di API: PRIVATE_CLUSTER_DISABLED
Cluster GKE memiliki cluster pribadi yang dinonaktifkan.
Cluster pribadi mengizinkan node untuk hanya memiliki alamat IP pribadi. Fitur ini membatasi akses internet keluar untuk node. Jika tidak memiliki alamat IP publik, node cluster tidak dapat ditemukan atau terekspos ke internet publik. Anda masih dapat merutekan traffic ke node menggunakan load balancer internal. Untuk mengetahui informasi selengkapnya, lihat Cluster pribadi.
Anda tidak dapat menjadikan cluster yang sudah ada bersifat pribadi. Untuk memperbaiki temuan ini, buat cluster pribadi baru:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Klik Create Cluster.
Di menu navigasi, pada Cluster, pilih Networking.
Pilih tombol pilihan untuk Cluster pribadi.
Di bagian Advanced networking options, centang kotak untuk Enable VPC-native traffic routing (menggunakan IP alias).
Klik Create.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPrivate Google access disabled
Nama kategori di API: PRIVATE_GOOGLE_ACCESS_DISABLED
Ada subnet pribadi tanpa akses ke API publik Google.
Akses Google Pribadi mengaktifkan instance VM dengan hanya alamat IP internal (pribadi) untuk menjangkau alamat IP publik dari API dan layanan Google.
Untuk informasi selengkapnya, lihat Mengonfigurasi Akses Pribadi Google.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VPC networks di konsol Google Cloud.
Dalam daftar jaringan, klik nama jaringan yang diinginkan.
Di halaman VPC network details, klik tab Subnets.
Dalam daftar subnet, klik nama subnet yang terkait dengan cluster Kubernetes dalam temuan.
Di halaman Subnet details, klik
Edit.Di bagian Private Google Access, pilih On.
Klik Simpan.
Untuk menghapus IP publik (eksternal) dari instance VM yang traffic eksternalnya hanya ke Google API, lihat Membatalkan penetapan alamat IP eksternal statis.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPublic bucket ACL
Nama kategori di API: PUBLIC_BUCKET_ACL
Bucket bersifat publik dan siapa saja di internet dapat mengaksesnya.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan kontrol akses.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Browser Storage di konsol Google Cloud.
Pilih bucket yang tercantum dalam temuan Security Health Analytics.
Di halaman Detail bucket, klik tab Izin.
Di samping Lihat menurut, klik Peran.
Di kotak Filter, telusuri allUsers dan allAuthenticatedUsers.
Klik
Hapus untuk menghapus semua izin IAM yang diberikan kepada allUsers dan allAuthenticatedUsers.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPublic Compute image
Nama kategori di API: PUBLIC_COMPUTE_IMAGE
Image Compute Engine bersifat publik dan siapa saja di internet dapat mengaksesnya. allUsers mewakili siapa saja di internet dan allAuthenticatedUsers mewakili siapa saja yang diautentikasi dengan Akun Google; keduanya tidak dibatasi hanya untuk pengguna dalam organisasi Anda.
Image Compute Engine mungkin berisi informasi sensitif seperti kunci enkripsi atau software berlisensi. Informasi sensitif tersebut tidak boleh dapat diakses secara publik. Jika Anda bermaksud menjadikan image Compute Engine ini publik, pastikan tidak ada informasi sensitif di dalamnya.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan kontrol akses.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman image Compute Engine di Konsol Google Cloud.
Pilih kotak di samping gambar public-image, lalu klik Show Info Panel.
Di kotak Filter, telusuri akun utama untuk allUsers dan allAuthenticatedUsers.
Luaskan peran yang penggunanya ingin Anda hapus.
Klik
Hapus untuk menghapus pengguna dari peran tersebut.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPublic dataset
Nama kategori di API: PUBLIC_DATASET
Set data BigQuery bersifat publik dan dapat diakses oleh siapa saja di internet. Akun utama IAM allUsers mewakili siapa pun di internet dan allAuthenticatedUsers mewakili siapa pun yang login ke layanan Google. Keduanya tidak dibatasi hanya pada pengguna dalam organisasi Anda.
Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke set data.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Explorer BigQuery di konsol Google Cloud.
Dalam daftar set data, klik nama set data yang diidentifikasi dalam temuan. Panel Dataset info akan terbuka.
Di dekat bagian atas panel Dataset info, klik SHARING.
Di menu drop-down, klik Izin.
Di panel Dataset Permissions, masukkan allUsers dan allAuthenticatedUsers, lalu hapus akses untuk akun utama tersebut.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPublic IP address
Nama kategori di API: PUBLIC_IP_ADDRESS
Instance Compute Engine memiliki alamat IP publik.
Untuk mengurangi permukaan serangan organisasi, hindari menetapkan alamat IP publik ke VM Anda. Instance yang dihentikan mungkin masih ditandai dengan temuan IP Publik, misalnya, jika antarmuka jaringan dikonfigurasi untuk menetapkan IP publik efemeral saat memulai. Pastikan konfigurasi jaringan untuk instance yang dihentikan tidak menyertakan akses eksternal.
Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke instance VM dengan aman.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Dalam daftar instance, centang kotak di samping nama instance dalam temuan.
Klik
Edit.Untuk setiap antarmuka di Network interfaces, klik
Edit dan setel External IP ke None.Klik Selesai, lalu klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPublic log bucket
Nama kategori di API: PUBLIC_LOG_BUCKET
Temuan ini tidak tersedia untuk aktivasi tingkat project.
Bucket penyimpanan bersifat publik dan digunakan sebagai sink log, yang berarti siapa saja di internet dapat mengakses log yang disimpan di bucket ini. allUsers mewakili siapa saja di internet dan allAuthenticatedUsers mewakili siapa saja yang login ke layanan Google. Keduanya tidak dibatasi hanya untuk pengguna dalam organisasi Anda.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan kontrol akses.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Browser Cloud Storage di konsol Google Cloud.
Dalam daftar bucket, klik nama bucket yang ditunjukkan dalam penemuan.
Klik tab Izin.
Hapus allUsers dan allAuthenticatedUsers dari daftar akun utama.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPublic SQL instance
Nama kategori di API: PUBLIC_SQL_INSTANCE
Instance SQL Anda memiliki 0.0.0.0/0
sebagai jaringan yang diizinkan. Kejadian ini berarti
klien IPv4 mana pun dapat melewati firewall jaringan dan melakukan upaya login ke
instance Anda, termasuk klien yang mungkin tidak sengaja Anda izinkan. Klien
masih memerlukan kredensial yang valid agar berhasil login ke instance Anda.
Untuk mengetahui informasi selengkapnya, lihat Memberikan otorisasi dengan jaringan yang diotorisasi.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di panel navigasi, klik Koneksi.
Di bagian Authorized networks, hapus
0.0.0.0/0
dan tambahkan alamat IP atau rentang IP tertentu yang ingin Anda izinkan untuk terhubung ke instance Anda.Klik Selesai, lalu klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPubsub CMEK disabled
Nama kategori di API: PUBSUB_CMEK_DISABLED
Topik Pub/Sub tidak dienkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK).
Dengan CMEK, kunci yang Anda buat dan kelola di Cloud KMS menggabungkan kunci yang digunakan Google untuk mengenkripsi data Anda, sehingga Anda memiliki lebih banyak kontrol terhadap akses ke data Anda.
Untuk memperbaiki temuan ini, hapus topik yang ada dan buat topik baru:
Buka halaman Topics Pub/Sub di konsol Google Cloud.
Jika perlu, pilih project yang berisi topik Pub/Sub.
Centang kotak di samping topik yang tercantum dalam temuan, lalu klik
Hapus.Untuk membuat topik Pub/Sub baru dengan CMEK yang diaktifkan, lihat Menggunakan kunci enkripsi yang dikelola pelanggan. CMEK dikenai biaya tambahan terkait Cloud KMS.
Publikasikan temuan atau data lainnya ke topik Pub/Sub yang mengaktifkan CMEK.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRoute not monitored
Nama kategori di API: ROUTE_NOT_MONITORED
Metrik dan pemberitahuan log tidak dikonfigurasi untuk memantau perubahan rute jaringan VPC.
Rute Google Cloud adalah tujuan dan hop yang menentukan jalur yang dilalui traffic jaringan dari instance VM ke IP tujuan. Dengan memantau perubahan pada tabel rute, Anda dapat membantu memastikan bahwa semua traffic VPC mengalir melalui jalur yang diharapkan.
Untuk informasi selengkapnya, lihat Ringkasan metrik berbasis log.
Bergantung pada jumlah informasi, biaya Cloud Monitoring dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Membuat metrik
Buka halaman Logs-based Metrics di Konsol Google Cloud.
Klik Buat Metrik.
Di bagian Metric Type, pilih Counter.
Di bagian Details:
- Setel Log metric name.
- Tambahkan deskripsi.
- Setel Units ke 1.
Di bagian Filter selection, salin dan tempel teks berikut ke dalam kotak Build filter, yang menggantikan teks yang ada, jika diperlukan:
resource.type="gce_route" AND (protoPayload.methodName:"compute.routes.delete" OR protoPayload.methodName:"compute.routes.insert")
Klik Buat Metrik. Anda akan melihat konfirmasi.
Buat Kebijakan Pemberitahuan
-
Di konsol Google Cloud, buka halaman Log-based Metrics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
- Di bagian Metrik yang ditentukan pengguna, pilih metrik yang Anda buat di bagian sebelumnya.
-
Klik Lainnya
, lalu klik Buat pemberitahuan dari metrik.Dialog New condition akan terbuka dengan opsi metrik dan transformasi data yang telah diisi otomatis.
- Klik Berikutnya.
- Tinjau setelan yang telah diisi otomatis. Anda mungkin ingin mengubah Nilai minimum.
- Klik Nama kondisi, lalu masukkan nama untuk kondisi.
- Klik Berikutnya.
Untuk menambahkan notifikasi ke kebijakan pemberitahuan, klik Notification channels. Dalam dialog ini, pilih satu atau beberapa saluran notifikasi dari menu, lalu klik OK.
Untuk menerima notifikasi saat insiden dibuka dan ditutup, centang Notify on incident closure. Secara default, notifikasi hanya dikirim saat insiden dibuka.
- Opsional: Perbarui Incident autoclose duration. Kolom ini menentukan kapan Monitoring akan menutup insiden jika data metrik tidak ada.
- Opsional: Klik Documentation, lalu tambahkan informasi apa pun yang ingin Anda sertakan dalam pesan notifikasi.
- Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.
- Klik Create Policy.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRedis role used on org
Nama kategori di API: REDIS_ROLE_USED_ON_ORG
Temuan ini tidak tersedia untuk aktivasi tingkat project.
Peran IAM Redis ditetapkan di tingkat organisasi atau folder.
Peran IAM Redis berikut hanya boleh ditetapkan per project, bukan di level organisasi atau folder:
roles/redis.admin
roles/redis.viewer
roles/redis.editor
Untuk mengetahui informasi selengkapnya, lihat Kontrol akses dan izin.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman kebijakan IAM di konsol Google Cloud.
Hapus peran Redis IAM yang ditunjukkan dalam temuan dan tambahkan di masing-masing project.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRelease channel disabled
Nama kategori di API: RELEASE_CHANNEL_DISABLED
Cluster GKE tidak berlangganan saluran rilis.
Berlangganan saluran rilis untuk mengotomatiskan upgrade versi ke cluster GKE. Fitur ini juga mengurangi kompleksitas manajemen versi terhadap jumlah fitur dan tingkat stabilitas yang diperlukan. Untuk informasi selengkapnya, lihat Saluran rilis.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Di bagian Cluster basics, klik
Upgrade cluster master version di baris Release channel.Jika konfigurasi cluster baru-baru ini diubah, tombol edit mungkin dinonaktifkan. Jika Anda tidak dapat mengedit setelan cluster, tunggu beberapa menit, lalu coba lagi.
Dalam dialog, pilih Release channel, lalu pilih saluran rilis yang ingin Anda langgani.
Jika versi bidang kontrol cluster Anda tidak dapat diupgrade ke saluran rilis, saluran tersebut mungkin dinonaktifkan sebagai opsi.
Klik Simpan Perubahan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRSASHA1 for signing
Nama kategori di API: RSASHA1_FOR_SIGNING
RSASHA1 digunakan untuk penandatanganan kunci di zona Cloud DNS. Algoritma yang digunakan untuk penandatanganan kunci tidak boleh lemah.
Untuk memperbaiki temuan ini, ganti algoritma dengan algoritma yang direkomendasikan dengan mengikuti panduan Menggunakan opsi penandatanganan lanjutan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariService account key not rotated
Nama kategori di API: SERVICE_ACCOUNT_KEY_NOT_ROTATED
Temuan ini tidak tersedia untuk aktivasi tingkat project.
Kunci akun layanan yang dikelola pengguna belum dirotasi selama lebih dari 90 hari.
Secara umum, kunci akun layanan yang dikelola oleh pengguna harus dirotasi setidaknya setiap 90 hari, untuk memastikan data tidak dapat diakses dengan kunci lama yang mungkin telah hilang, disusupi, atau dicuri. Untuk mengetahui informasi selengkapnya, lihat Merotasikan kunci akun layanan untuk mengurangi risiko keamanan yang disebabkan oleh kebocoran kunci.
Jika Anda membuat pasangan kunci publik/pribadi sendiri, menyimpan kunci pribadi dalam modul keamanan hardware (HSM), dan mengupload kunci publik ke Google, Anda mungkin tidak perlu merotasi kunci setiap 90 hari. Sebagai gantinya, Anda dapat merotasi kunci jika yakin bahwa kunci mungkin telah disusupi.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Akun Layanan di konsol Google Cloud.
Jika perlu, pilih project yang ditunjukkan dalam temuan.
Di daftar akun layanan, temukan akun layanan yang tercantum dalam penemuan, lalu klik
Hapus. Sebelum melanjutkan, pertimbangkan dampak penghapusan akun layanan terhadap resource produksi Anda.Buat kunci akun layanan baru untuk menggantikan kunci lama. Untuk mengetahui informasi selengkapnya, lihat Membuat kunci akun layanan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariService account role separation
Nama kategori di API: SERVICE_ACCOUNT_ROLE_SEPARATION
Temuan ini tidak tersedia untuk aktivasi tingkat project.
Satu atau beberapa akun utama di organisasi Anda memiliki beberapa izin akun layanan yang ditetapkan. Tidak ada akun yang secara bersamaan memiliki Admin Akun Layanan beserta izin akun layanan lainnya. Untuk mempelajari akun layanan dan peran yang tersedia untuknya, lihat Akun layanan.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman IAM di Konsol Google Cloud.
Untuk setiap akun utama yang tercantum dalam temuan, lakukan hal berikut:
- Periksa apakah peran diwariskan dari folder atau resource organisasi dengan melihat kolom Inheritance. Jika kolom berisi link ke resource induk, klik link untuk membuka halaman IAM resource induk.
- Klik Edit di samping akun utama.
- Untuk menghapus izin, klik Hapus di samping Admin Akun Layanan. Jika Anda ingin menghapus semua izin akun layanan, klik Hapus di samping semua izin lainnya.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariShielded VM disabled
Nama kategori di API: SHIELDED_VM_DISABLED
Shielded VM dinonaktifkan di instance Compute Engine ini.
Shielded VM adalah virtual machine (VM) di Google Cloud yang telah melalui proses hardening oleh serangkaian kontrol keamanan yang membantu memberikan pertahanan dari rootkit dan bootkit. Shielded VM membantu memastikan bahwa bootloader dan firmware ditandatangani dan diverifikasi. Pelajari Shielded VM lebih lanjut.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman VM Instances di Konsol Google Cloud.
Pilih instance yang terkait dengan temuan Security Health Analytics.
Di halaman Instance details yang dimuat, klik
Stop.Setelah instance dihentikan, klik
Edit.Di bagian Shielded VM, alihkan tombol Turn on vTPM dan Turn on Integrity Monitoring untuk mengaktifkan Shielded VM.
Anda juga memiliki opsi untuk mengaktifkan Secure Boot jika tidak menggunakan driver kustom atau driver yang tidak ditandatangani.
Klik Simpan. Konfigurasi baru akan muncul di halaman Detail instance.
Klik
Mulai untuk memulai instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL CMEK disabled
Nama kategori di API: SQL_CMEK_DISABLED
Instance database SQL tidak menggunakan kunci enkripsi yang dikelola pelanggan (CMEK).
Dengan CMEK, kunci yang Anda buat dan kelola di Cloud KMS menggabungkan kunci yang digunakan Google untuk mengenkripsi data Anda, sehingga Anda memiliki lebih banyak kontrol terhadap akses ke data Anda. Untuk mengetahui informasi selengkapnya, lihat ringkasan CMEK untuk produk Anda: Cloud SQL untuk MySQL, Cloud SQL untuk PostgreSQL, atau Cloud SQL untuk SQL Server. CMEK dikenai biaya tambahan yang terkait dengan Cloud KMS.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Delete.Untuk membuat instance baru dengan CMEK yang diaktifkan, ikuti petunjuk untuk mengonfigurasi CMEK untuk produk Anda:
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL contained database authentication
Nama kategori di API: SQL_CONTAINED_DATABASE_AUTHENTICATION
Instance database Cloud SQL untuk SQL Server tidak memiliki flag database contained database authentication yang disetel ke Nonaktif.
Flag contained database authentication mengontrol apakah Anda dapat membuat atau memasang database yang dimuat ke Mesin Database. Database yang dimuat mencakup semua setelan dan metadata database yang diperlukan untuk menentukan database serta tidak memiliki dependensi konfigurasi pada instance Mesin Database tempat database diinstal.
Mengaktifkan flag ini tidak direkomendasikan karena hal berikut:
- Pengguna dapat terhubung ke database tanpa autentikasi di tingkat Mesin Database.
- Memisahkan database dari Mesin Database memungkinkan pemindahan database ke instance SQL Server lain.
Database yang dimuat menghadapi ancaman unik yang sebaiknya dipahami dan dimitigasi oleh administrator Mesin Database SQL Server. Sebagian besar ancaman disebabkan oleh proses autentikasi USER WITH PASSWORD, yang memindahkan batas autentikasi dari tingkat Database Engine ke tingkat database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database contained database authentication dengan nilai Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL cross DB ownership chaining
Nama kategori di API: SQL_CROSS_DB_OWNERSHIP_CHAINING
Instance database Cloud SQL untuk SQL Server tidak memiliki flag database cross db ownership chaining yang disetel ke Nonaktif.
Flag cross db ownership chaining memungkinkan Anda mengontrol penggabungan kepemilikan database silang di tingkat database atau mengizinkan penggabungan kepemilikan database silang untuk semua pernyataan database.
Mengaktifkan flag ini tidak direkomendasikan kecuali jika semua database yang dihosting oleh instance SQL Server ikut dalam penggabungan kepemilikan database silang, dan Anda mengetahui implikasi keamanan dari setelan ini.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database cross db ownership chaining dengan nilai Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL external scripts enabled
Nama kategori di API: SQL_EXTERNAL_SCRIPTS_ENABLED
Instance database Cloud SQL untuk SQL Server tidak memiliki flag database external scripts enabled yang disetel ke Nonaktif.
Jika diaktifkan, setelan ini mengaktifkan eksekusi skrip dengan ekstensi bahasa jarak jauh tertentu. Karena fitur ini dapat berdampak buruk terhadap keamanan sistem, sebaiknya nonaktifkan fitur ini.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database external scripts enabled dengan nilai Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL instance not monitored
Nama kategori di API: SQL_INSTANCE_NOT_MONITORED
Temuan ini tidak tersedia untuk aktivasi tingkat project.
Metrik dan pemberitahuan log tidak dikonfigurasi untuk memantau perubahan konfigurasi instance Cloud SQL.
Kesalahan konfigurasi opsi instance SQL dapat menyebabkan risiko keamanan. Menonaktifkan opsi pencadangan otomatis dan ketersediaan tinggi dapat memengaruhi kelangsungan bisnis dan tidak membatasi jaringan yang diizinkan dapat meningkatkan eksposur ke jaringan tidak tepercaya. Memantau perubahan pada konfigurasi instance SQL membantu Anda mengurangi waktu yang diperlukan untuk mendeteksi dan memperbaiki kesalahan konfigurasi.
Untuk informasi selengkapnya, lihat Ringkasan metrik berbasis log.
Bergantung pada jumlah informasi, biaya Cloud Monitoring dapat menjadi signifikan. Untuk memahami penggunaan layanan dan biayanya, lihat Harga Google Cloud Observability.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Membuat metrik
Buka halaman Logs-based Metrics di Konsol Google Cloud.
Klik Buat Metrik.
Di bagian Metric Type, pilih Counter.
Di bagian Details:
- Setel Log metric name.
- Tambahkan deskripsi.
- Setel Units ke 1.
Di bagian Filter selection, salin dan tempel teks berikut ke dalam kotak Build filter, yang menggantikan teks yang ada, jika diperlukan:
protoPayload.methodName="cloudsql.instances.update" OR protoPayload.methodName="cloudsql.instances.create" OR protoPayload.methodName="cloudsql.instances.delete"
Klik Buat Metrik. Anda akan melihat konfirmasi.
Buat Kebijakan Pemberitahuan
-
Di konsol Google Cloud, buka halaman Log-based Metrics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
- Di bagian Metrik yang ditentukan pengguna, pilih metrik yang Anda buat di bagian sebelumnya.
-
Klik Lainnya
, lalu klik Buat pemberitahuan dari metrik.Dialog New condition akan terbuka dengan opsi metrik dan transformasi data yang telah diisi otomatis.
- Klik Berikutnya.
- Tinjau setelan yang telah diisi otomatis. Anda mungkin ingin mengubah Nilai minimum.
- Klik Nama kondisi, lalu masukkan nama untuk kondisi.
- Klik Berikutnya.
Untuk menambahkan notifikasi ke kebijakan pemberitahuan, klik Notification channels. Dalam dialog ini, pilih satu atau beberapa saluran notifikasi dari menu, lalu klik OK.
Untuk menerima notifikasi saat insiden dibuka dan ditutup, centang Notify on incident closure. Secara default, notifikasi hanya dikirim saat insiden dibuka.
- Opsional: Perbarui Incident autoclose duration. Kolom ini menentukan kapan Monitoring akan menutup insiden jika data metrik tidak ada.
- Opsional: Klik Documentation, lalu tambahkan informasi apa pun yang ingin Anda sertakan dalam pesan notifikasi.
- Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.
- Klik Create Policy.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL local infile
Nama kategori di API: SQL_LOCAL_INFILE
Instance database Cloud SQL untuk MySQL tidak memiliki flag database local_infile yang disetel ke Nonaktif. Karena masalah keamanan yang terkait dengan flag local_infile, flag ini harus dinonaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database local_infile dengan nilai Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log checkpoints disabled
Nama kategori di API: SQL_LOG_CHECKPOINTS_DISABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_checkpoints yang disetel ke Aktif.
Mengaktifkan log_checkpoints menyebabkan checkpoint dan titik mulai ulang dicatat dalam log server. Beberapa statistik disertakan dalam pesan log, termasuk jumlah buffering yang ditulis dan waktu yang diperlukan untuk menulisnya.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_checkpoints dengan nilai On.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log connections disabled
Nama kategori di API: SQL_LOG_CONNECTIONS_DISABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_connections yang disetel ke Aktif.
Mengaktifkan setelan log_connections menyebabkan upaya koneksi ke server akan dicatat ke dalam log, beserta keberhasilan penyelesaian autentikasi klien. Log dapat berguna dalam memecahkan masalah dan mengonfirmasi upaya koneksi yang tidak biasa ke server.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_connections dengan nilai On.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log disconnections disabled
Nama kategori di API: SQL_LOG_DISCONNECTIONS_DISABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_disconnections yang disetel ke Aktif.
Mengaktifkan setelan log_disconnections akan membuat entri log di akhir setiap sesi. Log berguna untuk memecahkan masalah dan mengonfirmasi aktivitas yang tidak biasa selama jangka waktu tertentu. Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_disconnections dengan nilai On.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log duration disabled
Nama kategori di API: SQL_LOG_DURATION_DISABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_duration yang disetel ke Aktif.
Jika log_duration diaktifkan, setelan ini akan menyebabkan waktu eksekusi dan durasi setiap pernyataan selesai dicatat ke dalam log. Memantau jumlah waktu yang diperlukan untuk menjalankan kueri dapat sangat penting dalam mengidentifikasi kueri yang lambat dan memecahkan masalah database.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_duration ke On.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log error verbosity
Nama kategori di API: SQL_LOG_ERROR_VERBOSITY
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_error_verbosity yang disetel ke default atau verbose.
Flag log_error_verbosity mengontrol jumlah detail dalam pesan yang dicatat ke dalam log. Makin panjang informasi, makin banyak detail yang tercatat dalam pesan. Sebaiknya tetapkan flag ini ke default atau verbose.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_error_verbosity ke default atau verbose.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log lock waits disabled
Nama kategori di API: SQL_LOG_LOCK_WAITS_DISABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_lock_waits yang disetel ke Aktif.
Mengaktifkan setelan log_lock_waits akan membuat entri log saat waktu tunggu sesi lebih lama dibandingkan waktu deadlock_timeout untuk mendapatkan kunci. Log ini berguna untuk menentukan apakah waktu tunggu kunci menyebabkan performa yang buruk.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_lock_waits dengan nilai On.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log min duration statement enabled
Nama kategori di API: SQL_LOG_MIN_DURATION_STATEMENT_ENABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_min_duration_statement yang disetel ke -1.
Flag log_min_duration_statement menyebabkan pernyataan SQL yang berjalan lebih lama dari waktu yang ditentukan akan dicatat ke dalam log. Pertimbangkan untuk menonaktifkan setelan ini karena pernyataan SQL mungkin berisi informasi sensitif yang tidak seharusnya dicatat ke dalam log. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_min_duration_statement dengan nilai -1.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log min error statement
Nama kategori di API: SQL_LOG_MIN_ERROR_STATEMENT
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_min_error_statement yang disetel dengan benar.
Flag log_min_error_statement mengontrol apakah pernyataan SQL yang menyebabkan kondisi error dicatat dalam log server. Pernyataan SQL dari tingkat keparahan yang ditentukan atau yang lebih tinggi dicatat ke dalam log dengan pesan untuk pernyataan error. Makin tinggi tingkat keparahan, makin sedikit pesan yang dicatat.
Jika log_min_error_statement tidak disetel ke nilai yang benar, pesan mungkin tidak diklasifikasikan sebagai pesan error. Tingkat keparahan yang disetel terlalu rendah dapat meningkatkan jumlah pesan dan mempersulit pencarian error sebenarnya. Tingkat keparahan yang disetel terlalu tinggi dapat menyebabkan pesan error untuk error sebenarnya tidak dicatat ke dalam log.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_min_error_statement dengan salah satu nilai rekomendasi berikut, sesuai dengan kebijakan logging organisasi Anda.
debug5
debug4
debug3
debug2
debug1
info
notice
warning
error
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log min error statement severity
Nama kategori di API: SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_min_error_statement yang disetel dengan benar.
Flag log_min_error_statement mengontrol apakah pernyataan SQL yang menyebabkan kondisi error dicatat dalam log server. Pernyataan SQL dengan tingkat keparahan yang ditentukan atau lebih ketat dicatat ke dalam log dengan pesan untuk pernyataan error. Makin ketat tingkat keparahannya, makin sedikit pesan yang dicatat.
Jika log_min_error_statement tidak disetel ke nilai yang benar, pesan mungkin tidak diklasifikasikan sebagai pesan error. Tingkat keparahan yang disetel terlalu rendah akan meningkatkan jumlah pesan dan mempersulit pencarian error sebenarnya. Tingkat keparahan yang terlalu tinggi (terlalu ketat) dapat menyebabkan pesan error untuk error sebenarnya tidak dicatat ke dalam log.
Sebaiknya tetapkan flag ini ke error atau lebih ketat.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_min_error_statement dengan salah satu nilai rekomendasi berikut, sesuai dengan kebijakan logging organisasi Anda.
error
log
fatal
panic
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log min messages
Nama kategori di API: SQL_LOG_MIN_MESSAGES
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_min_messages yang disetel ke minimal warning.
Flag log_min_messages mengontrol tingkat pesan mana yang dicatat dalam log server. Makin tinggi tingkat keparahan, makin sedikit pesan yang dicatat. Menyetel nilai minimum terlalu rendah dapat menyebabkan peningkatan ukuran dan panjang penyimpanan log, sehingga menyulitkan Anda untuk menemukan error sebenarnya.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_min_messages dengan salah satu nilai rekomendasi berikut, sesuai dengan kebijakan logging organisasi Anda.
debug5
debug4
debug3
debug2
debug1
info
notice
warning
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log executor stats enabled
Nama kategori di API: SQL_LOG_EXECUTOR_STATS_ENABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_executor_stats yang disetel ke Nonaktif.
Jika flag log_executor_stats diaktifkan, statistik performa eksekutor akan disertakan dalam log PostgreSQL untuk setiap kueri. Setelan ini dapat berguna untuk memecahkan masalah, tetapi dapat meningkatkan jumlah log dan overhead performa secara signifikan.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_executor_stats ke Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log hostname enabled
Nama kategori di API: `SQL_LOG_HOSTNAME_ENABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_hostname yang disetel ke Nonaktif.
Jika flag log_hostname diaktifkan, nama host host yang terhubung akan dicatat ke dalam log. Secara default, pesan log koneksi hanya menampilkan alamat IP. Setelan ini dapat berguna untuk memecahkan masalah. Namun, setelan ini dapat menimbulkan overhead pada performa server karena untuk setiap pernyataan yang dicatat ke dalam log, resolusi DNS diperlukan untuk mengonversi alamat IP ke nama host.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_hostname ke Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log parser stats enabled
Nama kategori di API: SQL_LOG_PARSER_STATS_ENABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_parser_stats yang disetel ke Nonaktif.
Jika flag log_parser_stats diaktifkan, statistik performa parser akan disertakan dalam log PostgreSQL untuk setiap kueri. Hal ini dapat berguna untuk memecahkan masalah, tetapi dapat meningkatkan jumlah log dan beban performa secara signifikan.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_parser_stats ke Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log planner stats enabled
Nama kategori di API: SQL_LOG_PLANNER_STATS_ENABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_planner_stats yang disetel ke Nonaktif.
Jika flag log_planner_stats diaktifkan, metode pembuatan profil sederhana untuk mencatat log statistik performa perencana PostgreSQL akan digunakan. Hal ini dapat berguna untuk memecahkan masalah, tetapi dapat meningkatkan jumlah log dan beban performa secara signifikan.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_planner_stats ke Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log statement
Nama kategori di API: SQL_LOG_STATEMENT
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_statement yang disetel ke ddl
.
Nilai flag ini mengontrol pernyataan SQL mana yang akan dicatat ke dalam log. Logging membantu
memecahkan masalah operasional dan mengizinkan analisis forensik. Jika tanda ini
tidak disetel ke nilai yang benar, informasi yang relevan mungkin dilewati atau
disembunyikan di banyak pesan. Nilai ddl
(semua pernyataan definisi data)
direkomendasikan kecuali jika diatur oleh kebijakan logging organisasi Anda.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_statement ke
ddl
.Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log statement stats enabled
Nama kategori di API: SQL_LOG_STATEMENT_STATS_ENABLED
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_statement_stats yang disetel ke Nonaktif.
Jika flag log_statement_stats diaktifkan, statistik performa keseluruhan akan disertakan dalam log PostgreSQL untuk setiap kueri. Setelan ini dapat berguna untuk memecahkan masalah, tetapi dapat meningkatkan jumlah log dan overhead performa secara signifikan.
Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_statement_stats ke Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL log temp files
Nama kategori di API: SQL_LOG_TEMP_FILES
Instance database Cloud SQL untuk PostgreSQL tidak memiliki flag database log_temp_files yang ditetapkan ke 0.
File sementara dapat dibuat untuk urutan, hash, dan hasil kueri sementara. Menyetel flag log_temp_files ke 0 menyebabkan semua informasi file sementara dicatat ke dalam log. Mencatat log semua file sementara berguna untuk mengidentifikasi potensi masalah performa. Untuk informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel flag database log_temp_files dengan nilai 0.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL no root password
Nama kategori di API: SQL_NO_ROOT_PASSWORD
Instance database MySQL tidak memiliki sandi yang ditetapkan untuk akun root. Anda harus menambahkan sandi ke instance database MySQL. Untuk mengetahui informasi selengkapnya, lihat Pengguna MySQL.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Di halaman Instance details yang dimuat, pilih tab Users.
Di samping pengguna
root
, klik Lainnya , lalu pilih Ubah Sandi.Masukkan kata sandi baru yang kuat, lalu klik OK.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL public IP
Nama kategori di API: SQL_PUBLIC_IP
Database Cloud SQL memiliki alamat IP publik.
Untuk mengurangi area serangan organisasi Anda, database Cloud SQL tidak boleh memiliki alamat IP publik. Alamat IP pribadi memberikan keamanan jaringan yang lebih baik dan latensi yang lebih rendah untuk aplikasi Anda.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Di menu sebelah kiri, klik Koneksi.
Klik tab Networking dan hapus centang pada kotak Public IP.
Jika instance belum dikonfigurasi untuk menggunakan IP pribadi, lihat Mengonfigurasi IP pribadi untuk instance yang ada.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL remote access enabled
Nama kategori di API: SQL_REMOTE_ACCESS_ENABLED
Instance database Cloud SQL untuk SQL Server tidak memiliki flag database remote access yang disetel ke Nonaktif.
Jika diaktifkan, setelan ini memberikan izin untuk menjalankan prosedur tersimpan lokal dari server jarak jauh atau prosedur tersimpan jarak jauh dari server lokal. Fungsi ini dapat disalahgunakan untuk meluncurkan serangan Denial-of-Service (DoS) pada server jarak jauh dengan men-offload pemrosesan kueri ke target. Untuk mencegah penyalahgunaan, sebaiknya nonaktifkan setelan ini.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Flags, setel remote access ke Off.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL skip show database disabled
Nama kategori di API: SQL_SKIP_SHOW_DATABASE_DISABLED
Instance database Cloud SQL untuk MySQL tidak memiliki flag database skip_show_database yang disetel ke Aktif.
Jika diaktifkan, tanda ini mencegah pengguna menggunakan pernyataan SHOW DATABASES jika mereka tidak memiliki hak istimewa SHOW DATABASES. Dengan setelan ini, pengguna yang tidak memiliki izin eksplisit tidak dapat melihat database milik pengguna lain. Sebaiknya aktifkan tanda ini.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Flags, setel skip_show_database ke On.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL trace flag 3625
Nama kategori di API: SQL_TRACE_FLAG_3625
Instance database Cloud SQL untuk SQL Server tidak memiliki flag database 3625 (trace flag) yang disetel ke On.
Flag ini membatasi jumlah informasi yang ditampilkan kepada pengguna yang bukan
anggota peran server tetap sysadmin, dengan menyamarkan parameter beberapa
pesan error menggunakan tanda bintang (******
). Untuk membantu mencegah
pengungkapan informasi sensitif, sebaiknya aktifkan flag ini.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, setel 3625 ke On.
Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL user connections configured
Nama kategori di API: SQL_USER_CONNECTIONS_CONFIGURED
Instance database Cloud SQL untuk SQL Server memiliki flag database user connections yang dikonfigurasi.
Opsi user connections menentukan jumlah maksimum koneksi pengguna serentak yang diizinkan di instance SQL Server. Karena merupakan opsi dinamis (konfigurasi mandiri), SQL Server menyesuaikan jumlah maksimum koneksi pengguna secara otomatis sesuai kebutuhan, hingga nilai maksimum yang diizinkan. Nilai defaultnya adalah 0, yang berarti maksimal 32.767 koneksi pengguna diizinkan. Karena alasan ini, sebaiknya jangan mengonfigurasi flag database user connections.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, di samping user connections, klik
Delete.Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL user options configured
Nama kategori di API: SQL_USER_OPTIONS_CONFIGURED
Instance database Cloud SQL untuk SQL Server memiliki flag database user options yang dikonfigurasi.
Setelan ini mengganti nilai default global opsi SET untuk semua pengguna. Karena pengguna dan aplikasi mungkin menganggap opsi SET database default sedang digunakan, menetapkan opsi pengguna dapat menyebabkan hasil yang tidak terduga. Karena alasan ini, sebaiknya jangan konfigurasikan flag database user options.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi flag database.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Di bagian Database flags, di samping user options, klik
Delete.Klik Simpan. Konfigurasi baru akan muncul di halaman Ringkasan instance.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSQL weak root password
Nama kategori di API: SQL_WEAK_ROOT_PASSWORD
Instance database MySQL memiliki sandi lemah yang ditetapkan untuk akun root. Anda harus menetapkan sandi yang kuat untuk instance. Untuk mengetahui informasi selengkapnya, lihat pengguna MySQL.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Di halaman Instance details yang dimuat, pilih tab Users.
Di samping pengguna
root
, klik Lainnya , lalu pilih Ubah Sandi.Masukkan kata sandi baru yang kuat, lalu klik OK.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSSL not enforced
Nama kategori di API: SSL_NOT_ENFORCED
Instance database Cloud SQL tidak mewajibkan semua koneksi masuk untuk menggunakan SSL.
Untuk menghindari kebocoran data sensitif yang dikirim melalui komunikasi yang tidak terenkripsi, semua koneksi masuk ke instance database SQL Anda harus menggunakan SSL. Pelajari lebih lanjut cara Mengonfigurasi SSL/TLS.
Untuk memperbaiki temuan ini, hanya izinkan koneksi SSL untuk instance SQL Anda:
Buka halaman Instance Cloud SQL di konsol Google Cloud.
Pilih instance yang tercantum dalam temuan Security Health Analytics.
Di tab Connections, klik Allow only SSL connections atau Require trusted client certificates. Untuk informasi selengkapnya, lihat Menerapkan enkripsi SSL/TLS.
Jika Anda memilih Require trusted client certificates, buat sertifikat klien baru. Untuk mengetahui informasi selengkapnya, lihat Membuat sertifikat klien baru.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariToo many KMS users
Nama kategori di API: TOO_MANY_KMS_USERS
Batasi jumlah pengguna utama yang dapat menggunakan kunci kriptografis menjadi tiga. Peran berikut yang ditetapkan sebelumnya memberikan izin untuk mengenkripsi, mendekripsi, atau menandatangani data menggunakan kunci kriptografis:
roles/owner
roles/cloudkms.cryptoKeyEncrypterDecrypter
roles/cloudkms.cryptoKeyEncrypter
roles/cloudkms.cryptoKeyDecrypter
roles/cloudkms.signer
roles/cloudkms.signerVerifier
Untuk mengetahui informasi selengkapnya, lihat Izin dan peran.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Kunci Cloud KMS di konsol Google Cloud.
Klik nama key ring yang ditunjukkan dalam temuan.
Klik nama kunci yang ditunjukkan dalam temuan.
Centang kotak di samping versi utama, lalu klik Tampilkan Panel Info.
Kurangi jumlah akun utama yang memiliki izin untuk mengenkripsi, mendekripsi, atau menandatangani data menjadi tiga atau kurang. Untuk mencabut izin, klik
Hapus di samping setiap akun utama.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariUnconfirmed AppArmor profile
Nama kategori di API: GKE_APP_ARMOR
Container dapat dikonfigurasi secara eksplisit agar tidak dibatasi oleh AppArmor. Hal ini memastikan tidak ada profil AppArmor yang diterapkan ke penampung sehingga tidak dibatasi oleh profil. Kontrol keamanan preventif yang dinonaktifkan akan meningkatkan risiko container escape.
Untuk memperbaiki temuan ini, terapkan langkah-langkah berikut ke workload yang terpengaruh:
- Buka manifes untuk setiap beban kerja yang terpengaruh.
- Tetapkan kolom yang dibatasi berikut ke salah satu nilai yang diizinkan.
Kolom yang dibatasi
metadata.annotations["container.apparmor.security.beta.kubernetes.io/*"]
Nilai yang diizinkan
- false
User managed service account key
Nama kategori di API: USER_MANAGED_SERVICE_ACCOUNT_KEY
Pengguna mengelola kunci akun layanan. Kunci akun layanan akan berisiko keamanan jika tidak dikelola dengan benar. Anda harus memilih alternatif yang lebih aman untuk kunci akun layanan jika memungkinkan. Jika harus mengautentikasi dengan kunci akun layanan, Anda bertanggung jawab atas keamanan kunci pribadi dan atas operasi lainnya yang dijelaskan oleh Praktik terbaik untuk mengelola kunci akun layanan. Jika Anda tidak dapat membuat kunci akun layanan, pembuatan kunci akun layanan mungkin dinonaktifkan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat Mengelola resource organisasi yang aman secara default.
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:
Buka halaman Akun Layanan di konsol Google Cloud.
Jika perlu, pilih project yang ditunjukkan dalam temuan.
Hapus kunci akun layanan yang dikelola pengguna yang ditunjukkan dalam temuan, jika kunci tersebut tidak digunakan oleh aplikasi apa pun.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariWeak SSL policy
Nama kategori di API: WEAK_SSL_POLICY
Instance Compute Engine memiliki kebijakan SSL yang lemah atau menggunakan kebijakan SSL default Google Cloud dengan versi TLS kurang dari 1.2.
Load balancer Proxy HTTPS dan SSL menggunakan kebijakan SSL untuk menentukan protokol dan cipher suite yang digunakan dalam koneksi TLS yang dibuat antara pengguna dan internet. Koneksi ini mengenkripsi data sensitif agar penyadap yang berbahaya tidak dapat mengaksesnya. Jika kebijakan SSL lemah, klien yang menggunakan TLS versi usang akan dapat terhubung ke cipher suite atau protokol yang kurang aman. Untuk mengetahui daftar cipher suite yang direkomendasikan dan sudah usang, buka halaman parameter TLS iana.org.
Untuk aktivasi level project pada paket Premium Security Command Center, temuan ini hanya tersedia jika paket Standar diaktifkan di organisasi induk.
Langkah-langkah perbaikan untuk temuan ini berbeda-beda, bergantung pada apakah temuan ini dipicu oleh penggunaan kebijakan SSL Google Cloud default atau kebijakan SSL yang mengizinkan cipher suite yang lemah atau versi TLS minimum di bawah 1.2. Ikuti prosedur di bawah yang sesuai dengan pemicu temuan.
Perbaikan kebijakan SSL Google Cloud default
Buka halaman Target proxy di konsol Google Cloud.
Temukan proxy target yang ditunjukkan dalam temuan dan catat aturan penerusan di kolom Sedang digunakan oleh.
Untuk membuat kebijakan SSL baru, lihat Menggunakan kebijakan SSL. Kebijakan harus memiliki Minimum TLS version 1.2 dan Profile Modern atau Terbatas.
Untuk menggunakan profil Kustom , pastikan cipher suite berikut dinonaktifkan:
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
Terapkan kebijakan SSL ke setiap aturan penerusan yang sebelumnya Anda catat.
Perbaikan yang diizinkan untuk cipher suite yang lemah atau versi TLS yang lebih lama
Di konsol Google Cloud, buka halaman SSL policies .
Temukan load balancer yang ditunjukkan di kolom Sedang digunakan oleh.
Klik di bawah nama kebijakan.
Klik
Edit.Ubah Minimum TLS version ke TLS 1.2 dan Profile ke Modern atau Restricted.
Untuk menggunakan profil Kustom, pastikan cipher suite berikut dinonaktifkan:
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariWeb UI enabled
Nama kategori di API: WEB_UI_ENABLED
UI web (dasbor) GKE diaktifkan.
Akun Layanan Kubernetes dengan hak istimewa tinggi mendukung antarmuka web Kubernetes. Jika disusupi, akun layanan dapat disalahgunakan. Jika Anda sudah menggunakan konsol Google Cloud, antarmuka web Kubernetes akan memperluas permukaan serangan Anda secara tidak perlu. Pelajari cara Menonaktifkan antarmuka web Kubernetes.
Untuk memperbaiki temuan ini, nonaktifkan antarmuka web Kubernetes:
Buka halaman Kubernetes clusters di konsol Google Cloud.
Klik nama cluster yang tercantum dalam temuan Security Health Analytics.
Klik
Edit.Jika konfigurasi cluster baru-baru ini diubah, tombol edit mungkin dinonaktifkan. Jika Anda tidak dapat mengedit setelan cluster, tunggu beberapa menit, lalu coba lagi.
Klik Add-on. Bagian ini akan meluas untuk menampilkan add-on yang tersedia.
Di menu drop-down Dasbor Kubernetes, pilih Nonaktif.
Klik Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariWorkload Identity disabled
Nama kategori di API: WORKLOAD_IDENTITY_DISABLED
Workload Identity dinonaktifkan di cluster GKE.
Workload Identity adalah cara yang direkomendasikan untuk mengakses layanan Google Cloud dari dalam GKE karena menawarkan properti keamanan dan pengelolaan yang lebih baik. Mengaktifkannya akan melindungi beberapa metadata sistem yang berpotensi sensitif dari workload pengguna yang berjalan di cluster Anda. Pelajari Penyembunyian metadata.
Untuk memperbaiki temuan ini, ikuti panduan untuk Mengaktifkan Workload Identity di cluster.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariMemperbaiki kesalahan konfigurasi AWS
AWS Cloud Shell Full Access Restricted
Nama kategori di API: ACCESS_AWSCLOUDSHELLFULLACCESS_RESTRICTED
AWS CloudShell adalah cara mudah untuk menjalankan perintah CLI terhadap layanan AWS; kebijakan IAM terkelola ('AWSCloudShellFullAccess') memberikan akses penuh ke CloudShell, yang memungkinkan kemampuan upload dan download file antara sistem lokal pengguna dan lingkungan CloudShell. Dalam lingkungan CloudShell, pengguna memiliki izin sudo, dan dapat mengakses internet. Jadi, Anda dapat menginstal software transfer file (misalnya) dan memindahkan data dari CloudShell ke server internet eksternal.
Rekomendasi: Pastikan akses ke AWSCloudShellFullAccess dibatasi Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Buka konsol IAM di https://console.aws.amazon.com/iam/
- Di panel kiri, pilih Kebijakan
- Telusuri dan pilih AWSCloudShellFullAccess
- Di tab Entitas yang dilampirkan, untuk setiap item, centang kotak dan pilih Lepaskan
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAccess Keys Rotated Every 90 Days or Less
Nama kategori di API: ACCESS_KEYS_ROTATED_90_DAYS_LESS
Kunci akses terdiri dari ID kunci akses dan kunci akses rahasia, yang digunakan untuk menandatangani permintaan terprogram yang Anda buat ke AWS. Pengguna AWS memerlukan kunci akses mereka sendiri untuk melakukan panggilan terprogram ke AWS dari Antarmuka Command Line AWS (AWS CLI), Alat untuk Windows PowerShell, AWS SDK, atau panggilan HTTP langsung menggunakan API untuk setiap layanan AWS. Sebaiknya semua kunci akses dirotasi secara rutin.
Rekomendasi: Pastikan kunci akses dirotasi maksimal setiap 90 hari Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Buka Konsol Pengelolaan (https://console.aws.amazon.com/iam)
- Klik
Users
- Klik
Security Credentials
- Sebagai Administrator
- KlikMake Inactive
untuk kunci yang belum dirotasi dalam90
Hari - Sebagai Pengguna IAM
- KlikMake Inactive
atauDelete
untuk kunci yang belum dirotasi atau digunakan dalam90
Hari - Klik
Create Access Key
- Memperbarui panggilan terprogram dengan kredensial Kunci Akses baru
CLI AWS
- Saat kunci akses pertama masih aktif, buat kunci akses kedua, yang aktif secara default. Jalankan perintah berikut:
aws iam create-access-key
Pada tahap ini, pengguna memiliki dua kunci akses yang aktif.
- Update semua aplikasi dan alat untuk menggunakan kunci akses baru.
- Tentukan apakah kunci akses pertama masih digunakan dengan menggunakan perintah ini:
aws iam get-access-key-last-used
- Salah satu pendekatannya adalah menunggu beberapa hari, lalu memeriksa kunci akses lama untuk mengetahui apakah ada penggunaan sebelum melanjutkan.
Meskipun Langkah 3 menunjukkan bahwa kunci lama tidak digunakan, sebaiknya Anda tidak langsung menghapus kunci akses pertama. Sebagai gantinya, ubah status kunci akses pertama menjadi Tidak aktif menggunakan perintah ini:
aws iam update-access-key
-
Hanya gunakan kunci akses baru untuk mengonfirmasi bahwa aplikasi Anda berfungsi. Aplikasi dan alat apa pun yang masih menggunakan kunci akses asli akan berhenti berfungsi pada tahap ini karena tidak lagi memiliki akses ke resource AWS. Jika menemukan aplikasi atau alat tersebut, Anda dapat mengubah statusnya kembali ke Aktif untuk mengaktifkan kembali kunci akses pertama. Kemudian, kembali ke langkah 2 dan update aplikasi ini untuk menggunakan kunci baru.
-
Setelah menunggu beberapa waktu untuk memastikan bahwa semua aplikasi dan alat telah diperbarui, Anda dapat menghapus kunci akses pertama dengan perintah ini:
aws iam delete-access-key
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAll Expired Ssl Tls Certificates Stored Aws Iam Removed
Nama kategori di API: ALL_EXPIRED_SSL_TLS_CERTIFICATES_STORED_AWS_IAM_REMOVED
Untuk mengaktifkan koneksi HTTPS ke situs atau aplikasi di AWS, Anda memerlukan sertifikat server SSL/TLS. Anda dapat menggunakan ACM atau IAM untuk menyimpan dan men-deploy sertifikat server.
Gunakan IAM sebagai pengelola sertifikat hanya jika Anda harus mendukung koneksi HTTPS di region yang tidak didukung oleh ACM. IAM mengenkripsi kunci pribadi Anda dengan aman dan menyimpan versi terenkripsi di penyimpanan sertifikat SSL IAM. IAM mendukung deployment sertifikat server di semua region, tetapi Anda harus mendapatkan sertifikat dari penyedia eksternal untuk digunakan dengan AWS. Anda tidak dapat mengupload sertifikat ACM ke IAM. Selain itu, Anda tidak dapat mengelola sertifikat dari Konsol IAM.
Konsol AWS
Penghapusan sertifikat yang masa berlakunya telah habis melalui AWS Management Console saat ini tidak didukung. Untuk menghapus sertifikat SSL/TLS yang disimpan di IAM melalui AWS API, gunakan Antarmuka Command Line (CLI).
CLI AWS
Untuk menghapus Sertifikat yang Berakhir Masa Berlakunya, jalankan perintah berikut dengan mengganti CERTIFICATE_NAME
dengan nama sertifikat yang akan dihapus:
aws iam delete-server-certificate --server-certificate-name <CERTIFICATE_NAME>
Jika berhasil, perintah sebelumnya tidak akan menampilkan output apa pun.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAutoscaling Group Elb Healthcheck Required
Nama kategori di API: AUTOSCALING_GROUP_ELB_HEALTHCHECK_REQUIRED
Tindakan ini memeriksa apakah grup Penskalaan Otomatis yang dikaitkan dengan load balancer menggunakan health check Elastic Load Balancing.
Hal ini memastikan bahwa grup dapat menentukan kondisi instance berdasarkan pengujian tambahan yang disediakan oleh load balancer. Menggunakan health check Elastic Load Balancing dapat membantu mendukung ketersediaan aplikasi yang menggunakan grup EC2 Auto Scaling.
Rekomendasi: Memeriksa apakah semua grup penskalaan otomatis yang dikaitkan dengan load balancer menggunakan health check Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Untuk mengaktifkan health check Elastic Load Balancing
- Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.
- Di panel navigasi, pada Auto Scaling, pilih Auto Scaling Groups.
- Centang kotak untuk grup Anda.
- Pilih Edit.
- Di bagian Health checks, untuk Health check type, pilih ELB.
- Untuk Health check grace period, masukkan 300.
- Di bagian bawah halaman, pilih Perbarui.
Untuk informasi selengkapnya tentang cara menggunakan load balancer dengan grup Auto Scaling, lihat Panduan Pengguna AWS Auto Scaling.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAuto Minor Version Upgrade Feature Enabled Rds Instances
Nama kategori di API: AUTO_MINOR_VERSION_UPGRADE_FEATURE_ENABLED_RDS_INSTANCES
Pastikan instance database RDS mengaktifkan tanda Upgrade Versi Minor Otomatis untuk menerima upgrade mesin minor secara otomatis selama periode pemeliharaan yang ditentukan. Jadi, instance RDS dapat mendapatkan fitur baru, perbaikan bug, dan patch keamanan untuk mesin database mereka.
Rekomendasi: Pastikan fitur Upgrade Versi Minor Otomatis Diaktifkan untuk Instance RDS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke konsol pengelolaan AWS, lalu buka dasbor RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi kiri, klik
Databases
. - Pilih instance RDS yang ingin diupdate.
- Klik tombol
Modify
yang ditempatkan di sisi kanan atas. - Di halaman
Modify DB Instance: <instance identifier>
, di bagianMaintenance
, pilihAuto minor version upgrade
klik tombol pilihanYes
. - Di bagian bawah halaman, klik
Continue
, centang Terapkan Segera untuk menerapkan perubahan dengan segera, atau pilihApply during the next scheduled maintenance window
untuk menghindari periode nonaktif. - Tinjau perubahannya, lalu klik
Modify DB Instance
. Status instance akan berubah dari tersedia menjadi diubah dan kembali ke tersedia. Setelah fitur diaktifkan, statusAuto Minor Version Upgrade
akan berubah menjadiYes
.
CLI AWS
- Jalankan perintah
describe-db-instances
untuk menampilkan semua nama instance database RDS, yang tersedia di region AWS yang dipilih:
aws rds describe-db-instances --region <regionName> --query 'DBInstances[*].DBInstanceIdentifier'
- Output perintah akan menampilkan setiap ID instance database.
- Jalankan perintah
modify-db-instance
untuk mengubah konfigurasi instance RDS yang dipilih. Perintah ini akan langsung menerapkan perubahan. Hapus--apply-immediately
untuk menerapkan perubahan selama periode pemeliharaan terjadwal berikutnya dan menghindari periode nonaktif:
aws rds modify-db-instance --region <regionName> --db-instance-identifier <dbInstanceIdentifier> --auto-minor-version-upgrade --apply-immediately
- Output perintah akan menampilkan metadata konfigurasi baru untuk instance RDS dan memeriksa parameter value
AutoMinorVersionUpgrade
. - Jalankan perintah
describe-db-instances
untuk memeriksa apakah fitur Upgrade Versi Minor Otomatis telah berhasil diaktifkan:
aws rds describe-db-instances --region <regionName> --db-instance-identifier <dbInstanceIdentifier> --query 'DBInstances[*].AutoMinorVersionUpgrade'
- Output perintah akan menampilkan status fitur saat ini yang ditetapkan ke
true
, fiturnya adalahenabled
, dan upgrade mesin minor akan diterapkan ke instance RDS yang dipilih.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAws Config Enabled All Regions
Nama kategori di API: AWS_CONFIG_ENABLED_ALL_REGIONS
AWS Config adalah layanan web yang melakukan pengelolaan konfigurasi resource AWS yang didukung dalam akun Anda dan mengirimkan file log kepada Anda. Informasi yang dicatat mencakup item konfigurasi (resource AWS), hubungan antara item konfigurasi (resource AWS), perubahan konfigurasi apa pun di antara resource. Sebaiknya AWS Config diaktifkan di semua region.
Rekomendasi: Pastikan AWS Config diaktifkan di semua region Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Pilih wilayah yang ingin Anda fokuskan di kanan atas konsol
- Klik Layanan
- Klik Config
- Jika Perekam konfigurasi diaktifkan di wilayah ini, Anda harus membuka halaman Setelan dari menu navigasi di sebelah kiri. Jika Perekam konfigurasi belum diaktifkan di wilayah ini, Anda harus memilih "Mulai".
- Pilih "Catat semua resource yang didukung di wilayah ini"
- Memilih untuk menyertakan resource global (resource IAM)
- Menentukan bucket S3 di akun yang sama atau di akun AWS terkelola lainnya
- Membuat Topik SNS dari akun AWS yang sama atau akun AWS terkelola lainnya
CLI AWS
- Pastikan ada bucket S3, topik SNS, dan peran IAM yang sesuai sesuai dengan prasyarat Layanan Konfigurasi AWS.
- Jalankan perintah ini untuk membuat perekam konfigurasi baru:
aws configservice put-configuration-recorder --configuration-recorder name=default,roleARN=arn:aws:iam::012345678912:role/myConfigRole --recording-group allSupported=true,includeGlobalResourceTypes=true
- Buat file konfigurasi saluran pengiriman secara lokal yang menentukan atribut saluran, yang diisi dari prasyarat yang disiapkan sebelumnya:
{
"name": "default",
"s3BucketName": "my-config-bucket",
"snsTopicARN": "arn:aws:sns:us-east-1:012345678912:my-config-notice",
"configSnapshotDeliveryProperties": {
"deliveryFrequency": "Twelve_Hours"
}
}
- Jalankan perintah ini untuk membuat saluran pengiriman baru, yang mereferensikan file konfigurasi json yang dibuat di langkah sebelumnya:
aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json
- Mulai perekam konfigurasi dengan menjalankan perintah berikut:
aws configservice start-configuration-recorder --configuration-recorder-name default
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariAws Security Hub Enabled
Nama kategori di API: AWS_SECURITY_HUB_ENABLED
Security Hub mengumpulkan data keamanan dari seluruh akun, layanan, dan produk partner pihak ketiga yang didukung AWS, serta membantu Anda menganalisis tren keamanan dan mengidentifikasi masalah keamanan prioritas tertinggi. Saat Anda mengaktifkan Security Hub, Security Hub akan mulai menggunakan, menggabungkan, mengatur, dan memprioritaskan temuan dari layanan AWS yang telah Anda aktifkan, seperti Amazon GuardDuty, Amazon Inspector, dan Amazon Macie. Anda juga dapat mengaktifkan integrasi dengan produk keamanan partner AWS.
Rekomendasi: Pastikan AWS Security Hub diaktifkan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Gunakan kredensial identitas IAM untuk login ke konsol Security Hub.
- Saat Anda membuka konsol Security Hub untuk pertama kalinya, pilih Aktifkan AWS Security Hub.
- Di halaman sambutan, Standar keamanan mencantumkan standar keamanan yang didukung Security Hub.
- Pilih Aktifkan Security Hub.
CLI AWS
- Jalankan perintah enable-security-hub. Untuk mengaktifkan standar default, sertakan
--enable-default-standards
.
aws securityhub enable-security-hub --enable-default-standards
- Untuk mengaktifkan hub keamanan tanpa standar default, sertakan
--no-enable-default-standards
.
aws securityhub enable-security-hub --no-enable-default-standards
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCloudtrail Logs Encrypted Rest Using Kms Cmks
Nama kategori di API: CLOUDTRAIL_LOGS_ENCRYPTED_REST_USING_KMS_CMKS
AWS CloudTrail adalah layanan web yang mencatat panggilan AWS API untuk akun dan menyediakan log tersebut kepada pengguna dan resource sesuai dengan kebijakan IAM. AWS Key Management Service (KMS) adalah layanan terkelola yang membantu membuat dan mengontrol kunci enkripsi yang digunakan untuk mengenkripsi data akun, dan menggunakan Hardware Security Module (HSM) untuk melindungi keamanan kunci enkripsi. Log CloudTrail dapat dikonfigurasi untuk memanfaatkan enkripsi sisi server (SSE) dan kunci master (CMK) yang dibuat pelanggan KMS untuk lebih melindungi log CloudTrail. Sebaiknya konfigurasikan CloudTrail untuk menggunakan SSE-KMS.
Rekomendasi: Pastikan log CloudTrail dienkripsi dalam penyimpanan menggunakan CMK KMS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke Konsol Pengelolaan AWS, lalu buka konsol CloudTrail di https://console.aws.amazon.com/cloudtrail
- Di panel navigasi sebelah kiri, pilih
Trails
. - Klik Jalur
- Di bagian
S3
, klik tombol edit (ikon pensil) - Klik
Advanced
- Pilih CMK yang ada dari menu drop-down
KMS key Id
- Catatan: Pastikan CMK berada di region yang sama dengan bucket S3
- Catatan: Anda harus menerapkan kebijakan Kunci KMS pada CMK yang dipilih agar CloudTrail sebagai layanan dapat mengenkripsi dan mendekripsi file log menggunakan CMK yang disediakan. Langkah-langkah disediakan di sini untuk mengedit kebijakan Kunci CMK yang dipilih - Klik
Save
- Anda akan melihat pesan notifikasi yang menyatakan bahwa Anda harus memiliki izin dekripsi pada kunci KMS yang ditentukan untuk mendekripsi file log.
- Klik
Yes
CLI AWS
aws cloudtrail update-trail --name <trail_name> --kms-id <cloudtrail_kms_key>
aws kms put-key-policy --key-id <cloudtrail_kms_key> --policy <cloudtrail_kms_key_policy>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCloudtrail Log File Validation Enabled
Nama kategori di API: CLOUDTRAIL_LOG_FILE_VALIDATION_ENABLED
Validasi file log CloudTrail membuat file ringkasan yang ditandatangani secara digital yang berisi hash dari setiap log yang ditulis CloudTrail ke S3. File ringkasan ini dapat digunakan untuk menentukan apakah file log diubah, dihapus, atau tidak berubah setelah CloudTrail mengirimkan log. Sebaiknya validasi file diaktifkan di semua CloudTrail.
Rekomendasi: Pastikan validasi file log CloudTrail diaktifkan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console, lalu buka konsol IAM di https://console.aws.amazon.com/cloudtrail
- Klik
Trails
di panel navigasi sebelah kiri - Klik jalur target
- Di bagian
General details
, klikedit
- Di bagian
Advanced settings
- Centang kotak aktifkan di bagian
Log file validation
- Klik
Save changes
CLI AWS
aws cloudtrail update-trail --name <trail_name> --enable-log-file-validation
Perhatikan bahwa validasi berkala log menggunakan ringkasan ini dapat dilakukan dengan menjalankan perintah berikut:
aws cloudtrail validate-logs --trail-arn <trail_arn> --start-time <start_time> --end-time <end_time>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCloudtrail Trails Integrated Cloudwatch Logs
Nama kategori di API: CLOUDTRAIL_TRAILS_INTEGRATED_CLOUDWATCH_LOGS
AWS CloudTrail adalah layanan web yang mencatat panggilan AWS API yang dilakukan di akun AWS tertentu. Informasi yang dicatat mencakup identitas pemanggil API, waktu panggilan API, alamat IP sumber pemanggil API, parameter permintaan, dan elemen respons yang ditampilkan oleh layanan AWS. CloudTrail menggunakan Amazon S3 untuk penyimpanan dan pengiriman file log, sehingga file log disimpan secara permanen. Selain merekam log CloudTrail dalam bucket S3 yang ditentukan untuk analisis jangka panjang, analisis real-time dapat dilakukan dengan mengonfigurasi CloudTrail untuk mengirim log ke CloudWatch Logs. Untuk pelacakan yang diaktifkan di semua region dalam akun, CloudTrail akan mengirim file log dari semua region tersebut ke grup log CloudWatch Logs. Sebaiknya log CloudTrail dikirim ke CloudWatch Logs.
Catatan: Tujuan rekomendasi ini adalah untuk memastikan aktivitas akun AWS direkam, dipantau, dan diberi peringatan dengan tepat. CloudWatch Logs adalah cara native untuk melakukannya menggunakan layanan AWS, tetapi tidak mengecualikan penggunaan solusi alternatif.
Rekomendasi: Pastikan jejak CloudTrail diintegrasikan dengan CloudWatch Logs Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke konsol CloudTrail di
https://console.aws.amazon.com/cloudtrail/
- Pilih
Trail
yang perlu diperbarui. - Scroll ke bawah ke bagian
CloudWatch Logs
- Klik
Edit
- Di bagian
CloudWatch Logs
, klik kotakEnabled
- Di bagian
Log Group
, pilih baru atau pilih grup log yang ada - Edit
Log group name
agar cocok dengan CloudTrail atau pilih Grup CloudWatch yang ada. - Di bagian
IAM Role
, pilih baru atau pilih yang sudah ada. - Edit
Role name
agar cocok dengan CloudTrail atau pilih Peran IAM yang ada. - Klik `Simpan perubahan.
CLI AWS
aws cloudtrail update-trail --name <trail_name> --cloudwatch-logs-log-group-arn <cloudtrail_log_group_arn> --cloudwatch-logs-role-arn <cloudtrail_cloudwatchLogs_role_arn>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCloudwatch Alarm Action Check
Nama kategori di API: CLOUDWATCH_ALARM_ACTION_CHECK
Ini memeriksa apakah Amazon Cloudwatch memiliki tindakan yang ditentukan saat alarm bertransisi antara status 'OK', 'ALARM', dan 'INSUFFICIENT_DATA'.
Mengonfigurasi tindakan untuk status ALARM di alarm Amazon CloudWatch sangat penting untuk memicu respons langsung saat metrik yang dipantau melanggar nilai minimum.
Hal ini memastikan penyelesaian masalah yang cepat, mengurangi periode nonaktif, dan memungkinkan perbaikan otomatis, menjaga kondisi sistem, serta mencegah pemadaman.
Alarm memiliki minimal satu tindakan.
Alarm memiliki setidaknya satu tindakan saat alarm bertransisi ke status 'INSUFFICIENT_DATA' dari status lainnya.
(Opsional) Alarm memiliki setidaknya satu tindakan saat alarm bertransisi ke status 'OK' dari status lainnya.
Konsol AWS
Untuk mengonfigurasi tindakan ALARM untuk alarm Amazon CloudWatch, lakukan hal berikut.
- Buka konsol Amazon CloudWatch di https://console.aws.amazon.com/cloudwatch/.
- Di panel navigasi, pada bagian 'Alarm', pilih 'Semua alarm'.
- Pilih alarm Amazon CloudWatch yang ingin diubah, pilih 'Tindakan', lalu pilih 'Edit'.
- Dari sebelah kiri, pilih 'Langkah 2 - Konfigurasi tindakan opsional'
- Untuk 'Pemicu status alarm', pilih opsi 'Dalam alarm' untuk menyiapkan tindakan berbasis ALARM.
- Untuk mengirim notifikasi ke topik SNS yang baru dibuat, pilih 'Buat topik baru'.
- Di kotak 'Buat topik baru...', tentukan nama topik SNS yang unik.
- Di kotak 'Endpoint email yang akan menerima notifikasi…', tentukan satu atau beberapa alamat email.
- Kemudian, pilih 'Create Topic' untuk membuat Topik Amazon SNS yang diperlukan.
- Di kanan bawah, pilih 'Berikutnya', 'Berikutnya', lalu pilih 'Perbarui alarm' untuk menerapkan perubahan.
- Buka program email Anda dan di email dari AWS Notifications, klik link untuk mengonfirmasi langganan Anda ke topik SNS yang dimaksud.
- Ulangi langkah 4 - 11 dan selama langkah 5, pilih 'Ok' dan 'Data tidak memadai' untuk 'Pemicu status alarm' guna menyiapkan tindakan untuk kedua status tersebut.
- Ulangi proses ini untuk semua alarm CloudWatch lainnya dalam region AWS yang sama.
- Ulangi prosesnya untuk semua alarm CloudWatch lainnya di semua region AWS lainnya.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCloudwatch Log Group Encrypted
Nama kategori di API: CLOUDWATCH_LOG_GROUP_ENCRYPTED
Pemeriksaan ini memastikan log CloudWatch dikonfigurasi dengan KMS.
Data grup log selalu dienkripsi di CloudWatch Logs. Secara default, CloudWatch Logs menggunakan enkripsi sisi server untuk data log dalam penyimpanan. Sebagai alternatif, Anda dapat menggunakan AWS Key Management Service untuk enkripsi ini. Jika Anda melakukannya, enkripsi akan dilakukan menggunakan kunci AWS KMS. Enkripsi menggunakan AWS KMS diaktifkan di tingkat grup log, dengan mengaitkan kunci KMS dengan grup log, baik saat Anda membuat grup log atau setelah grup log ada.
Rekomendasi: Memeriksa apakah semua grup log di Amazon CloudWatch Logs dienkripsi dengan KMSUntuk mengetahui informasi selengkapnya, lihat Mengenkripsi data log di CloudWatch Logs menggunakan AWS Key Management Service dalam panduan pengguna Amazon CloudWatch.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCloudTrail CloudWatch Logs Enabled
Nama kategori di API: CLOUD_TRAIL_CLOUD_WATCH_LOGS_ENABLED
Kontrol ini memeriksa apakah jejak CloudTrail dikonfigurasi untuk mengirim log ke CloudWatch Logs. Kontrol akan gagal jika properti CloudWatchLogsLogGroupArn dari pelacakan kosong.
CloudTrail mencatat panggilan AWS API yang dilakukan di akun tertentu. Informasi yang dicatat mencakup hal berikut:
- Identitas pemanggil API
- Waktu panggilan API
- Alamat IP sumber pemanggil API
- Parameter permintaan
- Elemen respons yang ditampilkan oleh layanan AWS
CloudTrail menggunakan Amazon S3 untuk penyimpanan dan pengiriman file log. Anda dapat merekam log CloudTrail di bucket S3 yang ditentukan untuk analisis jangka panjang. Untuk melakukan analisis real-time, Anda dapat mengonfigurasi CloudTrail untuk mengirim log ke CloudWatch Logs.
Untuk jejak yang diaktifkan di semua Region dalam akun, CloudTrail akan mengirim file log dari semua Region tersebut ke grup log CloudWatch Logs.
Security Hub merekomendasikan agar Anda mengirim log CloudTrail ke CloudWatch Logs. Perhatikan bahwa rekomendasi ini dimaksudkan untuk memastikan bahwa aktivitas akun direkam, dipantau, dan diaktifkan alarmnya dengan tepat. Anda dapat menggunakan CloudWatch Logs untuk menyiapkannya dengan layanan AWS. Rekomendasi ini tidak mengecualikan penggunaan solusi yang berbeda.
Mengirim log CloudTrail ke CloudWatch Logs memfasilitasi logging aktivitas real-time dan historis berdasarkan pengguna, API, resource, dan alamat IP. Anda dapat menggunakan pendekatan ini untuk menetapkan alarm dan notifikasi untuk aktivitas akun yang tidak wajar atau sensitif.
Rekomendasi: Memeriksa apakah semua jejak CloudTrail dikonfigurasi untuk mengirim log ke AWS CloudWatchUntuk mengintegrasikan CloudTrail dengan CloudWatch Logs, lihat Mengirim peristiwa ke CloudWatch Logs di Panduan Pengguna AWS CloudTrail.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNo AWS Credentials in CodeBuild Project Environment Variables
Nama kategori di API: CODEBUILD_PROJECT_ENVVAR_AWSCRED_CHECK
Tindakan ini memeriksa apakah project berisi variabel lingkungan AWS_ACCESS_KEY_ID
dan AWS_SECRET_ACCESS_KEY
.
Kredensial autentikasi AWS_ACCESS_KEY_ID
dan AWS_SECRET_ACCESS_KEY
tidak boleh disimpan dalam teks biasa, karena hal ini dapat menyebabkan pengungkapan data yang tidak diinginkan dan akses yang tidak sah.
Untuk menghapus variabel lingkungan dari project CodeBuild, lihat Mengubah setelan project build di AWS CodeBuild di Panduan Pengguna AWS CodeBuild. Pastikan tidak ada yang dipilih untuk Variabel lingkungan.
Anda dapat menyimpan variabel lingkungan dengan nilai sensitif di AWS Systems Manager Parameter Store atau AWS Secrets Manager, lalu mengambilnya dari spesifikasi build. Untuk mengetahui petunjuknya, lihat kotak berlabel Penting di bagian Lingkungan dalam Panduan Pengguna AWS CodeBuild.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCodebuild Project Source Repo Url Check
Nama kategori di API: CODEBUILD_PROJECT_SOURCE_REPO_URL_CHECK
Tindakan ini memeriksa apakah URL repositori sumber Bitbucket project AWS CodeBuild berisi token akses pribadi atau nama pengguna dan sandi. Kontrol akan gagal jika URL repositori sumber Bitbucket berisi token akses pribadi atau nama pengguna dan sandi.
Kredensial login tidak boleh disimpan atau dikirim dalam teks biasa atau muncul di URL repositori sumber. Daripada token akses pribadi atau kredensial login, Anda harus mengakses penyedia sumber di CodeBuild, dan mengubah URL repositori sumber agar hanya berisi jalur ke lokasi repositori Bitbucket. Menggunakan token akses pribadi atau kredensial login dapat mengakibatkan eksposur data yang tidak diinginkan atau akses tidak sah.
Rekomendasi: Memeriksa apakah semua project yang menggunakan github atau bitbucket sebagai sumber menggunakan oauthAnda dapat mengupdate project CodeBuild untuk menggunakan OAuth.
Untuk menghapus autentikasi dasar/Token Akses Pribadi (GitHub) dari sumber project CodeBuild
- Buka konsol CodeBuild di https://console.aws.amazon.com/codebuild/.
- Pilih project build yang berisi token akses pribadi atau nama pengguna dan sandi.
- Dari Edit, pilih Sumber.
- Pilih Putuskan sambungan dari GitHub / Bitbucket.
- Pilih Hubungkan menggunakan OAuth, lalu pilih Hubungkan ke GitHub / Bitbucket.
- Jika diminta, pilih izinkan sesuai kebutuhan.
- Konfigurasi ulang URL repositori dan setelan konfigurasi tambahan, sesuai kebutuhan.
- Pilih Update source.
Untuk informasi selengkapnya, lihat Contoh berbasis kasus penggunaan CodeBuild di Panduan Pengguna AWS CodeBuild.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariCredentials Unused 45 Days Greater Disabled
Nama kategori di API: CREDENTIALS_UNUSED_45_DAYS_GREATER_DISABLED
Pengguna AWS IAM dapat mengakses resource AWS menggunakan berbagai jenis kredensial, seperti sandi atau kunci akses. Sebaiknya semua kredensial yang tidak digunakan selama 45 hari atau lebih dinonaktifkan atau dihapus.
Rekomendasi: Pastikan kredensial yang tidak digunakan selama 45 hari atau lebih dinonaktifkan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Lakukan tindakan berikut untuk mengelola Sandi yang Tidak Digunakan (akses konsol pengguna IAM)
- Login ke AWS Management Console:
- Klik
Services
- Klik
IAM
- Klik
Users
- Klik
Security Credentials
- Pilih pengguna yang
Console last sign-in
-nya lebih besar dari 45 hari - Klik
Security credentials
- Di bagian
Sign-in credentials
,Console password
klikManage
- Di bagian Console Access, pilih
Disable
10.KlikApply
Lakukan tindakan berikut untuk menonaktifkan Kunci Akses:
- Login ke AWS Management Console:
- Klik
Services
- Klik
IAM
- Klik
Users
- Klik
Security Credentials
- Pilih kunci akses yang sudah lebih dari 45 hari dan telah digunakan, lalu
- KlikMake Inactive
- Pilih kunci akses yang sudah lebih dari 45 hari dan belum digunakan, lalu
- Klik X keDelete
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDefault Security Group Vpc Restricts All Traffic
Nama kategori di API: DEFAULT_SECURITY_GROUP_VPC_RESTRICTS_ALL_TRAFFIC
VPC dilengkapi dengan grup keamanan default yang setelan awalnya menolak semua traffic masuk, mengizinkan semua traffic keluar, dan mengizinkan semua traffic di antara instance yang ditetapkan ke grup keamanan. Jika Anda tidak menentukan grup keamanan saat meluncurkan instance, instance akan otomatis ditetapkan ke grup keamanan default ini. Grup keamanan menyediakan pemfilteran stateful traffic jaringan masuk/keluar ke resource AWS. Sebaiknya grup keamanan default membatasi semua traffic.
VPC default di setiap region harus memperbarui grup keamanan defaultnya agar mematuhi kebijakan. Setiap VPC yang baru dibuat akan otomatis berisi grup keamanan default yang akan memerlukan perbaikan untuk mematuhi rekomendasi ini.
CATATAN: Saat menerapkan rekomendasi ini, logging alur VPC sangat berharga dalam menentukan akses port dengan hak istimewa minimum yang diperlukan oleh sistem agar berfungsi dengan baik karena dapat mencatat semua penerimaan dan penolakan paket yang terjadi dalam grup keamanan saat ini. Hal ini secara drastis mengurangi hambatan utama untuk engineering hak istimewa terendah - menemukan port minimum yang diperlukan oleh sistem di lingkungan. Meskipun rekomendasi logging aliran VPC dalam benchmark ini tidak diadopsi sebagai tindakan keamanan permanen, rekomendasi ini harus digunakan selama periode penemuan dan rekayasa untuk grup keamanan dengan hak istimewa terendah.
Rekomendasi: Pastikan grup keamanan default setiap VPC membatasi semua trafficAnggota Grup Keamanan
Lakukan hal berikut untuk menerapkan status yang ditentukan:
- Mengidentifikasi resource AWS yang ada dalam grup keamanan default
- Membuat kumpulan grup keamanan hak istimewa terendah untuk resource tersebut
- Menempatkan resource dalam grup keamanan tersebut
- Hapus resource yang tercantum di #1 dari grup keamanan default
Status Grup Keamanan
- Login ke AWS Management Console di https://console.aws.amazon.com/vpc/home
- Ulangi langkah berikutnya untuk semua VPC - termasuk VPC default di setiap region AWS:
- Di panel kiri, klik
Security Groups
- Untuk setiap grup keamanan default, lakukan hal berikut:
- Pilih grup keamanan
default
- Klik tab
Inbound Rules
- Menghapus aturan masuk
- Klik tab
Outbound Rules
- Menghapus aturan Keluar
Rekomendasi:
Grup IAM memungkinkan Anda mengedit kolom "name". Setelah memperbaiki aturan grup default untuk semua VPC di semua region, edit kolom ini untuk menambahkan teks yang mirip dengan "JANGAN GUNAKAN. JANGAN TAMBAHKAN ATURAN"
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDms Replication Not Public
Nama kategori di API: DMS_REPLICATION_NOT_PUBLIC
Memeriksa apakah instance replikasi AWS DMS bersifat publik. Untuk melakukannya, metrik ini memeriksa nilai kolom PubliclyAccessible
.
Instance replika pribadi memiliki alamat IP pribadi yang tidak dapat Anda akses di luar jaringan replika. Instance replikasi harus memiliki alamat IP pribadi jika database sumber dan target berada di jaringan yang sama. Jaringan juga harus terhubung ke VPC instance replika menggunakan VPN, AWS Direct Connect, atau peering VPC. Untuk mempelajari instance replikasi publik dan pribadi lebih lanjut, lihat Instance replikasi publik dan pribadi di Panduan Pengguna AWS Database Migration Service.
Anda juga harus memastikan bahwa akses ke konfigurasi instance AWS DMS hanya dibatasi untuk pengguna yang diberi otorisasi. Untuk melakukannya, batasi izin IAM pengguna untuk mengubah setelan dan resource AWS DMS.
Rekomendasi: Memeriksa apakah instance replikasi AWS Database Migration Service bersifat publikAnda tidak dapat mengubah setelan akses publik untuk instance replika DMS setelah membuatnya. Untuk mengubah setelan akses publik, hapus instance saat ini, lalu buat ulang. Jangan pilih opsi Dapat diakses secara publik.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDo Setup Access Keys During Initial User Setup All Iam Users Console
Nama kategori di API: DO_SETUP_ACCESS_KEYS_DURING_INITIAL_USER_SETUP_ALL_IAM_USERS_CONSOLE
Konsol AWS secara default tidak akan mencentang kotak apa pun saat membuat pengguna IAM baru. Saat membuat kredensial Pengguna IAM, Anda harus menentukan jenis akses yang diperlukan.
Akses terprogram: Pengguna IAM mungkin perlu melakukan panggilan API, menggunakan AWS CLI, atau menggunakan Alat untuk Windows PowerShell. Dalam hal ini, buat kunci akses (ID kunci akses dan kunci akses rahasia) untuk pengguna tersebut.
Akses AWS Management Console: Jika pengguna perlu mengakses AWS Management Console, buat sandi untuk pengguna tersebut.
Rekomendasi: Jangan konfigurasi kunci akses selama penyiapan pengguna awal untuk semua pengguna IAM yang memiliki sandi konsol Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console:
- Klik
Services
- Klik
IAM
- Klik
Users
- Klik
Security Credentials
- Sebagai Administrator
- Klik X(Delete)
untuk kunci yang dibuat bersamaan dengan profil pengguna, tetapi belum digunakan. - Sebagai Pengguna IAM
- Klik X(Delete)
untuk kunci yang dibuat bersamaan dengan profil pengguna, tetapi belum digunakan.
CLI AWS
aws iam delete-access-key --access-key-id <access-key-id-listed> --user-name <users-name>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDynamodb Autoscaling Enabled
Nama kategori di API: DYNAMODB_AUTOSCALING_ENABLED
Pengujian ini memeriksa apakah tabel Amazon DynamoDB dapat menskalakan kapasitas baca dan tulisnya sesuai kebutuhan. Kontrol ini lulus jika tabel menggunakan mode kapasitas on-demand atau mode yang disediakan dengan penskalaan otomatis yang dikonfigurasi. Menskalakan kapasitas dengan permintaan akan menghindari pengecualian throttling, yang membantu mempertahankan ketersediaan aplikasi Anda.
Tabel DynamoDB dalam mode kapasitas on-demand hanya dibatasi oleh kuota tabel default throughput DynamoDB. Untuk menaikkan kuota ini, Anda dapat mengajukan tiket dukungan melalui Dukungan AWS.
Tabel DynamoDB dalam mode yang disediakan dengan penskalaan otomatis menyesuaikan kapasitas throughput yang disediakan secara dinamis sebagai respons terhadap pola traffic. Untuk informasi tambahan tentang throttling permintaan DynamoDB, lihat Throttling permintaan dan kapasitas burst di Panduan Developer Amazon DynamoDB.
Rekomendasi: Tabel DynamoDB harus otomatis menskalakan kapasitas sesuai permintaanUntuk petunjuk mendetail tentang cara mengaktifkan penskalaan otomatis DynamoDB pada tabel yang ada dalam mode kapasitas, lihat Mengaktifkan penskalaan otomatis DynamoDB pada tabel yang ada di Panduan Developer Amazon DynamoDB.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDynamodb In Backup Plan
Nama kategori di API: DYNAMODB_IN_BACKUP_PLAN
Kontrol ini mengevaluasi apakah tabel DynamoDB dicakup oleh rencana cadangan. Kontrol akan gagal jika tabel DynamoDB tidak dicakup oleh rencana cadangan. Kontrol ini hanya mengevaluasi tabel DynamoDB yang dalam status AKTIF.
Pencadangan membantu Anda memulihkan data dengan lebih cepat dari insiden keamanan. Hal ini juga memperkuat ketahanan sistem Anda. Menyertakan tabel DynamoDB dalam rencana pencadangan membantu Anda melindungi data dari kehilangan atau penghapusan yang tidak disengaja.
Rekomendasi: Tabel DynamoDB harus dicakup oleh rencana cadanganUntuk menambahkan tabel DynamoDB ke rencana pencadangan AWS Backup, lihat Menetapkan resource ke rencana pencadangan di Panduan Developer AWS Backup.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDynamodb Pitr Enabled
Nama kategori di API: DYNAMODB_PITR_ENABLED
Pemulihan Point In Time (PITR) adalah salah satu mekanisme yang tersedia untuk mencadangkan tabel DynamoDB.
Pencadangan titik waktu disimpan selama 35 hari. Jika Anda memerlukan retensi yang lebih lama, lihat Menyiapkan pencadangan terjadwal untuk Amazon DynamoDB menggunakan AWS Backup di Dokumentasi AWS.
Rekomendasi: Memeriksa apakah pemulihan point-in-time (PITR) diaktifkan untuk semua tabel AWS DynamoDB Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk menetapkan PITR untuk tabel DynamoDB, tetapkan blok point_in_time_recovery
:
resource "aws_dynamodb_table" "example" {
# ... other configuration ...
point_in_time_recovery {
enabled = true
}
}
Konsol AWS
Untuk mengaktifkan pemulihan point-in-time DynamoDB untuk tabel yang ada
- Buka konsol DynamoDB di https://console.aws.amazon.com/dynamodb/.
- Pilih tabel yang ingin Anda kerjakan, lalu pilih Pencadangan.
- Di bagian Pemulihan Point-in-time, pada Status, pilih Aktifkan.
- Pilih Aktifkan lagi untuk mengonfirmasi perubahan.
CLI AWS
aws dynamodb update-continuous-backups \
--table-name "GameScoresOnDemand" \
--point-in-time-recovery-specification "PointInTimeRecoveryEnabled=true"
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariDynamodb Table Encrypted Kms
Nama kategori di API: DYNAMODB_TABLE_ENCRYPTED_KMS
Memeriksa apakah semua tabel DynamoDB dienkripsi dengan kunci KMS yang dikelola pelanggan (non-default).
Rekomendasi: Memeriksa apakah semua tabel DynamoDB dienkripsi dengan AWS Key Management Service (KMS) Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk memperbaiki kontrol ini, buat Kunci AWS KMS dan gunakan untuk mengenkripsi resource DynamoDB yang melanggar.
resource "aws_kms_key" "dynamodb_encryption" {
description = "Used for DynamoDB encryption configuration"
enable_key_rotation = true
}
resource "aws_dynamodb_table" "example" {
# ... other configuration ...
server_side_encryption {
enabled = true
kms_key_arn = aws_kms_key.dynamodb_encryption.arn
}
}
Konsol AWS
Dengan asumsi bahwa ada kunci AWS KMS yang tersedia untuk mengenkripsi DynamoDB.
Untuk mengubah enkripsi tabel DynamoDB ke kunci KMS yang dikelola dan dimiliki pelanggan.
- Buka konsol DynamoDB di https://console.aws.amazon.com/dynamodb/.
- Pilih tabel yang ingin Anda gunakan, lalu pilih Setelan tambahan.
- Di bagian Enkripsi, pilih Kelola enkripsi.
- Untuk Enkripsi dalam penyimpanan, pilih Disimpan di akun Anda, dan dimiliki serta dikelola oleh Anda.
- Pilih Kunci AWS yang akan digunakan. Simpan perubahan.
CLI AWS
aws dynamodb update-table \
--table-name <value> \
--sse-specification "Enabled=true,SSEType=KMS,KMSMasterKeyId=<kms_key_arn>"
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEbs Optimized Instance
Nama kategori di API: EBS_OPTIMIZED_INSTANCE
Memeriksa apakah pengoptimalan EBS diaktifkan untuk instance EC2 Anda yang dapat dioptimalkan EBS
Rekomendasi: Memeriksa apakah pengoptimalan EBS diaktifkan untuk semua instance yang mendukung pengoptimalan EBSUntuk mengonfigurasi setelan instance yang dioptimalkan EBS, lihat Instance yang dioptimalkan Amazon EBS di panduan pengguna Amazon EC2.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEbs Snapshot Public Restorable Check
Nama kategori di API: EBS_SNAPSHOT_PUBLIC_RESTORABLE_CHECK
Memeriksa apakah snapshot Amazon Elastic Block Store tidak bersifat publik. Kontrol akan gagal jika snapshot Amazon EBS dapat dipulihkan oleh siapa saja.
Snapshot EBS digunakan untuk mencadangkan data di volume EBS Anda ke Amazon S3 pada titik waktu tertentu. Anda dapat menggunakan snapshot untuk memulihkan status volume EBS sebelumnya. Berbagi snapshot dengan publik jarang dapat diterima. Biasanya keputusan untuk membagikan snapshot secara publik dibuat karena kesalahan atau tanpa pemahaman lengkap tentang implikasinya. Pemeriksaan ini membantu memastikan bahwa semua berbagi tersebut telah direncanakan dan dilakukan dengan sengaja.
Rekomendasi: Snapshot Amazon EBS tidak dapat dipulihkan secara publik Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Untuk memperbaiki masalah ini, perbarui snapshot EBS Anda agar bersifat pribadi, bukan publik.
Untuk membuat snapshot EBS publik menjadi pribadi:
- Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.
- Di panel navigasi, pada bagian Elastic Block Store, pilih menu Snapshot, lalu pilih snapshot publik Anda.
- Dari Tindakan, pilih Ubah izin.
- Pilih Pribadi.
- (Opsional) Tambahkan nomor akun AWS akun yang diberi otorisasi untuk berbagi snapshot Anda, lalu pilih Tambahkan Izin.
- Pilih Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEbs Volume Encryption Enabled All Regions
Nama kategori di API: EBS_VOLUME_ENCRYPTION_ENABLED_ALL_REGIONS
Elastic Compute Cloud (EC2) mendukung enkripsi saat dalam penyimpanan saat menggunakan layanan Elastic Block Store (EBS). Meskipun dinonaktifkan secara default, memaksa enkripsi saat pembuatan volume EBS didukung.
Rekomendasi: Pastikan Enkripsi Volume EBS Diaktifkan di semua Region Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console dan buka konsol Amazon EC2 menggunakan https://console.aws.amazon.com/ec2/
- Di bagian
Account attributes
, klikEBS encryption
. - Klik
Manage
. - Klik kotak centang
Enable
. - Klik
Update EBS encryption
- Ulangi untuk setiap wilayah yang memerlukan perubahan.
Catatan: Enkripsi volume EBS dikonfigurasi per region.
CLI AWS
- Jalankan
aws --region <region> ec2 enable-ebs-encryption-by-default
- Pastikan
"EbsEncryptionByDefault": true
ditampilkan. - Ulangi untuk setiap wilayah yang memerlukan perubahan.
Catatan: Enkripsi volume EBS dikonfigurasi per region.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEc2 Instances In Vpc
Nama kategori di API: EC2_INSTANCES_IN_VPC
Amazon VPC menyediakan lebih banyak fungsi keamanan daripada EC2 Classic. Sebaiknya semua node adalah milik Amazon VPC.
Rekomendasi: Memastikan bahwa semua instance milik VPC Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Jika memiliki Instance EC2 Klasik yang ditentukan di Terraform, Anda dapat mengubah resource menjadi bagian dari VPC. Migrasi ini akan bergantung pada arsitektur yang paling sesuai dengan kebutuhan Anda. Berikut adalah contoh Terraform sederhana yang mengilustrasikan EC2 yang diekspos secara publik di VPC.
resource "aws_vpc" "example_vpc" {
cidr_block = "10.0.0.0/16"
}
resource "aws_subnet" "example_public_subnet" {
vpc_id = aws_vpc.example_vpc.id
cidr_block = "10.0.1.0/24"
availability_zone = "1a"
}
resource "aws_internet_gateway" "example_igw" {
vpc_id = aws_vpc.example_vpc.id
}
resource "aws_key_pair" "example_key" {
key_name = "web-instance-key"
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com"
}
resource "aws_security_group" "web_sg" {
name = "http and ssh"
vpc_id = aws_vpc.some_custom_vpc.id
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = -1
cidr_blocks = ["0.0.0.0/0"]
}
}
resource "aws_instance" "web" {
ami = <ami_id>
instance_type = <instance_flavor>
key_name = aws_key_pair.example_key.name
monitoring = true
subnet_id = aws_subnet.example_public_subnet.id
vpc_security_group_ids = [aws_security_group.web_sg.id]
metadata_options {
http_tokens = "required"
}
}
Konsol AWS
Untuk memigrasikan EC2 Classic ke VPC, lihat Melakukan migrasi dari EC2-Classic ke VPC
CLI AWS
Contoh AWS CLI ini menggambarkan infrastruktur yang sama yang ditentukan dengan Terraform. Ini adalah contoh sederhana dari instance EC2 yang diekspos secara publik di VPC
Membuat VPC
aws ec2 create-vpc \
--cidr-block 10.0.0.0/16
Membuat Subnet Publik
aws ec2 create-subnet \
--availability-zone 1a \
--cidr-block 10.0.1.0/24 \
--vpc-id <id_from_create-vpc_command>
Membuat Internet Gateway
aws ec2 create-internet-gateway
Melampirkan Internet Gateway ke VPC
aws ec2 attach-internet-gateway \
--internet-gateway-id <id_from_create-internet-gateway_command> \
--vpc-id <id_from_create-vpc_command>
Buat Pasangan Kunci - Tindakan ini akan menyimpan kunci pribadi Anda di /.ssh/web-instance-key.pem
aws ec2 create-key-pair \
--key-name web-instance-key \
--query "KeyMaterial" \
--output text > ~/.ssh/web-instance-key.pem && \
chmod 400 ~/.ssh/web-instance-key.pem
Membuat Grup Keamanan
aws ec2 create-security-group \
--group-name "http and ssh" \
--vpc-id <id_from_create-vpc_command>
Membuat Aturan Grup Keamanan - Untuk akses yang lebih dibatasi, tentukan CIDR yang lebih dibatasi untuk SSH di port 22
aws ec2 authorize-security-group-ingress \
--group-id <id_from_create-security-group_command>
--protocol tcp \
--port 80 \
--cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress \
--group-id <id_from_create-security-group_command>
--protocol tcp \
--port 22 \
--cidr 0.0.0.0/0
aws ec2 authorize-security-group-egress \
--group-id <id_from_create-security-group_command>
--protocol -1 \
--port 0 \
--cidr 0.0.0.0/0
Membuat Instance EC2
aws ec2 run-instances \
--image-id <ami_id> \
--instance-type <instance_flavor> \
--metadata-options "HttpEndpoint=enabled,HttpTokens=required" \
--monitoring true \
--key-name web-instance-key \
--subnet-id <id_from_create-subnet_command> \
--security-group-ids <id_from_create-security-group_command>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEc2 Instance No Public Ip
Nama kategori di API: EC2_INSTANCE_NO_PUBLIC_IP
Instance EC2 yang memiliki alamat IP publik berisiko lebih tinggi untuk disusupi. Sebaiknya instance EC2 tidak dikonfigurasi dengan alamat IP publik.
Rekomendasi: Memastikan tidak ada instance yang memiliki IP publik Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Gunakan argumen associate_public_ip_address = false
dengan resource aws_instance
untuk memastikan instance EC2 disediakan tanpa alamat IP publik
resource "aws_instance" "no_public_ip" {
...
associate_public_ip_address = false
}
Konsol AWS
Secara default, subnet non-default memiliki atribut alamat publik IPv4 yang ditetapkan ke salah (false), dan subnet default memiliki atribut ini ditetapkan ke benar (true). Pengecualian adalah subnet non-default yang dibuat oleh wizard peluncuran instance Amazon EC2 — wizard menetapkan atribut ke true. Anda dapat mengubah atribut ini menggunakan konsol Amazon VPC.
Untuk mengubah perilaku pemberian alamat IPv4 publik subnet
- Buka konsol Amazon VPC di https://console.aws.amazon.com/vpc/.
- Di panel navigasi, pilih Subnet.
- Pilih subnet Anda, lalu pilih Tindakan, Edit setelan subnet.
- Jika dicentang, kotak Aktifkan alamat IPv4 publik penetapan otomatis akan meminta alamat IPv4 publik untuk semua instance yang diluncurkan ke subnet yang dipilih. Centang atau hapus centang pada kotak sesuai kebutuhan, lalu pilih Simpan.
CLI AWS
Perintah berikut menjalankan Instance EC2 di subnet default tanpa mengaitkan alamat IP publik ke instance tersebut.
aws ec2 run-instances \
--image-id <ami_id> \
--instance-type <instance_flavor> \
--no-associate-public-ip-address \
--key-name MyKeyPair
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEc2 Managedinstance Association Compliance Status Check
Nama kategori di API: EC2_MANAGEDINSTANCE_ASSOCIATION_COMPLIANCE_STATUS_CHECK
Penautan Pengelola Status adalah konfigurasi yang ditetapkan ke instance terkelola Anda. Konfigurasi menentukan status yang ingin Anda pertahankan di instance. Misalnya, pengaitan dapat menentukan bahwa software antivirus harus diinstal dan berjalan di instance Anda, atau port tertentu harus ditutup. Instance EC2 yang memiliki pengaitan dengan AWS Systems Manager berada di bawah pengelolaan Systems Manager yang mempermudah penerapan patch, memperbaiki kesalahan konfigurasi, dan merespons peristiwa keamanan.
Rekomendasi: Memeriksa status kepatuhan pengaitan AWS Systems Manager Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Contoh berikut menunjukkan cara membuat instance EC2 sederhana, Dokumen AWS Systems Manager (SSM), dan pengaitan antara SSM dan instance EC2. Dokumen yang didukung adalah jenis Command
dan Policy
.
resource "aws_instance" "web" {
ami = "<iam_id>"
instance_type = "<instance_flavor>"
}
resource "aws_ssm_document" "check_ip" {
name = "check-ip-config"
document_type = "Command"
content = <<DOC
{
"schemaVersion": "1.2",
"description": "Check ip configuration of a Linux instance.",
"parameters": {
},
"runtimeConfig": {
"aws:runShellScript": {
"properties": [
{
"id": "0.aws:runShellScript",
"runCommand": ["ifconfig"]
}
]
}
}
}
DOC
}
resource "aws_ssm_association" "check_ip_association" {
name = aws_ssm_document.check_ip.name
targets {
key = "InstanceIds"
values = [aws_instance.web.id]
}
}
Konsol AWS
Untuk informasi tentang cara mengonfigurasi pengaitan dengan AWS Systems Manager menggunakan konsol, lihat Membuat Pengaitan dalam dokumentasi AWS Systems Manager.
CLI AWS
Membuat Dokumen SSM
aws ssm create-document \
--name <document_name> \
--content file://path/to-file/document.json \
--document-type "Command"
Membuat Atribusi SSM
aws ssm create-association \
--name <association_name> \
--targets "Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>"
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEc2 Managedinstance Patch Compliance Status Check
Nama kategori di API: EC2_MANAGEDINSTANCE_PATCH_COMPLIANCE_STATUS_CHECK
Kontrol ini memeriksa apakah status kepatuhan pengaitan AWS Systems Manager adalah COMPLIANT atau NON_COMPLIANT setelah pengaitan dijalankan di instance. Kontrol akan gagal jika status kepatuhan pengaitan adalah NON_COMPLIANT.
Penautan Pengelola Status adalah konfigurasi yang ditetapkan ke instance terkelola Anda. Konfigurasi menentukan status yang ingin Anda pertahankan di instance. Misalnya, pengaitan dapat menentukan bahwa software antivirus harus diinstal dan berjalan di instance Anda atau port tertentu harus ditutup.
Setelah Anda membuat satu atau beberapa pengaitan Pengelola Status, informasi status kepatuhan akan langsung tersedia untuk Anda. Anda dapat melihat status kepatuhan di konsol atau sebagai respons terhadap perintah AWS CLI atau tindakan Systems Manager API yang sesuai. Untuk pengaitan, Kepatuhan Konfigurasi menampilkan status kepatuhan (Memenuhi atau Tidak Memenuhi). Halaman ini juga menampilkan tingkat keparahan yang ditetapkan untuk pengaitan, seperti Kritis atau Sedang.
Untuk mempelajari kepatuhan pengaitan State Manager lebih lanjut, lihat Tentang kepatuhan pengaitan State Manager di Panduan Pengguna AWS Systems Manager.
Rekomendasi: Memeriksa status kepatuhan patch AWS Systems ManagerAtribusi yang gagal dapat terkait dengan berbagai hal, termasuk target dan nama dokumen SSM. Untuk memperbaiki masalah ini, Anda harus mengidentifikasi dan menyelidiki pengaitan terlebih dahulu dengan melihat histori pengaitan. Untuk mengetahui petunjuk tentang cara melihat histori pengaitan, lihat Melihat histori pengaitan di Panduan Pengguna AWS Systems Manager.
Setelah menyelidiki, Anda dapat mengedit pengaitan untuk memperbaiki masalah yang diidentifikasi. Anda dapat mengedit pengaitan untuk menentukan nama, jadwal, tingkat keparahan, atau target baru. Setelah Anda mengedit pengaitan, AWS Systems Manager akan membuat versi baru. Untuk petunjuk mengedit pengaitan, lihat Mengedit dan membuat versi baru pengaitan di Panduan Pengguna AWS Systems Manager.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEc2 Metadata Service Allows Imdsv2
Nama kategori di API: EC2_METADATA_SERVICE_ALLOWS_IMDSV2
Saat mengaktifkan Layanan Metadata di instance AWS EC2, pengguna memiliki opsi untuk menggunakan Layanan Metadata Instance Versi 1 (IMDSv1; metode permintaan/respons) atau Layanan Metadata Instance Versi 2 (IMDSv2; metode berorientasi sesi).
Rekomendasi: Pastikan Layanan Metadata EC2 hanya mengizinkan IMDSv2Dari Konsol:
1. Login ke AWS Management Console dan buka konsol Amazon EC2 menggunakan https://console.aws.amazon.com/ec2/
2. Di menu Instances, pilih Instances.
3. Untuk setiap Instance, pilih instance, lalu pilih Actions > Modify instance metadata options.
4. Jika layanan Metadata instance diaktifkan, tetapkan IMDSv2 ke Wajib.
Dari Command Line:
aws ec2 modify-instance-metadata-options --instance-id <instance_id> --http-tokens required
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEc2 Volume Inuse Check
Nama kategori di API: EC2_VOLUME_INUSE_CHECK
Mengidentifikasi dan menghapus volume Elastic Block Store (EBS) yang tidak terpasang (tidak digunakan) di akun AWS Anda untuk menurunkan biaya tagihan AWS bulanan. Menghapus volume EBS yang tidak digunakan juga mengurangi risiko data rahasia/sensitif keluar dari tempat Anda. Selain itu, kontrol ini juga memeriksa apakah instance EC2 yang diarsipkan dikonfigurasi untuk menghapus volume saat dihentikan.
Secara default, instance EC2 dikonfigurasi untuk menghapus data dalam volume EBS apa pun yang terkait dengan instance, dan untuk menghapus volume EBS root instance. Namun, volume EBS non-root yang dilampirkan ke instance, saat peluncuran atau selama eksekusi, akan dipertahankan setelah penghentian secara default.
Rekomendasi: Memeriksa apakah volume EBS dipasang ke instance EC2 dan dikonfigurasi untuk dihapus saat instance dihentikan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk mencegah skenario ini menggunakan Terraform, buat instance EC2 dengan blok EBS tersemat. Hal ini memastikan bahwa setiap blok EBS yang terkait dengan instance (tidak hanya root) akan dihapus saat instance dihentikan dengan menetapkan atribut ebs_block_device.delete_on_termination
secara default ke true
.
resource "aws_instance" "web" {
ami = <ami_id>
instance_type = <instance_flavor>
ebs_block_device {
delete_on_termination = true # Default
device_name = "/dev/sdh"
}
Konsol AWS
Untuk menghapus volume EBS menggunakan konsol
- Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.
- Di panel navigasi, pilih Volume.
- Pilih volume yang akan dihapus, lalu pilih Tindakan, Hapus volume.
- Catatan: Jika Hapus volume berwarna abu-abu, volume tersebut terpasang ke instance. Anda harus melepaskan volume dari instance sebelum dapat dihapus.
- Di kotak dialog konfirmasi, pilih Hapus.
CLI AWS
Contoh perintah ini menghapus volume yang tersedia dengan ID volume vol-049df61146c4d7901. Jika perintah berhasil, tidak ada output yang ditampilkan.
aws ec2 delete-volume --volume-id vol-049df61146c4d7901
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEfs Encrypted Check
Nama kategori di API: EFS_ENCRYPTED_CHECK
Amazon EFS mendukung dua bentuk enkripsi untuk sistem file, enkripsi data dalam pengiriman, dan enkripsi data dalam penyimpanan. Tindakan ini memeriksa apakah semua sistem file EFS dikonfigurasi dengan enkripsi dalam penyimpanan di semua region yang diaktifkan di akun.
Rekomendasi: Memeriksa apakah EFS dikonfigurasi untuk mengenkripsi data file menggunakan KMS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Cuplikan kode berikut dapat digunakan untuk membuat EFS terenkripsi KMS (Catatan: Atribut kms_key_id
bersifat opsional, dan kunci akan dibuat jika tidak ada ID kunci kms yang diteruskan)
resource "aws_efs_file_system" "encrypted-efs" {
creation_token = "my-kms-encrypted-efs"
encrypted = true
kms_key_id = "arn:aws:kms:us-west-2:12344375555:key/16393ebd-3348-483f-b162-99b6648azz23"
tags = {
Name = "MyProduct"
}
}
Konsol AWS
Untuk mengonfigurasi EFS dengan enkripsi menggunakan konsol AWS, lihat Mengenkripsi sistem file dalam penyimpanan menggunakan konsol.
CLI AWS
Perlu diperhatikan bahwa saat membuat EFS dari konsol, enkripsi saat tidak digunakan akan diaktifkan secara default, tetapi hal ini tidak berlaku untuk EFS yang dibuat menggunakan CLI, API, atau SDK. Contoh berikut memungkinkan Anda membuat sistem file terenkripsi di infrastruktur.
aws efs create-file-system \
--backup \
--encrypted \
--region us-east-1 \
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEfs In Backup Plan
Nama kategori di API: EFS_IN_BACKUP_PLAN
Praktik terbaik Amazon merekomendasikan konfigurasi pencadangan untuk Elastic File System (EFS) Anda. Tindakan ini akan memeriksa semua EFS di setiap region yang diaktifkan di akun AWS Anda untuk mengetahui cadangan yang diaktifkan.
Rekomendasi: Memeriksa apakah sistem file EFS disertakan dalam paket AWS Backup Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Gunakan resource aws_efs_backup_policy
untuk mengonfigurasi kebijakan pencadangan untuk sistem file EFS.
resource "aws_efs_file_system" "encrypted-efs" {
creation_token = "my-encrypted-efs"
encrypted = true
tags = merge({
Name = "${local.resource_prefix.value}-efs"
}, {
git_file = "terraform/aws/efs.tf"
git_org = "your_git_org"
git_repo = "your_git_repo"
})
}
resource "aws_efs_backup_policy" "policy" {
file_system_id = aws_efs_file_system.encrypted-efs.id
backup_policy {
status = "ENABLED"
}
}
Konsol AWS
Ada dua opsi untuk mencadangkan EFS: layanan AWS Backup dan solusi pencadangan EFS-ke-EFS. Untuk memperbaiki EFS yang tidak dicadangkan menggunakan konsol, lihat:
CLI AWS
Ada beberapa opsi untuk membuat sistem file EFS yang mematuhi kebijakan menggunakan CLI:
- Membuat EFS dengan pencadangan otomatis diaktifkan (default untuk penyimpanan Satu Zona dan bersyarat untuk ketersediaan pencadangan di Region AWS)
- Membuat EFS dan menerapkan kebijakan pencadangan
Namun, dengan asumsi bahwa perbaikan harus dilakukan di EFS yang ada, opsi terbaiknya adalah membuat kebijakan cadangan dan mengaitkannya ke EFS yang tidak mematuhi kebijakan. Anda memerlukan satu perintah untuk setiap EFS di infrastruktur Anda.
arr=( $(aws efs describe-file-systems | jq -r '.FileSystems[].FileSystemId') )
for efs in "${arr[@]}"
do
aws efs put-backup-policy \
--file-system-id "${efs}" \
--backup-policy "Status=ENABLED"
done
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariElb Acm Certificate Required
Nama kategori di API: ELB_ACM_CERTIFICATE_REQUIRED
Memeriksa apakah Load Balancer Klasik menggunakan sertifikat HTTPS/SSL yang disediakan oleh AWS Certificate Manager (ACM). Kontrol akan gagal jika Load Balancer Klasik yang dikonfigurasi dengan pemroses HTTPS/SSL tidak menggunakan sertifikat yang disediakan oleh ACM.
Untuk membuat sertifikat, Anda dapat menggunakan ACM atau alat yang mendukung protokol SSL dan TLS, seperti OpenSSL. Security Hub merekomendasikan agar Anda menggunakan ACM untuk membuat atau mengimpor sertifikat untuk load balancer.
ACM terintegrasi dengan Load Balancer Klasik sehingga Anda dapat men-deploy sertifikat di load balancer. Anda juga harus memperpanjang sertifikat ini secara otomatis.
Rekomendasi: Memeriksa apakah semua Load Balancer Klasik menggunakan sertifikat SSL yang disediakan oleh AWS Certificate ManagerUntuk informasi tentang cara mengaitkan sertifikat SSL/TLS ACM dengan Load Balancer Klasik, lihat artikel Pusat Pengetahuan AWS Bagaimana cara mengaitkan sertifikat SSL/TLS ACM dengan Load Balancer Klasik, Aplikasi, atau Jaringan?
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariElb Deletion Protection Enabled
Nama kategori di API: ELB_DELETION_PROTECTION_ENABLED
Memeriksa apakah Load Balancer Aplikasi telah mengaktifkan perlindungan penghapusan. Kontrol akan gagal jika perlindungan penghapusan tidak dikonfigurasi.
Aktifkan perlindungan penghapusan untuk melindungi Load Balancer Aplikasi Anda dari penghapusan.
Rekomendasi: Perlindungan penghapusan Load Balancer Aplikasi harus diaktifkan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Untuk mencegah load balancer terhapus secara tidak sengaja, Anda dapat mengaktifkan perlindungan penghapusan. Secara default, perlindungan penghapusan dinonaktifkan untuk load balancer Anda.
Jika Anda mengaktifkan perlindungan penghapusan untuk load balancer, Anda harus menonaktifkan perlindungan penghapusan sebelum dapat menghapus load balancer.
Untuk mengaktifkan perlindungan penghapusan dari konsol.
- Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.
- Di panel navigasi, pada bagian LOAD BALANCING, pilih Load Balancers.
- Pilih load balancer.
- Di tab Deskripsi, pilih Edit atribut.
- Di halaman Edit load balancer attributes, pilih Enable for Delete Protection, lalu pilih Save.
- Pilih Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariElb Logging Enabled
Nama kategori di API: ELB_LOGGING_ENABLED
Tindakan ini memeriksa apakah Application Load Balancer dan Classic Load Balancer telah mengaktifkan logging. Kontrol akan gagal jika access_logs.s3.enabled bernilai salah (false).
Elastic Load Balancing menyediakan log akses yang merekam informasi mendetail tentang permintaan yang dikirim ke load balancer Anda. Setiap log berisi informasi seperti waktu permintaan diterima, alamat IP klien, latensi, jalur permintaan, dan respons server. Anda dapat menggunakan log akses ini untuk menganalisis pola traffic dan memecahkan masalah.
Untuk mempelajari lebih lanjut, lihat Log akses untuk Load Balancer Klasik di Panduan Pengguna untuk Load Balancer Klasik.
Rekomendasi: Memeriksa apakah logging diaktifkan pada load balancer aplikasi dan klasik Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Untuk mengatasi masalah ini, update load balancer untuk mengaktifkan logging.
Untuk mengaktifkan log akses
- Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.
- Di panel navigasi, pilih Load balancer.
- Pilih Application Load Balancer atau Classic Load Balancer.
- Dari Tindakan, pilih Edit atribut.
- Di bagian Access logs, pilih Enable.
- Masukkan lokasi S3 Anda. Lokasi ini dapat ada atau dapat dibuat untuk Anda. Jika Anda tidak menentukan awalan, log akses akan disimpan di root bucket S3.
- Pilih Simpan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariElb Tls Https Listeners Only
Nama kategori di API: ELB_TLS_HTTPS_LISTENERS_ONLY
Pemeriksaan ini memastikan semua Load Balancer Klasik dikonfigurasi untuk menggunakan komunikasi yang aman.
Pemroses adalah proses yang memeriksa permintaan koneksi. Load balancer dikonfigurasi dengan protokol dan port untuk koneksi frontend (klien ke load balancer) dan protokol serta port untuk koneksi backend (load balancer ke instance). Untuk mengetahui informasi tentang port, protokol, dan konfigurasi pemroses yang didukung oleh Elastic Load Balancing, lihat Pemroses untuk Load Balancer Klasik Anda.
Rekomendasi: Memeriksa apakah semua Load Balancer Klasik dikonfigurasi dengan pemroses SSL atau HTTPSUntuk mengonfigurasi SSL atau TLS untuk load balancer klasik, lihat Membuat load balancer HTTPS/SSL menggunakan AWS Management Console.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEncrypted Volumes
Nama kategori di API: ENCRYPTED_VOLUMES
Memeriksa apakah volume EBS yang dalam status terpasang dienkripsi. Agar lulus pemeriksaan ini, volume EBS harus digunakan dan dienkripsi. Jika tidak terpasang, volume EBS tidak akan dikenai pemeriksaan ini.
Untuk lapisan keamanan tambahan data sensitif Anda dalam volume EBS, Anda harus mengaktifkan enkripsi EBS saat dalam penyimpanan. Enkripsi Amazon EBS menawarkan solusi enkripsi yang mudah untuk resource EBS Anda tanpa mengharuskan Anda membuat, mengelola, dan mengamankan infrastruktur pengelolaan kunci enkripsi Anda sendiri. Layanan ini menggunakan kunci KMS saat membuat volume dan snapshot terenkripsi.
Untuk mempelajari enkripsi Amazon EBS lebih lanjut, lihat Enkripsi Amazon EBS di Panduan Pengguna Amazon EC2 untuk Instance Linux.
Rekomendasi: Volume Amazon EBS yang terpasang harus dienkripsi dalam penyimpanan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Tidak ada cara langsung untuk mengenkripsi volume atau snapshot yang tidak dienkripsi yang ada. Anda hanya dapat mengenkripsi volume atau snapshot baru saat membuatnya.
Jika Anda mengaktifkan enkripsi secara default, Amazon EBS akan mengenkripsi volume atau snapshot baru yang dihasilkan menggunakan kunci default untuk enkripsi Amazon EBS. Meskipun belum mengaktifkan enkripsi secara default, Anda dapat mengaktifkan enkripsi saat membuat volume atau snapshot individual. Dalam kedua kasus tersebut, Anda dapat mengganti kunci default untuk enkripsi Amazon EBS dan memilih kunci simetris yang dikelola pelanggan.
Untuk mengetahui informasi selengkapnya, lihat Membuat volume Amazon EBS dan Menyalin snapshot Amazon EBS di Panduan Pengguna Amazon EC2 untuk Instance Linux.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEncryption At Rest Enabled Rds Instances
Nama kategori di API: ENCRYPTION_AT_REST_ENABLED_RDS_INSTANCES
Instance DB terenkripsi Amazon RDS menggunakan algoritma enkripsi AES-256 standar industri untuk mengenkripsi data Anda di server yang menghosting instance DB Amazon RDS. Setelah data Anda dienkripsi, Amazon RDS menangani autentikasi akses dan dekripsi data Anda secara transparan dengan dampak minimal pada performa.
Rekomendasi: Pastikan enkripsi dalam penyimpanan diaktifkan untuk Instance RDS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console, lalu buka dasbor RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi kiri, klik
Databases
- Pilih instance Database yang perlu dienkripsi.
- Klik tombol
Actions
yang ditempatkan di kanan atas, lalu pilihTake Snapshot
. - Di halaman Take Snapshot, masukkan nama database yang ingin Anda ambil snapshot-nya di kolom
Snapshot Name
, lalu klikTake Snapshot
. - Pilih snapshot yang baru dibuat, lalu klik tombol
Action
yang ditempatkan di kanan atas dan pilihCopy snapshot
dari menu Tindakan. - Di halaman Make Copy of DB Snapshot, lakukan hal berikut:
- Di kolom ID Snapshot DB Baru, Masukkan nama untuk
new snapshot
. - Centang
Copy Tags
, Snapshot baru harus memiliki tag yang sama dengan snapshot sumber. - Pilih
Yes
dari menu drop-downEnable Encryption
untuk mengaktifkan enkripsi. Anda dapat memilih untuk menggunakan kunci enkripsi default AWS atau kunci kustom dari menu drop-down Kunci Master.
- Klik
Copy Snapshot
untuk membuat salinan terenkripsi dari snapshot instance yang dipilih. - Pilih Salinan Terenkripsi Snapshot baru, lalu klik tombol
Action
yang ditempatkan di kanan atas dan pilih tombolRestore Snapshot
dari menu Tindakan. Tindakan ini akan memulihkan snapshot terenkripsi ke instance database baru. - Di halaman Restore DB Instance, masukkan nama unik untuk instance database baru di kolom DB Instance Identifier.
- Tinjau detail konfigurasi instance, lalu klik
Restore DB Instance
. - Setelah proses penyediaan instance baru selesai, dapat memperbarui konfigurasi aplikasi untuk merujuk ke endpoint instance database terenkripsi yang baru. Setelah endpoint database diubah di tingkat aplikasi, dapat menghapus instance yang tidak dienkripsi.
CLI AWS
- Jalankan perintah
describe-db-instances
untuk mencantumkan semua nama database RDS yang tersedia di region AWS yang dipilih. Output perintah akan menampilkan ID instance database.
aws rds describe-db-instances --region <region-name> --query 'DBInstances[*].DBInstanceIdentifier'
- Jalankan perintah
create-db-snapshot
untuk membuat snapshot untuk instance database yang dipilih. Output perintah akan menampilkannew snapshot
dengan nama DB Snapshot Name.
aws rds create-db-snapshot --region <region-name> --db-snapshot-identifier <DB-Snapshot-Name> --db-instance-identifier <DB-Name>
- Sekarang jalankan perintah
list-aliases
untuk mencantumkan alias kunci KMS yang tersedia di region yang ditentukan. Output perintah akan menampilkan setiapkey alias currently available
. Untuk proses aktivasi enkripsi RDS, temukan ID kunci KMS default AWS.
aws kms list-aliases --region <region-name>
- Jalankan perintah
copy-db-snapshot
menggunakan ID kunci KMS default untuk instance RDS yang ditampilkan sebelumnya guna membuat salinan terenkripsi snapshot instance database. Output perintah akan menampilkanencrypted instance snapshot configuration
.
aws rds copy-db-snapshot --region <region-name> --source-db-snapshot-identifier <DB-Snapshot-Name> --target-db-snapshot-identifier <DB-Snapshot-Name-Encrypted> --copy-tags --kms-key-id <KMS-ID-For-RDS>
- Jalankan perintah
restore-db-instance-from-db-snapshot
untuk memulihkan snapshot terenkripsi yang dibuat pada langkah sebelumnya ke instance database baru. Jika berhasil, output perintah akan menampilkan konfigurasi instance database terenkripsi baru.
aws rds restore-db-instance-from-db-snapshot --region <region-name> --db-instance-identifier <DB-Name-Encrypted> --db-snapshot-identifier <DB-Snapshot-Name-Encrypted>
- Jalankan perintah
describe-db-instances
untuk mencantumkan semua nama database RDS, yang tersedia di region AWS yang dipilih. Output akan menampilkan nama ID instance database. Pilih nama database terenkripsi yang baru saja kita buat, DB-Name-Encrypted.
aws rds describe-db-instances --region <region-name> --query 'DBInstances[*].DBInstanceIdentifier'
- Jalankan lagi perintah
describe-db-instances
menggunakan ID instance RDS yang ditampilkan sebelumnya, untuk menentukan apakah instance database yang dipilih dienkripsi, Output perintah akan menampilkan status enkripsiTrue
.
aws rds describe-db-instances --region <region-name> --db-instance-identifier <DB-Name-Encrypted> --query 'DBInstances[*].StorageEncrypted'
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariEncryption Enabled Efs File Systems
Nama kategori di API: ENCRYPTION_ENABLED_EFS_FILE_SYSTEMS
Data EFS harus dienkripsi dalam penyimpanan menggunakan AWS KMS (Key Management Service).
Rekomendasi: Pastikan enkripsi diaktifkan untuk sistem file EFS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console dan Buka dasbor
Elastic File System (EFS)
. - Pilih
File Systems
dari panel navigasi kiri. - Klik tombol
Create File System
dari menu atas dasbor untuk memulai proses penyiapan sistem file. -
Di halaman konfigurasi
Configure file system access
, lakukan tindakan berikut.
- Pilih VPC yang tepat dari menu drop-down VPC.
- Di bagian Create mount targets, centang kotak untuk semua Zona Ketersediaan (AZ) dalam VPC yang dipilih. Ini akan menjadi target pemasangan Anda.
- KlikNext step
untuk melanjutkan. -
Lakukan hal berikut di halaman
Configure optional settings
.
- Buattags
untuk mendeskripsikan sistem file baru Anda.
- Pilihperformance mode
berdasarkan persyaratan Anda.
- Centang kotakEnable encryption
dan pilihaws/elasticfilesystem
dari menu drop-down Select KMS master key untuk mengaktifkan enkripsi untuk sistem file baru menggunakan kunci master default yang disediakan dan dikelola oleh AWS KMS.
- KlikNext step
untuk melanjutkan. -
Tinjau detail konfigurasi sistem file di halaman
review and create
, lalu klikCreate File System
untuk membuat sistem file AWS EFS baru. - Salin data dari sistem file EFS lama yang tidak dienkripsi ke sistem file terenkripsi yang baru dibuat.
- Hapus sistem file yang tidak dienkripsi segera setelah migrasi data Anda ke sistem file terenkripsi yang baru dibuat selesai.
- Ubah region AWS dari menu navigasi dan ulangi seluruh proses untuk region AWS lainnya.
Dari CLI:
1. Jalankan perintah describe-file-systems untuk menjelaskan informasi konfigurasi yang tersedia untuk sistem file yang dipilih (tidak dienkripsi) (lihat bagian Audit untuk mengidentifikasi resource yang tepat):
aws efs describe-file-systems --region <region> --file-system-id <file-system-id from audit section step 2 output>
- Output perintah akan menampilkan informasi konfigurasi yang diminta.
- Untuk menyediakan sistem file AWS EFS baru, Anda perlu membuat ID unik universal (UUID) untuk membuat token yang diperlukan oleh perintah create-file-system. Untuk membuat token yang diperlukan, Anda dapat menggunakan UUID yang dibuat secara acak dari "https://www.uuidgenerator.net".
- Jalankan perintah create-file-system menggunakan token unik yang dibuat pada langkah sebelumnya.
aws efs create-file-system --region <region> --creation-token <Token (randomly generated UUID from step 3)> --performance-mode generalPurpose --encrypted
- Output perintah akan menampilkan metadata konfigurasi sistem file baru.
- Jalankan perintah create-mount-target menggunakan ID sistem file EFS yang baru dibuat dan ditampilkan pada langkah sebelumnya sebagai ID dan ID Zona Ketersediaan (AZ) yang akan mewakili target pemasangan:
aws efs create-mount-target --region <region> --file-system-id <file-system-id> --subnet-id <subnet-id>
- Output perintah akan menampilkan metadata target pemasangan baru.
- Sekarang Anda dapat memasang sistem file dari instance EC2.
- Salin data dari sistem file EFS lama yang tidak dienkripsi ke sistem file terenkripsi yang baru dibuat.
- Hapus sistem file yang tidak dienkripsi segera setelah migrasi data Anda ke sistem file terenkripsi yang baru dibuat selesai.
aws efs delete-file-system --region <region> --file-system-id <unencrypted-file-system-id>
- Ubah region AWS dengan memperbarui --region dan ulangi seluruh proses untuk region AWS lainnya.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIam Password Policy
Nama kategori di API: IAM_PASSWORD_POLICY
AWS mengizinkan kebijakan sandi kustom di akun AWS Anda untuk menentukan persyaratan kerumitan dan periode rotasi wajib untuk sandi pengguna IAM Anda. Jika Anda tidak menetapkan kebijakan sandi kustom, sandi pengguna IAM harus memenuhi kebijakan sandi AWS default. Praktik terbaik keamanan AWS merekomendasikan persyaratan kerumitan sandi berikut:
- Memerlukan minimal satu karakter huruf besar dalam sandi.
- Memerlukan minimal satu karakter huruf kecil dalam sandi.
- Memerlukan minimal satu simbol dalam sandi.
- Wajibkan setidaknya satu angka dalam sandi.
- Mewajibkan panjang sandi minimum minimal 14 karakter.
- Mewajibkan minimal 24 sandi sebelum mengizinkan penggunaan kembali.
- Wajibkan setidaknya 90 hari sebelum masa berlaku sandi berakhir
Kontrol ini memeriksa semua persyaratan kebijakan sandi yang ditentukan.
Rekomendasi: Memeriksa apakah kebijakan sandi akun untuk pengguna IAM memenuhi persyaratan yang ditentukan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
resource "aws_iam_account_password_policy" "strict" {
allow_users_to_change_password = true
require_uppercase_characters = true
require_lowercase_characters = true
require_symbols = true
require_numbers = true
minimum_password_length = 14
password_reuse_prevention = 24
max_password_age = 90
}
Konsol AWS
Untuk membuat kebijakan sandi kustom
- Masuk ke Konsol Pengelolaan dan buka konsol IAM di https://console.aws.amazon.com/iam/.
- Di panel navigasi, pilih Setelan akun.
- Di bagian Kebijakan sandi, pilih Ubah kebijakan sandi.
- Pilih opsi yang ingin Anda terapkan ke kebijakan sandi, lalu pilih Simpan perubahan.
Untuk mengubah kebijakan sandi kustom
- Masuk ke Konsol Pengelolaan dan buka konsol IAM di https://console.aws.amazon.com/iam/.
- Di panel navigasi, pilih Setelan akun.
- Di bagian Kebijakan sandi, pilih Ubah.
- Pilih opsi yang ingin Anda terapkan ke kebijakan sandi, lalu pilih Simpan perubahan.
CLI AWS
aws iam update-account-password-policy \
--allow-users-to-change-password \
--require-uppercase-characters \
--require-lowercase-characters \
--require-symbols \
--require-numbers \
--minimum-password-length 14 \
--password-reuse-prevention 24 \
--max-password-age 90
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIam Password Policy Prevents Password Reuse
Nama kategori di API: IAM_PASSWORD_POLICY_PREVENTS_PASSWORD_REUSE
Kebijakan sandi IAM dapat mencegah penggunaan ulang sandi tertentu oleh pengguna yang sama. Sebaiknya kebijakan sandi mencegah penggunaan ulang sandi.
Rekomendasi: Pastikan kebijakan sandi IAM mencegah penggunaan ulang sandi Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Console (dengan izin yang sesuai untuk Melihat Setelan Akun Identity Access Management)
- Buka Layanan IAM di Konsol AWS
- Klik Setelan Akun di Panel Kiri
- Centang "Cegah penggunaan ulang sandi"
- Menetapkan "Jumlah sandi yang akan diingat" ke
24
CLI AWS
aws iam update-account-password-policy --password-reuse-prevention 24
Catatan: Semua perintah yang dimulai dengan "aws iam update-account-password-policy" dapat digabungkan menjadi satu perintah.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIam Password Policy Requires Minimum Length 14 Greater
Nama kategori di API: IAM_PASSWORD_POLICY_REQUIRES_MINIMUM_LENGTH_14_GREATER
Kebijakan sandi, sebagian, digunakan untuk menerapkan persyaratan kerumitan sandi. Kebijakan sandi IAM dapat digunakan untuk memastikan sandi memiliki panjang minimal yang ditentukan. Sebaiknya kebijakan sandi mewajibkan panjang sandi minimum 14 karakter.
Rekomendasi: Pastikan kebijakan sandi IAM mengharuskan panjang minimum 14 karakter atau lebih Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Console (dengan izin yang sesuai untuk Melihat Setelan Akun Identity Access Management)
- Buka Layanan IAM di Konsol AWS
- Klik Setelan Akun di Panel Kiri
- Tetapkan "Panjang sandi minimum" ke
14
atau lebih besar. - Klik "Terapkan kebijakan sandi"
CLI AWS
aws iam update-account-password-policy --minimum-password-length 14
Catatan: Semua perintah yang dimulai dengan "aws iam update-account-password-policy" dapat digabungkan menjadi satu perintah.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIam Policies Allow Full Administrative Privileges Attached
Nama kategori di API: IAM_POLICIES_ALLOW_FULL_ADMINISTRATIVE_PRIVILEGES_ATTACHED
Kebijakan IAM adalah cara untuk memberikan hak istimewa kepada pengguna, grup, atau peran. Sebaiknya dan dianggap sebagai saran keamanan standar untuk memberikan hak istimewa terendah -yaitu, hanya memberikan izin yang diperlukan untuk melakukan tugas. Tentukan hal yang perlu dilakukan pengguna, lalu buat kebijakan untuk mereka yang mengizinkan pengguna hanya melakukan tugas tersebut, bukan mengizinkan hak istimewa administratif penuh.
Rekomendasi: Pastikan kebijakan IAM yang mengizinkan hak istimewa administratif "*:*" penuh tidak terpasang Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Lakukan tindakan berikut untuk melepaskan kebijakan yang memiliki hak istimewa administratif penuh:
- Login ke AWS Management Console, lalu buka konsol IAM di https://console.aws.amazon.com/iam/.
- Di panel navigasi, klik Kebijakan, lalu telusuri nama kebijakan yang ditemukan di langkah audit.
- Pilih kebijakan yang perlu dihapus.
- Di menu tindakan kebijakan, pilih
Detach
pertama - Pilih semua Pengguna, Grup, Peran yang memiliki kebijakan ini terlampir
- Klik
Detach Policy
- Di menu tindakan kebijakan, pilih
Detach
CLI AWS
Lakukan tindakan berikut untuk melepaskan kebijakan yang memiliki hak istimewa administratif penuh seperti yang ditemukan dalam langkah audit:
- Mencantumkan semua pengguna, grup, dan peran IAM yang terkait dengan kebijakan terkelola yang ditentukan.
aws iam list-entities-for-policy --policy-arn <policy_arn>
- Lepaskan kebijakan dari semua Pengguna IAM:
aws iam detach-user-policy --user-name <iam_user> --policy-arn <policy_arn>
- Lepaskan kebijakan dari semua Grup IAM:
aws iam detach-group-policy --group-name <iam_group> --policy-arn <policy_arn>
- Lepaskan kebijakan dari semua Peran IAM:
aws iam detach-role-policy --role-name <iam_role> --policy-arn <policy_arn>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIam Users Receive Permissions Groups
Nama kategori di API: IAM_USERS_RECEIVE_PERMISSIONS_GROUPS
Pengguna IAM diberi akses ke layanan, fungsi, dan data melalui kebijakan IAM. Ada empat cara untuk menentukan kebijakan bagi pengguna: 1) Mengedit kebijakan pengguna secara langsung, alias kebijakan inline, atau pengguna; 2) melampirkan kebijakan langsung ke pengguna; 3) menambahkan pengguna ke grup IAM yang memiliki kebijakan terlampir; 4) menambahkan pengguna ke grup IAM yang memiliki kebijakan inline.
Hanya penerapan ketiga yang direkomendasikan.
Rekomendasi: Pastikan Pengguna IAM Hanya Menerima Izin Melalui GrupLakukan langkah-langkah berikut untuk membuat grup IAM dan menetapkan kebijakan ke grup tersebut:
- Login ke AWS Management Console, lalu buka konsol IAM di https://console.aws.amazon.com/iam/.
- Di panel navigasi, klik
Groups
, lalu klikCreate New Group
. - Di kotak
Group Name
, ketik nama grup, lalu klikNext Step
. - Dalam daftar kebijakan, centang kotak untuk setiap kebijakan yang ingin Anda terapkan ke semua anggota grup. Kemudian, klik
Next Step
. - Klik
Create Group
Lakukan tindakan berikut untuk menambahkan pengguna ke grup tertentu:
- Login ke AWS Management Console, lalu buka konsol IAM di https://console.aws.amazon.com/iam/.
- Di panel navigasi, klik
Groups
- Pilih grup yang akan ditambahkan pengguna
- Klik
Add Users To Group
- Pilih pengguna yang akan ditambahkan ke grup
- Klik
Add Users
Lakukan tindakan berikut untuk menghapus pengaitan langsung antara pengguna dan kebijakan:
- Login ke AWS Management Console, lalu buka konsol IAM di https://console.aws.amazon.com/iam/.
- Di panel navigasi kiri, klik Pengguna
- Untuk setiap pengguna:
- Pilih pengguna
- Klik tabPermissions
- LuaskanPermissions policies
- KlikX
untuk setiap kebijakan; lalu klik Lepaskan atau Hapus (bergantung pada jenis kebijakan)
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIam User Group Membership Check
Nama kategori di API: IAM_USER_GROUP_MEMBERSHIP_CHECK
Pengguna IAM harus selalu menjadi bagian dari grup IAM untuk mematuhi praktik terbaik keamanan IAM.
Dengan menambahkan pengguna ke grup, Anda dapat berbagi kebijakan di antara jenis pengguna.
Rekomendasi: Memeriksa apakah pengguna IAM adalah anggota dari setidaknya satu grup IAM Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
resource "aws_iam_user" "example" {
name = "test-iam-user"
path = "/users/dev/"
}
resource "aws_iam_group" "example" {
name = "Developers"
path = "/users/dev/"
}
resource "aws_iam_user_group_membership" "example" {
user = aws_iam_user.example.name
groups = [aws_iam_group.example.name]
}
Konsol AWS
Saat Anda menggunakan AWS Management Console untuk menghapus pengguna IAM, IAM akan otomatis menghapus informasi berikut untuk Anda:
- Pengguna
- Semua keanggotaan grup pengguna—yaitu, pengguna dihapus dari grup pengguna IAM yang menjadi anggotanya
- Setiap sandi yang terkait dengan pengguna
- Kunci akses apa pun milik pengguna
- Semua kebijakan inline yang disematkan di pengguna (kebijakan yang diterapkan ke pengguna melalui izin grup pengguna tidak terpengaruh)
Untuk menghapus pengguna IAM:
- Masuk ke Konsol Pengelolaan dan buka konsol IAM di https://console.aws.amazon.com/iam/.
- Di panel navigasi, pilih Users, lalu centang kotak di samping nama pengguna yang ingin Anda hapus.
- Di bagian atas halaman, pilih Hapus.
- Di kotak dialog konfirmasi, masukkan nama pengguna di kolom input teks untuk mengonfirmasi penghapusan pengguna.
- Pilih Hapus.
Untuk menambahkan pengguna ke grup pengguna IAM:
- Masuk ke Konsol Pengelolaan dan buka konsol IAM di https://console.aws.amazon.com/iam/.
- Di panel navigasi, pilih Grup pengguna, lalu pilih nama grup.
- Pilih tab Pengguna, lalu pilih Tambahkan pengguna. Centang kotak di samping pengguna yang ingin Anda tambahkan.
- Pilih Tambahkan pengguna.
CLI AWS
Tidak seperti Amazon Web Services Management Console, saat menghapus pengguna secara terprogram, Anda harus menghapus item yang dilampirkan ke pengguna secara manual, atau penghapusan akan gagal.
Sebelum mencoba menghapus pengguna, hapus item berikut:
- Sandi ( DeleteLoginProfile )
- Kunci akses ( DeleteAccessKey )
- Sertifikat penandatanganan ( DeleteSigningCertificate )
- Kunci publik SSH ( DeleteSSHPublicKey )
- Kredensial Git ( DeleteServiceSpecificCredential )
- Perangkat autentikasi multi-faktor (MFA) ( DeactivateMFADevice , DeleteVirtualMFADevice )
- Kebijakan inline ( DeleteUserPolicy )
- Kebijakan terkelola yang dilampirkan ( DetachUserPolicy )
- Keanggotaan grup ( RemoveUserFromGroup )
Untuk menghapus pengguna, setelah menghapus semua item yang terpasang ke pengguna:
aws iam delete-user \
--user-name "test-user"
Untuk menambahkan pengguna IAM ke grup IAM:
aws iam add-user-to-group \
--group-name "test-group"
--user-name "test-user"
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIam User Mfa Enabled
Nama kategori di API: IAM_USER_MFA_ENABLED
Autentikasi multi-faktor (MFA) adalah praktik terbaik yang menambahkan lapisan perlindungan ekstra di atas nama pengguna dan sandi. Dengan MFA, saat pengguna login ke AWS Management Console, mereka diwajibkan untuk memberikan kode autentikasi yang sensitif terhadap waktu, yang diberikan oleh perangkat virtual atau fisik terdaftar.
Rekomendasi: Memeriksa apakah autentikasi multi-faktor (MFA) pengguna AWS IAM diaktifkan atau tidak Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk Terraform, ada beberapa opsi untuk mengatasi tidak adanya perangkat MFA. Anda mungkin sudah memiliki struktur yang masuk akal untuk mengatur pengguna ke dalam grup dan kebijakan yang membatasi.
Contoh berikut menunjukkan cara:
- Buat pengguna.
- Buat profil login pengguna dengan Kunci Publik PGP.
- Buat grup dan kebijakan grup yang memungkinkan pengelolaan mandiri profil IAM.
- Melampirkan pengguna ke grup.
- Membuat perangkat MFA Virtual untuk pengguna.
- Berikan Kode QR dan sandi output kepada setiap pengguna.
variable "users" {
type = set(string)
default = [
"test@example.com",
"test2@example.com"
]
}
resource "aws_iam_user" "test_users" {
for_each = toset(var.users)
name = each.key
}
resource "aws_iam_user_login_profile" "test_users_profile" {
for_each = var.users
user = each.key
# Key pair created using GnuPG, this is the public key
pgp_key = file("path/to/gpg_pub_key_base64.pem")
password_reset_required = true
lifecycle {
ignore_changes = [
password_length,
password_reset_required,
pgp_key,
]
}
}
resource "aws_iam_virtual_mfa_device" "test_mfa" {
for_each = toset(var.users)
virtual_mfa_device_name = each.key
}
resource "aws_iam_group" "enforce_mfa_group" {
name = "EnforceMFAGroup"
}
resource "aws_iam_group_membership" "enforce_mfa_group_membership" {
name = "EnforceMFAGroupMembership"
group = aws_iam_group.enforce_mfa_group.name
users = [for k in aws_iam_user.test_users : k.name]
}
resource "aws_iam_group_policy" "enforce_mfa_policy" {
name = "EnforceMFAGroupPolicy"
group = aws_iam_group.enforce_mfa_group.id
policy = <<POLICY
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowViewAccountInfo",
"Effect": "Allow",
"Action": [
"iam:GetAccountPasswordPolicy",
"iam:ListVirtualMFADevices"
],
"Resource": "*"
},
{
"Sid": "AllowManageOwnPasswords",
"Effect": "Allow",
"Action": [
"iam:ChangePassword",
"iam:GetUser"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnAccessKeys",
"Effect": "Allow",
"Action": [
"iam:CreateAccessKey",
"iam:DeleteAccessKey",
"iam:ListAccessKeys",
"iam:UpdateAccessKey"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnSigningCertificates",
"Effect": "Allow",
"Action": [
"iam:DeleteSigningCertificate",
"iam:ListSigningCertificates",
"iam:UpdateSigningCertificate",
"iam:UploadSigningCertificate"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnSSHPublicKeys",
"Effect": "Allow",
"Action": [
"iam:DeleteSSHPublicKey",
"iam:GetSSHPublicKey",
"iam:ListSSHPublicKeys",
"iam:UpdateSSHPublicKey",
"iam:UploadSSHPublicKey"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnGitCredentials",
"Effect": "Allow",
"Action": [
"iam:CreateServiceSpecificCredential",
"iam:DeleteServiceSpecificCredential",
"iam:ListServiceSpecificCredentials",
"iam:ResetServiceSpecificCredential",
"iam:UpdateServiceSpecificCredential"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnVirtualMFADevice",
"Effect": "Allow",
"Action": [
"iam:CreateVirtualMFADevice",
"iam:DeleteVirtualMFADevice"
],
"Resource": "arn:aws:iam::*:mfa/$${aws:username}"
},
{
"Sid": "AllowManageOwnUserMFA",
"Effect": "Allow",
"Action": [
"iam:DeactivateMFADevice",
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ResyncMFADevice"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "DenyAllExceptListedIfNoMFA",
"Effect": "Deny",
"NotAction": [
"iam:CreateVirtualMFADevice",
"iam:EnableMFADevice",
"iam:GetUser",
"iam:ListMFADevices",
"iam:ListVirtualMFADevices",
"iam:ResyncMFADevice",
"sts:GetSessionToken"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
POLICY
}
output "user_password_map" {
# Outputs a map in the format {"test@example.com": <PGPEncryptedPassword>, "test2@example.com": <PGPEncryptedPassword>}
value = { for k, v in aws_iam_user_login_profile.test_users_profile : k => v.password }
}
output "user_qr_map" {
# Outputs a map in the format {"test@example.com": <QRCode>, "test2@example.com": <QRCode>}
value = { for k, v in aws_iam_virtual_mfa_device.test_mfa : k => v.qr_code_png }
}
Konsol AWS
Untuk mengaktifkan MFA bagi akun pengguna yang memiliki akses konsol AWS, lihat Mengaktifkan perangkat autentikasi multi-faktor (MFA) virtual (konsol) dalam dokumentasi AWS.
CLI AWS
Membuat perangkat MFA
aws iam create-virtual-mfa-device \
--virtual-mfa-device-name "test@example.com" \
--outfile ./QRCode.png \
--bootstrap-method QRCodePNG
Mengaktifkan perangkat MFA untuk pengguna yang ada
aws iam enable-mfa-device \
--user-name "test@example.com" \
--serial-number "arn:aws:iam::123456976749:mfa/test@example.com" \
--authentication-code1 123456 \
--authentication-code2 654321
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariIam User Unused Credentials Check
Nama kategori di API: IAM_USER_UNUSED_CREDENTIALS_CHECK
Tindakan ini akan memeriksa sandi IAM atau kunci akses aktif yang belum digunakan dalam 90 hari terakhir.
Praktik terbaik merekomendasikan agar Anda menghapus, menonaktifkan, atau merotasi semua kredensial yang tidak digunakan selama 90 hari atau lebih. Hal ini mengurangi peluang kredensial yang terkait dengan akun yang disusupi atau ditinggalkan untuk digunakan.
Rekomendasi: Memeriksa apakah semua pengguna AWS IAM memiliki sandi atau kunci akses aktif yang belum digunakan dalam maxCredentialUsageAge hari (default-nya 90) Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk menghapus Kunci Akses yang sudah tidak berlaku yang dibuat melalui Terraform, hapus resource aws_iam_access_key
dari modul Anda dan terapkan perubahan.
Untuk mereset sandi login pengguna IAM, gunakan -replace
saat menjalankan terraform apply
.
Misalkan profil login pengguna berikut
resource "aws_iam_user" "example" {
name = "test@example.com"
path = "/users/"
force_destroy = true
}
resource "aws_iam_user_login_profile" "example" {
user = aws_iam_user.example.name
pgp_key = "keybase:some_person_that_exists"
}
Jalankan perintah berikut untuk mereset sandi profil login pengguna
terraform apply -replace="aws_iam_user_login_profile.example"
Konsol AWS
Untuk menonaktifkan kredensial untuk akun yang tidak aktif:
- Buka konsol IAM di https://console.aws.amazon.com/iam/.
- Pilih Pengguna.
- Pilih nama pengguna yang memiliki kredensial yang sudah lebih dari 90 hari/terakhir digunakan.
- Pilih Kredensial keamanan.
- Untuk setiap kredensial login dan kunci akses yang belum digunakan setidaknya selama 90 hari, pilih Buat tidak aktif.
Untuk mewajibkan sandi baru dari pengguna konsol saat login berikutnya:
- Buka konsol IAM di https://console.aws.amazon.com/iam/.
- Pilih Pengguna.
- Pilih nama pengguna yang memiliki kredensial yang sudah lebih dari 90 hari/terakhir digunakan.
- Pilih Kredensial keamanan.
- Di bagian Kredensial login dan sandi konsol, pilih Kelola.
- Tetapkan sandi baru (dibuat otomatis atau kustom).
- Centang kotak untuk Wajibkan reset sandi.
- Pilih Terapkan.
CLI AWS
Untuk menonaktifkan Kunci Akses
aws iam update-access-key \
--access-key-id <value> \
--status "Inactive"
Untuk menghapus Kunci Akses
aws iam delete-access-key \
--access-key-id <value>
Untuk mereset sandi profil login pengguna
aws iam update-login-profile \
--user-name "test@example.com" \
--password <temporary_password> \
--password-reset-required
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariKms Cmk Not Scheduled For Deletion
Nama kategori di API: KMS_CMK_NOT_SCHEDULED_FOR_DELETION
Kontrol ini memeriksa apakah kunci KMS dijadwalkan untuk dihapus. Kontrol akan gagal jika kunci KMS dijadwalkan untuk dihapus.
Kunci KMS tidak dapat dipulihkan setelah dihapus. Data yang dienkripsi dengan kunci KMS juga tidak dapat dipulihkan secara permanen jika kunci KMS dihapus. Jika data yang penting telah dienkripsi dengan kunci KMS yang dijadwalkan untuk dihapus, pertimbangkan untuk mendekripsi data atau mengenkripsi ulang data dengan kunci KMS baru, kecuali jika Anda sengaja melakukan penghapusan kriptografis.
Saat kunci KMS dijadwalkan untuk dihapus, periode tunggu wajib diterapkan untuk memberi waktu guna membatalkan penghapusan, jika kunci dijadwalkan secara keliru. Periode tunggu default adalah 30 hari, tetapi dapat dikurangi menjadi 7 hari saat kunci KMS dijadwalkan untuk dihapus. Selama periode tunggu, penghapusan terjadwal dapat dibatalkan dan kunci KMS tidak akan dihapus.
Untuk informasi tambahan terkait penghapusan kunci KMS, lihat Menghapus kunci KMS di Panduan Developer AWS Key Management Service.
Rekomendasi: Memeriksa apakah semua CMK tidak dijadwalkan untuk dihapusUntuk membatalkan penghapusan kunci KMS terjadwal, lihat Untuk membatalkan penghapusan kunci di bagian Menjadwalkan dan membatalkan penghapusan kunci (konsol) di Panduan Developer AWS Key Management Service.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLambda Concurrency Check
Nama kategori di API: LAMBDA_CONCURRENCY_CHECK
Memeriksa apakah fungsi Lambda dikonfigurasi dengan batas eksekusi serentak tingkat fungsi. Aturannya adalah NON_COMPLIANT jika fungsi Lambda tidak dikonfigurasi dengan batas eksekusi serentak tingkat fungsi.
Rekomendasi: Memeriksa apakah fungsi Lambda dikonfigurasi dengan batas eksekusi serentak tingkat fungsiUntuk mengonfigurasi batas eksekusi serentak tingkat fungsi, lihat Mengonfigurasi konkurensi yang dicadangkan dalam dokumentasi AWS Lambda.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLambda Dlq Check
Nama kategori di API: LAMBDA_DLQ_CHECK
Memeriksa apakah fungsi Lambda dikonfigurasi dengan antrean pesan yang dihentikan pengirimannya. Aturannya adalah NON_COMPLIANT jika fungsi Lambda tidak dikonfigurasi dengan antrean pesan yang dihentikan pengirimannya.
Rekomendasi: Memeriksa apakah fungsi Lambda dikonfigurasi dengan antrean pesan yang dihentikan pengirimannyaUntuk mengupdate fungsi Lambda agar menggunakan DLQ, lihat Antrean pesan yang tidak terkirim dalam dokumentasi AWS.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLambda Function Public Access Prohibited
Nama kategori di API: LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED
Praktik terbaik AWS merekomendasikan agar fungsi Lambda tidak diekspos secara publik. Kebijakan ini memeriksa semua fungsi Lambda yang di-deploy di semua wilayah yang diaktifkan dalam akun Anda dan akan gagal jika dikonfigurasi untuk mengizinkan akses publik.
Rekomendasi: Memeriksa apakah kebijakan yang disematkan ke fungsi Lambda melarang akses publik Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Contoh berikut memberikan contoh penggunaan Terraform untuk menyediakan peran IAM yang membatasi akses ke fungsi Lambda dan melampirkan peran tersebut ke fungsi Lambda
resource "aws_iam_role" "iam_for_lambda" {
name = "iam_for_lambda"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
EOF
}
resource "aws_lambda_function" "test_lambda" {
filename = "lambda_function_payload.zip"
function_name = "lambda_function_name"
role = aws_iam_role.iam_for_lambda.arn
handler = "index.test"
source_code_hash = filebase64sha256("lambda_function_payload.zip")
runtime = "nodejs12.x"
}
Konsol AWS
Jika fungsi Lambda gagal dalam kontrol ini, hal ini menunjukkan bahwa pernyataan kebijakan berbasis resource untuk fungsi Lambda mengizinkan akses publik.
Untuk memperbaiki masalah ini, Anda harus memperbarui kebijakan untuk menghapus izin atau menambahkan kondisi AWS:SourceAccount
. Anda hanya dapat memperbarui kebijakan berbasis resource dari Lambda API.
Petunjuk berikut menggunakan konsol untuk meninjau kebijakan dan Antarmuka Command Line AWS untuk menghapus izin.
Untuk melihat kebijakan berbasis resource untuk fungsi Lambda
- Buka konsol AWS Lambda di https://console.aws.amazon.com/lambda/.
- Di panel navigasi, pilih Fungsi.
- Pilih fungsi.
- Pilih Izin. Kebijakan berbasis resource menunjukkan izin yang diterapkan saat akun atau layanan AWS lain mencoba mengakses fungsi.
- Periksa kebijakan berbasis resource.
- Identifikasi pernyataan kebijakan yang memiliki nilai kolom Akun utama yang membuat kebijakan menjadi publik. Misalnya, mengizinkan
"*"
atau{ "AWS": "*" }
.
Anda tidak dapat mengedit kebijakan dari konsol. Untuk menghapus izin dari fungsi, Anda menggunakan perintah remove-permission dari AWS CLI.
Perhatikan nilai ID pernyataan (Sid) untuk pernyataan yang ingin Anda hapus.
CLI AWS
Untuk menggunakan CLI guna menghapus izin dari fungsi Lambda, berikan perintah remove-permission
sebagai berikut.
aws lambda remove-permission \
--function-name <value> \
--statement-id <value>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariLambda Inside Vpc
Nama kategori di API: LAMBDA_INSIDE_VPC
Memeriksa apakah fungsi Lambda berada di VPC. Anda mungkin melihat temuan yang gagal untuk resource Lambda@Edge.
Pemeriksaan ini tidak mengevaluasi konfigurasi perutean subnet VPC untuk menentukan keterjangkauan publik.
Rekomendasi: Memeriksa apakah fungsi Lambda ada dalam VPC Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Untuk mengonfigurasi fungsi agar terhubung ke subnet pribadi di virtual private cloud (VPC) di akun Anda:
- Buka konsol AWS Lambda di https://console.aws.amazon.com/lambda/.
- Buka Fungsi, lalu pilih fungsi Lambda Anda.
- Scroll ke Jaringan, lalu pilih VPC dengan persyaratan konektivitas fungsi.
- Untuk menjalankan fungsi dalam mode ketersediaan tinggi, Security Hub merekomendasikan agar Anda memilih minimal dua subnet.
- Pilih minimal satu grup keamanan yang memiliki persyaratan konektivitas fungsi.
- Pilih Simpan.
Untuk informasi selengkapnya, lihat bagian tentang mengonfigurasi fungsi Lambda untuk mengakses resource di VPC dalam Panduan Developer AWS Lambda.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariMfa Delete Enabled S3 Buckets
Nama kategori di API: MFA_DELETE_ENABLED_S3_BUCKETS
Setelah Hapus MFA diaktifkan di bucket S3 sensitif dan rahasia, pengguna harus memiliki dua bentuk autentikasi.
Rekomendasi: Pastikan Hapus MFA diaktifkan di bucket S3Lakukan langkah-langkah di bawah untuk mengaktifkan penghapusan MFA di bucket S3.
Catatan:
-Anda tidak dapat mengaktifkan Penghapusan MFA menggunakan AWS Management Console. Anda harus menggunakan AWS CLI atau API.
-Anda harus menggunakan akun 'root' untuk mengaktifkan Hapus MFA di bucket S3.
Dari Command line:
- Jalankan perintah s3api put-bucket-versioning
aws s3api put-bucket-versioning --profile my-root-profile --bucket Bucket_Name --versioning-configuration Status=Enabled,MFADelete=Enabled --mfa “arn:aws:iam::aws_account_id:mfa/root-account-mfa-device passcode”
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariMfa Enabled Root User Account
Nama kategori di API: MFA_ENABLED_ROOT_USER_ACCOUNT
Akun pengguna 'root' adalah pengguna dengan hak istimewa paling tinggi di akun AWS. Autentikasi Multi-faktor (MFA) menambahkan lapisan perlindungan tambahan di atas nama pengguna dan sandi. Dengan MFA diaktifkan, saat pengguna login ke situs AWS, mereka akan diminta untuk memasukkan nama pengguna dan sandi serta kode autentikasi dari perangkat AWS MFA mereka.
Catatan: Jika MFA virtual digunakan untuk akun 'root', sebaiknya perangkat yang digunakan BUKAN perangkat pribadi, tetapi perangkat seluler khusus (tablet atau ponsel) yang dikelola agar tetap terisi daya dan aman, terlepas dari perangkat pribadi masing-masing. ("MFA virtual non-pribadi") Hal ini mengurangi risiko kehilangan akses ke MFA karena kehilangan perangkat, menukarkan perangkat, atau jika individu yang memiliki perangkat tidak lagi bekerja di perusahaan.
Rekomendasi: Pastikan MFA diaktifkan untuk akun pengguna 'root'Lakukan hal berikut untuk menetapkan MFA untuk akun pengguna 'root':
- Login ke AWS Management Console, lalu buka konsol IAM di https://console.aws.amazon.com/iam/.
Catatan: untuk mengelola perangkat MFA untuk akun AWS 'root', Anda harus menggunakan kredensial akun 'root' untuk login ke AWS. Anda tidak dapat mengelola perangkat MFA untuk akun 'root' menggunakan kredensial lain.
- Pilih
Dashboard
, dan di bagianSecurity Status
, luaskanActivate MFA
di akun root Anda. - Pilih
Activate MFA
- Di wizard, pilih perangkat
A virtual MFA
, lalu pilihNext Step
. - IAM membuat dan menampilkan informasi konfigurasi untuk perangkat MFA virtual, termasuk gambar kode QR. Grafik ini adalah representasi dari 'kunci konfigurasi rahasia' yang tersedia untuk entri manual di perangkat yang tidak mendukung kode QR.
- Buka aplikasi MFA virtual Anda. (Untuk daftar aplikasi yang dapat Anda gunakan untuk menghosting perangkat MFA virtual, lihat Aplikasi MFA Virtual.) Jika aplikasi MFA virtual mendukung beberapa akun (beberapa perangkat MFA virtual), pilih opsi untuk membuat akun baru (perangkat MFA virtual baru).
- Tentukan apakah aplikasi MFA mendukung kode QR, lalu lakukan salah satu tindakan berikut:
- Gunakan aplikasi untuk memindai kode QR. Misalnya, Anda dapat memilih ikon kamera atau memilih opsi yang mirip dengan Pindai kode, lalu menggunakan kamera perangkat untuk memindai kode.
- Di wizard Kelola Perangkat MFA, pilih Tampilkan kunci rahasia untuk konfigurasi manual, lalu ketik kunci konfigurasi rahasia ke dalam aplikasi MFA Anda.
Setelah selesai, perangkat MFA virtual akan mulai membuat sandi sekali pakai.
Di wizard Kelola Perangkat MFA, di kotak Authentication Code 1, ketik sandi sekali pakai yang saat ini muncul di perangkat MFA virtual. Tunggu hingga 30 detik agar perangkat membuat sandi sekali pakai baru. Kemudian, ketik sandi sekali pakai kedua ke dalam kotak Authentication Code 2. Pilih Tetapkan MFA Virtual.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariMulti Factor Authentication Mfa Enabled All Iam Users Console
Nama kategori di API: MULTI_FACTOR_AUTHENTICATION_MFA_ENABLED_ALL_IAM_USERS_CONSOLE
Autentikasi Multi-Faktor (MFA) menambahkan lapisan jaminan autentikasi tambahan di luar kredensial tradisional. Dengan MFA diaktifkan, saat pengguna login ke AWS Console, mereka akan diminta memasukkan nama pengguna dan sandi serta kode autentikasi dari token MFA fisik atau virtual mereka. Sebaiknya MFA diaktifkan untuk semua akun yang memiliki sandi konsol.
Rekomendasi: Pastikan autentikasi multi-faktor (MFA) diaktifkan untuk semua pengguna IAM yang memiliki sandi konsol Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console dan buka konsol IAM di 'https://console.aws.amazon.com/iam/'
- Di panel kiri, pilih
Users
. - Dalam daftar
User Name
, pilih nama pengguna MFA yang diinginkan. - Pilih tab
Security Credentials
, lalu pilihManage MFA Device
. - Di
Manage MFA Device wizard
, pilih perangkatVirtual MFA
, lalu pilihContinue
.
IAM membuat dan menampilkan informasi konfigurasi untuk perangkat MFA virtual, termasuk gambar kode QR. Grafik ini adalah representasi dari 'kunci konfigurasi rahasia' yang tersedia untuk entri manual di perangkat yang tidak mendukung kode QR.
- Buka aplikasi MFA virtual Anda. (Untuk daftar aplikasi yang dapat Anda gunakan untuk menghosting perangkat MFA virtual, lihat Aplikasi MFA Virtual di https://aws.amazon.com/iam/details/mfa/#Virtual_MFA_Applications). Jika aplikasi MFA virtual mendukung beberapa akun (beberapa perangkat MFA virtual), pilih opsi untuk membuat akun baru (perangkat MFA virtual baru).
- Tentukan apakah aplikasi MFA mendukung kode QR, lalu lakukan salah satu tindakan berikut:
- Gunakan aplikasi untuk memindai kode QR. Misalnya, Anda dapat memilih ikon kamera atau memilih opsi yang mirip dengan Pindai kode, lalu menggunakan kamera perangkat untuk memindai kode.
- Di wizard Kelola Perangkat MFA, pilih Tampilkan kunci rahasia untuk konfigurasi manual, lalu ketik kunci konfigurasi rahasia ke dalam aplikasi MFA Anda.
Setelah selesai, perangkat MFA virtual akan mulai membuat sandi sekali pakai.
-
Di
Manage MFA Device wizard
, diMFA Code 1 box
, ketikone-time password
yang saat ini muncul di perangkat MFA virtual. Tunggu hingga 30 detik agar perangkat membuat sandi sekali pakai baru. Kemudian, ketikone-time password
kedua ke dalamMFA Code 2 box
. -
Klik
Assign MFA
.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNo Network Acls Allow Ingress 0 0 0 0 Remote Server Administration
Nama kategori di API: NO_NETWORK_ACLS_ALLOW_INGRESS_0_0_0_0_REMOTE_SERVER_ADMINISTRATION
Fungsi Daftar Kontrol Akses Jaringan (NACL) menyediakan pemfilteran stateless traffic jaringan masuk dan keluar ke resource AWS. Sebaiknya tidak ada NACL yang mengizinkan akses masuk yang tidak dibatasi ke port administrasi server jarak jauh, seperti SSH ke port 22
dan RDP ke port 3389
, menggunakan protokol TDP (6), UDP (17), atau ALL (-1)
Konsol AWS
Lakukan tindakan berikut:
1. Login ke AWS Management Console di https://console.aws.amazon.com/vpc/home
2. Di panel kiri, klik Network ACLs
3. Untuk setiap ACL jaringan yang akan diperbaiki, lakukan tindakan berikut:
- Pilih ACL jaringan
- Klik tab Inbound Rules
- Klik Edit inbound rules
- A) Perbarui kolom Sumber ke rentang selain 0.0.0.0/0, atau, B) Klik Delete
untuk menghapus aturan masuk yang melanggar
- Klik Save
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNo Root User Account Access Key Exists
Nama kategori di API: NO_ROOT_USER_ACCOUNT_ACCESS_KEY_EXISTS
Akun pengguna 'root' adalah pengguna dengan hak istimewa paling tinggi di akun AWS. Kunci Akses AWS memberikan akses terprogram ke akun AWS tertentu. Sebaiknya hapus semua kunci akses yang terkait dengan akun pengguna 'root'.
Rekomendasi: Pastikan tidak ada kunci akses akun pengguna 'root' Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console sebagai 'root' dan buka konsol IAM di https://console.aws.amazon.com/iam/.
- Klik
<root_account>
di kanan atas dan pilihMy Security Credentials
dari menu drop-down. - Di layar pop-out, klik
Continue to Security Credentials
. - Klik
Access Keys
(Access Key ID dan Secret Access Key). - Di kolom
Status
(jika ada Kunci yang aktif). - Klik
Delete
(Catatan: Kunci yang dihapus tidak dapat dipulihkan).
Catatan: Meskipun kunci dapat dinonaktifkan, kunci yang tidak aktif ini akan tetap muncul di perintah CLI dari prosedur audit, dan dapat menyebabkan kunci salah ditandai sebagai tidak mematuhi kebijakan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNo Security Groups Allow Ingress 0 0 0 0 Remote Server Administration
Nama kategori di API: NO_SECURITY_GROUPS_ALLOW_INGRESS_0_0_0_0_REMOTE_SERVER_ADMINISTRATION
Grup keamanan menyediakan pemfilteran stateful traffic jaringan masuk dan keluar ke resource AWS. Sebaiknya tidak ada grup keamanan yang mengizinkan akses masuk yang tidak dibatasi ke port administrasi server jarak jauh, seperti SSH ke port 22
dan RDP ke port 3389
, menggunakan protokol TDP (6), UDP (17), atau ALL (-1)
Lakukan hal berikut untuk menerapkan status yang ditentukan:
- Login ke AWS Management Console di https://console.aws.amazon.com/vpc/home
- Di panel kiri, klik
Security Groups
- Untuk setiap grup keamanan, lakukan hal berikut:
- Pilih grup keamanan
- Klik tab
Inbound Rules
- Klik tombol
Edit inbound rules
- Identifikasi aturan yang akan diedit atau dihapus
- A) Perbarui kolom Sumber ke rentang selain 0.0.0.0/0, atau, B) Klik
Delete
untuk menghapus aturan masuk yang melanggar - Klik
Save rules
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariNo Security Groups Allow Ingress 0 Remote Server Administration
Nama kategori di API: NO_SECURITY_GROUPS_ALLOW_INGRESS_0_REMOTE_SERVER_ADMINISTRATION
Grup keamanan menyediakan pemfilteran stateful traffic jaringan masuk dan keluar ke resource AWS. Sebaiknya tidak ada grup keamanan yang mengizinkan akses masuk yang tidak dibatasi ke port administrasi server jarak jauh, seperti SSH ke port 22
dan RDP ke port 3389
.
Lakukan hal berikut untuk menerapkan status yang ditentukan:
- Login ke AWS Management Console di https://console.aws.amazon.com/vpc/home
- Di panel kiri, klik
Security Groups
- Untuk setiap grup keamanan, lakukan hal berikut:
- Pilih grup keamanan
- Klik tab
Inbound Rules
- Klik tombol
Edit inbound rules
- Identifikasi aturan yang akan diedit atau dihapus
- A) Perbarui kolom Sumber ke rentang selain ::/0, atau, B) Klik
Delete
untuk menghapus aturan masuk yang melanggar - Klik
Save rules
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariOne Active Access Key Available Any Single Iam User
Nama kategori di API: ONE_ACTIVE_ACCESS_KEY_AVAILABLE_ANY_SINGLE_IAM_USER
Kunci akses adalah kredensial jangka panjang untuk pengguna IAM atau pengguna 'root' akun AWS. Anda dapat menggunakan kunci akses untuk menandatangani permintaan terprogram ke AWS CLI atau AWS API (secara langsung atau menggunakan AWS SDK)
Rekomendasi: Pastikan hanya ada satu kunci akses aktif yang tersedia untuk pengguna IAM tunggal apa pun Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console dan buka dasbor IAM di
https://console.aws.amazon.com/iam/
. - Di panel navigasi kiri, pilih
Users
. - Klik nama pengguna IAM yang ingin Anda periksa.
- Di halaman konfigurasi pengguna IAM, pilih tab
Security Credentials
. - Di bagian
Access Keys
, pilih satu kunci akses yang berumur kurang dari 90 hari. Ini harus menjadi satu-satunya kunci aktif yang digunakan oleh pengguna IAM ini untuk mengakses resource AWS secara terprogram. Uji aplikasi Anda untuk memastikan kunci akses yang dipilih berfungsi. - Di bagian
Access Keys
yang sama, identifikasi kunci akses non-operasional Anda (selain yang dipilih) dan nonaktifkan dengan mengklik linkMake Inactive
. - Jika Anda menerima kotak konfirmasi
Change Key Status
, klikDeactivate
untuk menonaktifkan kunci yang dipilih. - Ulangi langkah no. 3 – 7 untuk setiap pengguna IAM di akun AWS Anda.
CLI AWS
-
Dengan menggunakan informasi pengguna IAM dan kunci akses yang diberikan di
Audit CLI
, pilih satu kunci akses yang berusia kurang dari 90 hari. Ini harus menjadi satu-satunya kunci aktif yang digunakan oleh pengguna IAM ini untuk mengakses resource AWS secara terprogram. Uji aplikasi Anda untuk memastikan kunci akses yang dipilih berfungsi. -
Jalankan perintah
update-access-key
di bawah menggunakan nama pengguna IAM dan ID kunci akses non-operasional untuk menonaktifkan kunci yang tidak diperlukan. Lihat bagian Audit untuk mengidentifikasi ID kunci akses yang tidak diperlukan untuk pengguna IAM yang dipilih
Catatan - perintah tidak menampilkan output apa pun:
aws iam update-access-key --access-key-id <access-key-id> --status Inactive --user-name <user-name>
- Untuk mengonfirmasi bahwa pasangan kunci akses yang dipilih telah berhasil
deactivated
, jalankan lagi perintah auditlist-access-keys
untuk Pengguna IAM tersebut:
aws iam list-access-keys --user-name <user-name>
- Output perintah akan mengekspos metadata untuk setiap kunci akses yang terkait dengan pengguna IAM. Jika pasangan kunci non-operasional
Status
disetel keInactive
, kunci telah berhasil dinonaktifkan dan konfigurasi akses pengguna IAM kini mematuhi rekomendasi ini.
- Ulangi langkah no. 1 – 3 untuk setiap pengguna IAM di akun AWS Anda.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariPublic Access Given Rds Instance
Nama kategori di API: PUBLIC_ACCESS_GIVEN_RDS_INSTANCE
Pastikan dan verifikasi bahwa instance database RDS yang disediakan di akun AWS Anda membatasi akses tidak sah untuk meminimalkan risiko keamanan. Untuk membatasi akses ke instance database RDS yang dapat diakses secara publik, Anda harus menonaktifkan tanda Dapat Diakses Secara Publik pada database dan memperbarui grup keamanan VPC yang terkait dengan instance.
Rekomendasi: Pastikan akses publik tidak diberikan ke Instance RDS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke konsol pengelolaan AWS, lalu buka dasbor RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi, pada Dasbor RDS, klik
Databases
. - Pilih instance RDS yang ingin Anda perbarui.
- Klik
Modify
dari menu atas dasbor. - Di panel Ubah Instance DB, pada bagian
Connectivity
, klikAdditional connectivity configuration
dan perbarui nilai untukPublicly Accessible
menjadi Tidak dapat diakses secara publik untuk membatasi akses publik. Ikuti langkah-langkah di bawah untuk memperbarui konfigurasi subnet:
- Pilih tabConnectivity and security
, lalu klik nilai atribut VPC di dalam bagianNetworking
.
- Pilih tabDetails
dari panel bawah dasbor VPC, lalu klik Nilai atribut konfigurasi tabel rute.
- Di halaman detail Tabel rute, pilih tab Rute dari panel bawah dasbor, lalu klikEdit routes
.
- Di halaman Edit rute, perbarui Tujuan Target yang ditetapkan keigw-xxxxx
dan klik ruteSave
. - Di panel Ubah Instance DB, klik
Continue
dan Di bagian Penjadwalan perubahan, lakukan salah satu tindakan berikut berdasarkan persyaratan Anda:
- Pilih Terapkan selama periode pemeliharaan terjadwal berikutnya untuk menerapkan perubahan secara otomatis selama periode pemeliharaan terjadwal berikutnya.
- Pilih Terapkan segera untuk langsung menerapkan perubahan. Dengan opsi ini, setiap perubahan yang tertunda akan diterapkan secara asinkron sesegera mungkin, terlepas dari setelan periode pemeliharaan untuk instance database RDS ini. Perhatikan bahwa setiap perubahan yang tersedia di antrean modifikasi yang tertunda juga akan diterapkan. Jika ada modifikasi yang tertunda yang memerlukan periode nonaktif, memilih opsi ini dapat menyebabkan periode nonaktif yang tidak terduga untuk aplikasi. - Ulangi langkah 3 hingga 6 untuk setiap instance RDS yang tersedia di region saat ini.
- Ubah region AWS dari menu navigasi untuk mengulangi proses ini di region lain.
CLI AWS
- Jalankan perintah
describe-db-instances
untuk menampilkan semua ID nama database RDS, yang tersedia di region AWS yang dipilih:
aws rds describe-db-instances --region <region-name> --query 'DBInstances[*].DBInstanceIdentifier'
- Output perintah akan menampilkan setiap ID instance database.
- Jalankan perintah
modify-db-instance
untuk mengubah konfigurasi instance RDS yang dipilih. Kemudian, gunakan perintah berikut untuk menonaktifkan flagPublicly Accessible
untuk instance RDS yang dipilih. Perintah ini menggunakan flag apply-immediately. Jika Anda menginginkanto avoid any downtime --no-apply-immediately flag can be used
:
aws rds modify-db-instance --region <region-name> --db-instance-identifier <db-name> --no-publicly-accessible --apply-immediately
- Output perintah akan menampilkan konfigurasi
PubliclyAccessible
di bagian nilai tertunda dan akan diterapkan pada waktu yang ditentukan. - Memperbarui Tujuan Internet Gateway melalui AWS CLI saat ini tidak didukung. Untuk memperbarui informasi tentang Internet Gateway, gunakan Prosedur Konsol AWS.
- Ulangi langkah 1 hingga 5 untuk setiap instance RDS yang disediakan di region saat ini.
- Ubah region AWS menggunakan filter --region untuk mengulangi proses untuk region lain.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRds Enhanced Monitoring Enabled
Nama kategori di API: RDS_ENHANCED_MONITORING_ENABLED
Pemantauan yang ditingkatkan memberikan metrik real-time pada sistem operasi tempat instance RDS berjalan, melalui agen yang diinstal di instance.
Untuk mengetahui detail selengkapnya, lihat Memantau metrik OS dengan Enhanced Monitoring.
Rekomendasi: Memeriksa apakah pemantauan yang ditingkatkan diaktifkan untuk semua instance DB RDS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk memperbaiki kontrol ini, aktifkan Enhanced Monitoring di instance RDS Anda sebagai berikut:
Buat Peran IAM untuk RDS:
resource "aws_iam_role" "rds_logging" {
name = "CustomRoleForRDSMonitoring"
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = "sts:AssumeRole"
Effect = "Allow"
Sid = "CustomRoleForRDSLogging"
Principal = {
Service = "monitoring.rds.amazonaws.com"
}
},
]
})
}
Ambil Kebijakan Terkelola AWS untuk Pemantauan yang Ditingkatkan RDS:
data "aws_iam_policy" "rds_logging" {
name = "AmazonRDSEnhancedMonitoringRole"
}
Lampirkan kebijakan ke peran:
resource "aws_iam_policy_attachment" "rds_logging" {
name = "AttachRdsLogging"
roles = [aws_iam_role.rds_logging.name]
policy_arn = data.aws_iam_policy.rds_logging.arn
}
Tentukan interval pemantauan dan ARN peran pemantauan ke instance RDS yang melanggar untuk mengaktifkan Pemantauan yang Ditingkatkan:
resource "aws_db_instance" "default" {
identifier = "test-rds"
allocated_storage = 10
engine = "mysql"
engine_version = "5.7"
instance_class = "db.t3.micro"
db_name = "mydb"
username = "foo"
password = "foobarbaz"
parameter_group_name = "default.mysql5.7"
skip_final_snapshot = true
monitoring_interval = 60
monitoring_role_arn = aws_iam_role.rds_logging.arn
}
Konsol AWS
Anda dapat mengaktifkan Enhanced Monitoring saat membuat instance DB, cluster DB Multi-AZ, atau replika baca, atau saat mengubah instance DB atau cluster DB Multi-AZ. Jika mengubah instance DB untuk mengaktifkan Pemantauan yang Ditingkatkan, Anda tidak perlu memulai ulang instance DB agar perubahan tersebut diterapkan.
Anda dapat mengaktifkan Pemantauan yang Ditingkatkan di konsol RDS saat melakukan salah satu tindakan berikut di halaman Database:
- Membuat instance DB atau cluster DB Multi-AZ - Pilih Buat database.
- Membuat replika baca - Pilih Tindakan, lalu Buat replika baca.
- Ubah instance DB atau cluster DB Multi-AZ - Pilih Ubah.
Untuk mengaktifkan atau menonaktifkan Pemantauan yang Ditingkatkan di konsol RDS
- Scroll ke Konfigurasi tambahan.
- Di Pemantauan, pilih Aktifkan Pemantauan yang Ditingkatkan untuk instance DB atau replika baca Anda. Untuk menonaktifkan Pemantauan yang Ditingkatkan, pilih Nonaktifkan Pemantauan yang Ditingkatkan.
- Tetapkan properti Peran Pemantauan ke peran IAM yang Anda buat untuk mengizinkan Amazon RDS berkomunikasi dengan Amazon CloudWatch Logs untuk Anda, atau pilih Default agar RDS membuat peran untuk Anda bernama rds-monitoring-role.
- Tetapkan properti Granularitas ke interval, dalam detik, di antara titik saat metrik dikumpulkan untuk instance DB atau replika baca Anda. Properti Granularitas dapat disetel ke salah satu nilai berikut: 1, 5, 10, 15, 30, atau 60. Konsol RDS dimuat ulang paling cepat setiap 5 detik. Jika Anda menetapkan tingkat perincian ke 1 detik di konsol RDS, Anda masih akan melihat metrik yang diperbarui hanya setiap 5 detik. Anda dapat mengambil pembaruan metrik 1 detik menggunakan CloudWatch Logs.
CLI AWS
Buat peran IAM RDS:
aws iam create-role \
--role-name "CustomRoleForRDSMonitoring" \
--assume-role-policy-document file://rds-assume-role.json
Lampirkan kebijakan AmazonRDSEnhancedMonitoringRole
ke peran:
aws iam attach-role-policy \
--role-name "CustomRoleForRDSMonitoring"\
--policy-arn "arn:aws:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole"
Ubah instance RDS untuk mengaktifkan Enhanced Monitoring, dengan menetapkan --monitoring-interval
dan --monitoring-role-arn
:
aws rds modify-db-instance \
--db-instance-identifier "test-rds" \
--monitoring-interval 30 \
--monitoring-role-arn "arn:aws:iam::<account_id>:role/CustomRoleForRDSMonitoring"
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRds Instance Deletion Protection Enabled
Nama kategori di API: RDS_INSTANCE_DELETION_PROTECTION_ENABLED
Mengaktifkan perlindungan penghapusan instance adalah lapisan perlindungan tambahan terhadap penghapusan database secara tidak sengaja atau penghapusan oleh entitas yang tidak berwenang.
Saat perlindungan penghapusan diaktifkan, instance DB RDS tidak dapat dihapus. Sebelum permintaan penghapusan berhasil, perlindungan penghapusan harus dinonaktifkan.
Rekomendasi: Memeriksa apakah perlindungan penghapusan diaktifkan untuk semua instance RDS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk memperbaiki kontrol ini, tetapkan deletion_protection
ke true
di resource aws_db_instance
.
resource "aws_db_instance" "example" {
# ... other configuration ...
deletion_protection = true
}
Konsol AWS
Untuk mengaktifkan perlindungan penghapusan untuk instance DB RDS
- Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi, pilih Database, lalu pilih instance DB yang ingin Anda ubah.
- Pilih Ubah.
- Di bagian Perlindungan penghapusan, pilih Aktifkan perlindungan penghapusan.
- Pilih Lanjutkan.
- Di bagian Penjadwalan perubahan, pilih waktu untuk menerapkan perubahan. Opsi yang tersedia adalah Terapkan selama periode pemeliharaan terjadwal berikutnya atau Terapkan segera.
- Pilih Ubah Instance DB.
CLI AWS
Hal yang sama berlaku untuk AWS CLI. Tetapkan --deletion-protection
seperti di bawah ini.
aws rds modify-db-instance \
--db-instance-identifier = "test-rds" \
--deletion-protection
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRds In Backup Plan
Nama kategori di API: RDS_IN_BACKUP_PLAN
Pemeriksaan ini mengevaluasi apakah instance DB Amazon RDS tercakup dalam rencana pencadangan. Kontrol ini gagal jika instance DB RDS tidak dicakup oleh rencana cadangan.
AWS Backup adalah layanan pencadangan terkelola sepenuhnya yang memusatkan dan mengotomatiskan pencadangan data di seluruh layanan AWS. Dengan AWS Backup, Anda dapat membuat kebijakan pencadangan yang disebut rencana pencadangan. Anda dapat menggunakan rencana ini untuk menentukan persyaratan pencadangan, seperti frekuensi pencadangan data dan berapa lama pencadangan tersebut akan disimpan. Menyertakan instance DB RDS dalam rencana pencadangan membantu Anda melindungi data dari kehilangan atau penghapusan yang tidak disengaja.
Rekomendasi: Instance DB RDS harus dicakup oleh rencana cadangan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk memperbaiki kontrol ini, tetapkan backup_retention_period
ke nilai yang lebih besar dari 7
di resource aws_db_instance
.
resource "aws_db_instance" "example" {
# ... other Configuration ...
backup_retention_period = 7
}
Konsol AWS
Untuk langsung mengaktifkan pencadangan otomatis
- Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi, pilih Database, lalu pilih instance DB yang ingin Anda ubah.
- Pilih Ubah untuk membuka halaman Ubah Instance DB.
- Di bagian Periode Retensi Cadangan, pilih nilai positif yang bukan nol, misalnya 30 hari, lalu pilih Lanjutkan.
- Pilih bagian Penjadwalan perubahan dan pilih waktu untuk menerapkan perubahan: Anda dapat memilih untuk Menerapkan selama periode pemeliharaan terjadwal berikutnya atau Menerapkan segera.
- Kemudian, di halaman konfirmasi, pilih Ubah Instance DB untuk menyimpan perubahan dan mengaktifkan pencadangan otomatis.
CLI AWS
Hal yang sama berlaku untuk AWS CLI. Untuk mengaktifkan pencadangan otomatis, ubah backup-retention-period
ke nilai yang lebih besar dari 0
(default).
aws rds modify-db-instance --db-instance-identifier "test-rds" --backup-retention-period 7
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRds Logging Enabled
Nama kategori di API: RDS_LOGGING_ENABLED
Tindakan ini memeriksa apakah log Amazon RDS berikut diaktifkan dan dikirim ke CloudWatch.
Database RDS harus mengaktifkan log yang relevan. Logging database memberikan catatan mendetail tentang permintaan yang dibuat ke RDS. Log database dapat membantu audit keamanan dan akses serta dapat membantu mendiagnosis masalah ketersediaan.
Rekomendasi: Memeriksa apakah log yang diekspor diaktifkan untuk semua instance DB RDS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
resource "aws_db_instance" "example" {
# ... other configuration for MySQL ...
enabled_cloudwatch_logs_exports = ["audit", "error", "general", "slowquery"]
parameter_group_name = aws_db_parameter_group.example.name
}
resource "aws_db_parameter_group" "example" {
name = "${aws_db_instance.example.dbInstanceIdentifier}-parameter-group"
family = "mysql5.7"
parameter {
name = "general_log"
value = 1
}
parameter {
name = "slow_query_log"
value = 1
}
parameter {
name = "log_output"
value = "FILE"
}
}
Untuk MariaDB, buat juga grup opsi kustom dan tetapkan option_group_name
di resource aws_db_instance
.
resource "aws_db_instance" "example" {
# ... other configuration for MariaDB ...
enabled_cloudwatch_logs_exports = ["audit", "error", "general", "slowquery"]
parameter_group_name = aws_db_parameter_group.example.name
option_group_name = aws_db_option_group.example.name
}
resource "aws_db_option_group" "example" {
name = "mariadb-option-group-for-logs"
option_group_description = "MariaDB Option Group for Logs"
engine_name = "mariadb"
option {
option_name = "MARIADB_AUDIT_PLUGIN"
option_settings {
name = "SERVER_AUDIT_EVENTS"
value = "CONNECT,QUERY,TABLE,QUERY_DDL,QUERY_DML,QUERY_DCL"
}
}
}
Konsol AWS
Untuk membuat grup parameter DB kustom
- Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi, pilih Grup parameter.
- Pilih Buat grup parameter.
- Di daftar Parameter group family, pilih parameter group family DB.
- Dalam daftar Jenis, pilih Grup Parameter DB.
- Di Group name, masukkan nama grup parameter DB baru.
- Di Deskripsi, masukkan deskripsi untuk grup parameter DB baru.
- Pilih Buat.
Untuk membuat grup opsi baru untuk logging MariaDB menggunakan konsol
- Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi, pilih Grup opsi.
- Pilih Buat grup.
- Di jendela Create option group, berikan informasi berikut:
* Name: harus unik dalam akun AWS Anda. Hanya huruf, angka, dan tanda hubung.
* Deskripsi: Hanya digunakan untuk tujuan tampilan.
* Engine: pilih mesin DB Anda.
* Versi mesin utama: pilih versi utama mesin DB Anda. - Pilih Buat.
- Pilih nama grup opsi yang baru saja Anda buat.
- Pilih opsi Tambahkan.
- Pilih MARIADB_AUDIT_PLUGIN dari daftar Nama opsi.
- Tetapkan SERVER_AUDIT_EVENTS ke CONNECT, QUERY, TABLE, QUERY_DDL, QUERY_DML, QUERY_DCL.
- Pilih opsi Tambahkan.
Untuk memublikasikan log SQL Server DB, Oracle DB, atau PostgreSQL ke CloudWatch Logs dari AWS Management Console
- Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi, pilih Database.
- Pilih instance DB yang ingin Anda ubah.
- Pilih Ubah.
- Di bagian Ekspor log, pilih semua file log untuk mulai memublikasikan ke CloudWatch Logs.
- Ekspor log hanya tersedia untuk versi mesin database yang mendukung publikasi ke CloudWatch Logs.
- Pilih Lanjutkan. Kemudian, di halaman ringkasan, pilih Ubah Instance DB.
Untuk menerapkan grup parameter DB atau grup opsi DB baru ke instance DB RDS
- Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi, pilih Database.
- Pilih instance DB yang ingin Anda ubah.
- Pilih Ubah.
- Di bagian Opsi database, ubah grup parameter DB dan grup opsi DB sesuai kebutuhan.
- Setelah selesai melakukan perubahan, pilih Lanjutkan. Periksa ringkasan modifikasi.
- Pilih Ubah Instance DB untuk menyimpan perubahan.
CLI AWS
Ambil keluarga mesin dan pilih yang cocok dengan mesin dan versi instance DB.
aws rds describe-db-engine-versions \
--query "DBEngineVersions[].DBParameterGroupFamily" \
--engine "mysql"
Buat grup parameter sesuai dengan mesin dan versi.
aws rds create-db-parameter-group \
--db-parameter-group-name "rds-mysql-parameter-group" \
--db-parameter-group-family "mysql5.7" \
--description "Example parameter group for logs"
Buat file rds-parameters.json
yang berisi parameter yang diperlukan sesuai dengan Mesin DB, contoh ini menggunakan MySQL5.7.
[
{
"ParameterName": "general_log",
"ParameterValue": "1",
"ApplyMethod": "immediate"
},
{
"ParameterName": "slow_query_log",
"ParameterValue": "1",
"ApplyMethod": "immediate"
},
{
"ParameterName": "log_output",
"ParameterValue": "FILE",
"ApplyMethod": "immediate"
}
]
Ubah grup parameter untuk menambahkan parameter sesuai dengan mesin DB. Contoh ini menggunakan MySQL5.7
aws rds modify-db-parameter-group \
--db-parameter-group-name "rds-mysql-parameter-group" \
--parameters file://rds-parameters.json
Ubah instance DB untuk mengaitkan grup parameter.
aws rds modify-db-instance \
--db-instance-identifier "test-rds" \
--db-parameter-group-name "rds-mysql-parameter-group"
Selain itu, untuk MariaDB, buat grup opsi sebagai berikut.
aws rds create-option-group \
--option-group-name "rds-mariadb-option-group" \
--engine-name "mariadb" \
--major-engine-version "10.6" \
--option-group-description "Option group for MariaDB logs"
Buat file rds-mariadb-options.json
sebagai berikut.
{
"OptionName": "MARIADB_AUDIT_PLUGIN",
"OptionSettings": [
{
"Name": "SERVER_AUDIT_EVENTS",
"Value": "CONNECT,QUERY,TABLE,QUERY_DDL,QUERY_DML,QUERY_DCL"
}
]
}
Tambahkan opsi ke grup opsi.
aws rds add-option-to-option-group \
--option-group-name "rds-mariadb-option-group" \
--options file://rds-mariadb-options.json
Kaitkan grup opsi ke Instance DB dengan mengubah instance MariaDB.
aws rds modify-db-instance \
--db-instance-identifier "rds-test-mariadb" \
--option-group-name "rds-mariadb-option-group"
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRds Multi Az Support
Nama kategori di API: RDS_MULTI_AZ_SUPPORT
Instance DB RDS harus dikonfigurasi untuk beberapa Zona Ketersediaan (AZ). Hal ini memastikan ketersediaan data yang disimpan. Deployment multi-AZ memungkinkan failover otomatis jika ada masalah dengan ketersediaan Zona Ketersediaan dan selama pemeliharaan RDS reguler.
Rekomendasi: Memeriksa apakah ketersediaan tinggi diaktifkan untuk semua instance DB RDS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk memperbaiki kontrol ini, tetapkan multi_az
ke benar di resource aws_db_instance
.
resource "aws_db_instance" "example" {
# ... other configuration ...
multi_az = true
}
Konsol AWS
Untuk mengaktifkan beberapa Zona Ketersediaan untuk instance DB
- Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.
- Di panel navigasi, pilih Database, lalu pilih instance DB yang ingin Anda ubah.
- Pilih Ubah. Halaman Modify DB Instance akan muncul.
- Di bagian Spesifikasi Instance, tetapkan Deployment Multi-AZ ke Yes (Ya).
- Pilih Lanjutkan, lalu periksa ringkasan modifikasi.
- (Opsional) Pilih Terapkan segera untuk menerapkan perubahan dengan segera. Dalam beberapa kasus, memilih opsi ini dapat menyebabkan pemadaman layanan. Untuk informasi selengkapnya, lihat Menggunakan setelan Terapkan Segera di Panduan Pengguna Amazon RDS.
- Di halaman konfirmasi, tinjau perubahan Anda. Jika sudah benar, pilih Ubah Instance DB untuk menyimpan perubahan.
CLI AWS
Hal yang sama berlaku untuk AWS CLI. Aktifkan dukungan multi-Az dengan memberikan opsi --multi-az
.
modify-db-instance
--db-instance-identifier "test-rds" \
--multi-az
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRedshift Cluster Configuration Check
Nama kategori di API: REDSHIFT_CLUSTER_CONFIGURATION_CHECK
Tindakan ini memeriksa elemen penting cluster Redshift: enkripsi dalam penyimpanan, logging, dan jenis node.
Item konfigurasi ini penting dalam pemeliharaan cluster Redshift yang aman dan dapat diamati.
Rekomendasi: Memeriksa apakah semua cluster Redshift memiliki enkripsi dalam penyimpanan, logging, dan jenis node. Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
resource "aws_kms_key" "redshift_encryption" {
description = "Used for Redshift encryption configuration"
enable_key_rotation = true
}
resource "aws_redshift_cluster" "example" {
# ... other configuration ...
encrypted = true
kms_key_id = aws_kms_key.redshift_encryption.id
logging {
enable = true
log_destination_type = "cloudwatch"
log_exports = ["connectionlog", "userlog", "useractivitylog"]
}
}
Konsol AWS
Untuk mengaktifkan logging audit cluster
- Buka konsol Amazon Redshift di https://console.aws.amazon.com/redshift/.
- Di menu navigasi, pilih Cluster, lalu pilih nama cluster yang akan diubah.
- Pilih Properti.
- Pilih Edit dan Edit logging audit.
- Setel Konfigurasi logging audit ke Aktifkan, setel Jenis ekspor log ke CloudWatch (direkomendasikan), lalu pilih log yang akan diekspor.
Untuk menggunakan AWS S3 guna mengelola log audit Redshift, lihat Redshift - Logging audit database di Dokumentasi AWS.
- Pilih Simpan perubahan.
Untuk mengubah enkripsi database di cluster
- Login ke AWS Management Console, lalu buka konsol Amazon Redshift di https://console.aws.amazon.com/redshift/.
- Pada menu navigasi, pilih Cluster, lalu pilih cluster yang ingin Anda ubah enkripsinya.
- Pilih Properti.
- Pilih Edit dan Edit enkripsi.
- Pilih Enkripsi yang akan digunakan (KMS atau HSM) dan berikan:
- Untuk KMS: kunci yang akan digunakan
- Untuk HSM: koneksi dan sertifikat klien
CLI AWS
- Membuat kunci KMS dan mengambil ID kunci
aws kms create-key \
--description "Key to encrypt Redshift Clusters"
- Mengubah cluster
aws redshift modify-cluster \
--cluster-identifiers "test-redshift-cluster" \
--encrypted \
--kms-key-id <value>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRedshift Cluster Maintenancesettings Check
Nama kategori di API: REDSHIFT_CLUSTER_MAINTENANCESETTINGS_CHECK
Upgrade versi utama otomatis dilakukan sesuai dengan periode pemeliharaan
Rekomendasi: Memeriksa apakah semua cluster Redshift mengaktifkan allowVersionUpgrade serta menetapkan preferredMaintenanceWindow dan automatedSnapshotRetentionPeriod Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Pemeriksaan ini mematuhi semua nilai default yang disediakan oleh Terraform. Jika Cluster Redshift gagal, tinjau persyaratan dan hapus penggantian default untuk atribut berikut dari resource aws_redshift_cluster
.
resource "aws_redshift_cluster" "example" {
# ...other configuration ...
# The following values are compliant and set by default if omitted.
allow_version_upgrade = true
preferred_maintenance_window = "sat:10:00-sat:10:30"
automated_snapshot_retention_period = 1
}
Konsol AWS
Saat membuat cluster Redshift melalui AWS console, nilai default sudah mematuhi kontrol ini.
Untuk informasi selengkapnya, lihat Mengelola cluster menggunakan konsol
CLI AWS
Untuk memperbaiki kontrol ini menggunakan AWS CLI, lakukan tindakan berikut:
aws redshift modify-cluster \
--cluster-identifier "test-redshift-cluster" \
--allow-version-upgrade
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRedshift Cluster Public Access Check
Nama kategori di API: REDSHIFT_CLUSTER_PUBLIC_ACCESS_CHECK
Atribut PubliclyAccessible dari konfigurasi cluster Amazon Redshift menunjukkan apakah cluster dapat diakses secara publik. Jika cluster dikonfigurasi dengan PubliclyAccessible ditetapkan ke benar, cluster tersebut adalah instance yang menghadap ke Internet yang memiliki nama DNS yang dapat di-resolve secara publik, yang me-resolve ke alamat IP publik.
Jika tidak dapat diakses secara publik, cluster tersebut adalah instance internal dengan nama DNS yang me-resolve ke alamat IP pribadi. Kecuali jika Anda ingin cluster dapat diakses secara publik, cluster tidak boleh dikonfigurasi dengan PubliclyAccessible disetel ke true.
Rekomendasi: Memeriksa apakah cluster Redshift dapat diakses secara publik Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Untuk memperbaiki kontrol ini, Anda harus mengubah resource cluster redshift dan menetapkan publicly_accessible
ke false
, nilai defaultnya adalah true
.
resource "aws_redshift_cluster" "example" {
# ... other configuration ...
publicly_accessible = false
}
Konsol AWS
Untuk menonaktifkan akses publik ke cluster Amazon Redshift
- Buka konsol Amazon Redshift di https://console.aws.amazon.com/redshift/.
- Di menu navigasi, pilih Cluster, lalu pilih nama cluster dengan grup keamanan yang akan diubah.
- Pilih Tindakan, lalu pilih Ubah setelan yang dapat diakses secara publik.
- Di bagian Izinkan instance dan perangkat di luar VPC untuk terhubung ke database Anda melalui endpoint cluster, pilih Tidak.
- Pilih Konfirmasi.
CLI AWS
Gunakan perintah modify-cluster
untuk menetapkan --no-publicly-accessible
.
aws redshift modify-cluster \
--cluster-identifier "test-redshift-cluster" \
--no-publicly-accessible
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRestricted Common Ports
Nama kategori di API: RESTRICTED_COMMON_PORTS
Tindakan ini memeriksa apakah traffic masuk yang tidak dibatasi untuk grup keamanan dapat diakses oleh port yang ditentukan dan memiliki risiko tertinggi. Kontrol ini gagal jika ada aturan dalam grup keamanan yang mengizinkan traffic masuk dari '0.0.0.0/0' atau '::/0' untuk port tersebut.
Akses tanpa batasan (0.0.0.0/0) meningkatkan peluang untuk aktivitas berbahaya, seperti peretasan, serangan denial-of-service, dan kehilangan data.
Grup keamanan menyediakan pemfilteran stateful traffic jaringan masuk dan keluar ke resource AWS. Tidak ada grup keamanan yang boleh mengizinkan akses masuk yang tidak dibatasi ke port berikut:
- 20, 21 (FTP)
- 22 (SSH)
- 23 (Telnet)
- 25 (SMTP)
- 110 (POP3)
- 135 (RPC)
- 143 (IMAP)
- 445 (CIFS)
- 1433, 1434 (MSSQL)
- 3.000 (framework pengembangan web Go, Node.js, dan Ruby)
- 3306 (mySQL)
- 3389 (RDP)
- 4333 (ahsp)
- 5.000 (framework pengembangan web Python)
- 5432 (postgresql)
- 5500 (fcp-addr-srvr1)
- 5601 (Dasbor OpenSearch)
- 8080 (proxy)
- 8088 (port HTTP lama)
- 8888 (port HTTP alternatif)
- 9200 atau 9300 (OpenSearch)
Konsol AWS
Untuk menghapus aturan grup keamanan:
- Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.
- Di panel navigasi, pilih Grup Keamanan.
- Pilih grup keamanan yang akan diperbarui, pilih Tindakan, lalu pilih Edit aturan masuk untuk menghapus aturan masuk atau Edit aturan keluar untuk menghapus aturan keluar.
- Pilih tombol Hapus di sebelah kanan aturan yang akan dihapus.
- Pilih Pratinjau perubahan, Konfirmasi.
Untuk informasi tentang cara menghapus aturan dari grup keamanan, lihat Mengonfigurasi aturan grup keamanan di Panduan Pengguna Amazon EC2.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRestricted Ssh
Nama kategori di API: RESTRICTED_SSH
Grup keamanan menyediakan pemfilteran stateful traffic jaringan masuk dan keluar ke resource AWS.
CIS merekomendasikan agar tidak ada grup keamanan yang mengizinkan akses masuk yang tidak dibatasi ke port 22. Menghapus konektivitas yang tidak dibatasi ke layanan konsol jarak jauh, seperti SSH, akan mengurangi paparan server terhadap risiko.
Rekomendasi: Grup keamanan tidak boleh mengizinkan ingress dari 0.0.0.0/0 ke port 22 Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Lakukan langkah-langkah berikut untuk setiap grup keamanan yang terkait dengan VPC.
Buka konsol Amazon VPC di https://console.aws.amazon.com/vpc/.
- Di panel kiri, pilih Grup keamanan.
- Pilih grup keamanan.
- Di bagian bawah halaman, pilih tab Inbound Rules.
- Pilih Edit rules.
- Identifikasi aturan yang mengizinkan akses melalui port 22, lalu pilih X untuk menghapusnya.
- Pilih Simpan aturan.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRotation Customer Created Cmks Enabled
Nama kategori di API: ROTATION_CUSTOMER_CREATED_CMKS_ENABLED
Memeriksa apakah rotasi kunci otomatis diaktifkan untuk setiap kunci dan cocok dengan ID kunci dari kunci AWS KMS yang dibuat pelanggan. Aturannya adalah NON_COMPLIANT jika peran perekam AWS Config untuk resource tidak memiliki izin kms:DescribeKey.
Rekomendasi: Pastikan rotasi untuk CMK yang dibuat pelanggan diaktifkanUntuk mengaktifkan rotasi kunci otomatis untuk AWS KMS, lihat Merotasi kunci AWS KMS dalam dokumentasi AWS.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRotation Customer Created Symmetric Cmks Enabled
Nama kategori di API: ROTATION_CUSTOMER_CREATED_SYMMETRIC_CMKS_ENABLED
AWS Key Management Service (KMS) memungkinkan pelanggan memutar kunci pendukung yang merupakan materi kunci yang disimpan dalam KMS yang terikat dengan ID kunci kunci master pelanggan (CMK) yang Dibuat Pelanggan. Ini adalah kunci pendukung yang digunakan untuk melakukan operasi kriptografis seperti enkripsi dan dekripsi. Rotasi kunci otomatis saat ini mempertahankan semua kunci pendukung sebelumnya sehingga dekripsi data terenkripsi dapat dilakukan secara transparan. Sebaiknya rotasi kunci CMK diaktifkan untuk kunci simetris. Rotasi kunci tidak dapat diaktifkan untuk CMK asimetris.
Rekomendasi: Pastikan rotasi untuk CMK simetris yang dibuat pelanggan diaktifkan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console, lalu buka konsol IAM di https://console.aws.amazon.com/iam.
- Di panel navigasi sebelah kiri, pilih
Customer managed keys
. - Pilih CMK yang dikelola pelanggan dengan
Key spec = SYMMETRIC_DEFAULT
- Di bawah panel "Konfigurasi umum", buka tab "Rotasi kunci"
- Centang kotak "Rotasi kunci KMS ini secara otomatis setiap tahun".
CLI AWS
- Jalankan perintah berikut untuk mengaktifkan rotasi kunci:
aws kms enable-key-rotation --key-id <kms_key_id>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariRouting Tables Vpc Peering Are Least Access
Nama kategori di API: ROUTING_TABLES_VPC_PEERING_ARE_LEAST_ACCESS
Memeriksa apakah tabel rute untuk peering VPC dikonfigurasi dengan prinsip hak istimewa terendah.
Rekomendasi: Pastikan tabel pemilihan rute untuk peering VPC adalah "akses minimum"Untuk memperbarui tabel rute untuk peering VPC, lihat Memperbarui tabel rute untuk koneksi peering VPC di panduan pengguna AWS VPC.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariS3 Account Level Public Access Blocks
Nama kategori di API: S3_ACCOUNT_LEVEL_PUBLIC_ACCESS_BLOCKS
Amazon S3 Blokir Akses Publik menyediakan setelan untuk titik akses, bucket, dan akun untuk membantu Anda mengelola akses publik ke resource Amazon S3. Secara default, bucket, titik akses, dan objek baru tidak mengizinkan akses publik.
Rekomendasi: Memeriksa apakah setelan pemblokiran akses publik S3 yang diperlukan dikonfigurasi dari tingkat akun Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Resource Terraform berikut mengonfigurasi akses tingkat akun ke S3.
resource "aws_s3_account_public_access_block" "s3_control" {
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
Konsol AWS
Untuk mengedit setelan blokir akses publik untuk semua bucket S3 di akun AWS.
- Login ke AWS Management Console, lalu buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.
- Pilih setelan Blokir Akses Publik untuk akun ini.
- Pilih Edit untuk mengubah setelan blokir akses publik untuk semua bucket di akun AWS Anda.
- Pilih setelan yang ingin Anda ubah, lalu pilih Simpan perubahan.
- Saat Anda diminta untuk mengonfirmasi, masukkan konfirmasi. Kemudian, pilih Konfirmasi untuk menyimpan perubahan.
CLI AWS
aws s3control put-public-access-block \
--account-id <value> \
--public-access-block-configuration '{"BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true}'
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariS3 Buckets Configured Block Public Access Bucket And Account Settings
Nama kategori di API: S3_BUCKETS_CONFIGURED_BLOCK_PUBLIC_ACCESS_BUCKET_AND_ACCOUNT_SETTINGS
Amazon S3 menyediakan Block public access (bucket settings)
dan Block public access (account settings)
untuk membantu Anda mengelola akses publik ke resource Amazon S3. Secara default, bucket dan objek S3 dibuat dengan akses publik dinonaktifkan. Namun, akun utama AWS IAM dengan izin S3 yang memadai dapat mengaktifkan akses publik di tingkat bucket atau objek. Saat diaktifkan, Block public access (bucket settings)
mencegah setiap bucket, dan objek yang dikandungnya, agar tidak dapat diakses secara publik. Demikian pula, Block public access (account settings)
mencegah semua bucket, dan objek yang dikandung, agar tidak dapat diakses secara publik di seluruh akun.
Pastikan bucket S3 dikonfigurasi dengan Block public access (bucket settings)
.
Konsol AWS
Jika outputnya true untuk setelan konfigurasi terpisah, setelan tersebut akan ditetapkan di akun.
- Login ke AWS Management Console dan buka konsol Amazon S3 menggunakan https://console.aws.amazon.com/s3/
- Pilih Blokir Akses Publik (setelan akun)
- Pilih Edit untuk mengubah setelan blokir akses publik untuk semua bucket di akun AWS Anda
- Pilih setelan yang ingin Anda ubah, lalu pilih Simpan. Untuk mengetahui detail setiap setelan, jeda pada ikon i.
- Saat Anda diminta untuk mengonfirmasi, masukkan confirm. Kemudian, klik Konfirmasi untuk menyimpan perubahan.
CLI AWS
Untuk menetapkan setelan Blokir Akses publik untuk akun ini, jalankan perintah berikut:
aws s3control put-public-access-block
--public-access-block-configuration BlockPublicAcls=true, IgnorePublicAcls=true, BlockPublicPolicy=true, RestrictPublicBuckets=true
--account-id <value>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariS3 Bucket Access Logging Enabled Cloudtrail S3 Bucket
Nama kategori di API: S3_BUCKET_ACCESS_LOGGING_ENABLED_CLOUDTRAIL_S3_BUCKET
Logging Akses Bucket S3 menghasilkan log yang berisi catatan akses untuk setiap permintaan yang dibuat ke bucket S3 Anda. Data log akses berisi detail tentang permintaan, seperti jenis permintaan, resource yang ditentukan dalam permintaan yang berfungsi, serta waktu dan tanggal permintaan diproses. Sebaiknya logging akses bucket diaktifkan di bucket S3 CloudTrail.
Rekomendasi:Pastikan logging akses bucket S3 diaktifkan di bucket S3 CloudTrail
Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke AWS Management Console, lalu buka konsol S3 di https://console.aws.amazon.com/s3.
- Di bagian All Buckets, klik bucket S3 target
- Klik Properties di kanan atas konsol
- Di bagian Bucket: <s3\_bucket\_for\_cloudtrail>, klik Logging</s3\_bucket\_for\_cloudtrail>
- Konfigurasi logging bucket
- Klik kotak centang Enabled
- Pilih Target Bucket dari daftar
- Masukkan Target Prefix - Klik Simpan.
CLI AWS
- Dapatkan nama bucket S3 yang digunakan CloudTrail untuk menyimpan log:
aws cloudtrail describe-trails --region <region-name> --query trailList[*].S3BucketName
- Salin dan tambahkan nama bucket target di
, Awalan untuk file log di , dan secara opsional tambahkan alamat email di template berikut, lalu simpan sebagai :
{
"LoggingEnabled": {
"TargetBucket": "<Logging_BucketName>",
"TargetPrefix": "<LogFilePrefix>",
"TargetGrants": [
{
"Grantee": {
"Type": "AmazonCustomerByEmail",
"EmailAddress": "<EmailID>"
},
"Permission": "FULL_CONTROL"
}
]
}
}
- Jalankan perintah put-bucket-logging dengan nama bucket dan
sebagai input. Untuk mengetahui informasi selengkapnya, lihat put-bucket-logging:
aws s3api put-bucket-logging --bucket <BucketName> --bucket-logging-status file://<FileName.Json>
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariS3 Bucket Logging Enabled
Nama kategori di API: S3_BUCKET_LOGGING_ENABLED
Fitur Logging Akses Server AWS S3 mencatat permintaan akses ke bucket penyimpanan yang berguna untuk audit keamanan. Secara default, logging akses server tidak diaktifkan untuk bucket S3.
Rekomendasi: Memeriksa apakah logging diaktifkan di semua bucket S3 Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
Contoh berikut menunjukkan cara membuat 2 bucket:
- Bucket logging
- Bucket yang mematuhi kebijakan
variable "bucket_acl_map" {
type = map(any)
default = {
"logging-bucket" = "log-delivery-write"
"compliant-bucket" = "private"
}
}
resource "aws_s3_bucket" "all" {
for_each = var.bucket_acl_map
bucket = each.key
object_lock_enabled = true
tags = {
"Pwd" = "s3"
}
}
resource "aws_s3_bucket_acl" "private" {
for_each = var.bucket_acl_map
bucket = each.key
acl = each.value
}
resource "aws_s3_bucket_versioning" "enabled" {
for_each = var.bucket_acl_map
bucket = each.key
versioning_configuration {
status = "Enabled"
}
}
resource "aws_s3_bucket_logging" "enabled" {
for_each = var.bucket_acl_map
bucket = each.key
target_bucket = aws_s3_bucket.all["logging-bucket"].id
target_prefix = "log/"
}
resource "aws_s3_bucket_server_side_encryption_configuration" "example" {
for_each = var.bucket_acl_map
bucket = each.key
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "aws:kms"
}
}
}
Konsol AWS
Untuk informasi tentang cara mengaktifkan logging akses S3 melalui konsol AWS, lihat Mengaktifkan logging akses server Amazon S3 dalam dokumentasi AWS.
CLI AWS
Contoh berikut menunjukkan cara:
- Buat kebijakan bucket untuk memberikan izin akun utama layanan logging ke
PutObject
di bucket logging Anda.
policy.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3ServerAccessLogsPolicy",
"Effect": "Allow",
"Principal": {"Service": "logging.s3.amazonaws.com"},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::MyBucket/Logs/*",
"Condition": {
"ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"},
"StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"}
}
}
]
}
aws s3api put-bucket-policy \
--bucket my-bucket
--policy file://policy.json
- Terapkan kebijakan ke bucket logging Anda
logging.json
{
"LoggingEnabled": {
"TargetBucket": "MyBucket",
"TargetPrefix": "Logs/"
}
}
aws s3api put-bucket-logging \
--bucket MyBucket \
--bucket-logging-status file://logging.json
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariS3 Bucket Policy Set Deny Http Requests
Nama kategori di API: S3_BUCKET_POLICY_SET_DENY_HTTP_REQUESTS
Di tingkat bucket Amazon S3, Anda dapat mengonfigurasi izin melalui kebijakan bucket sehingga objek hanya dapat diakses melalui HTTPS.
Rekomendasi: Pastikan Kebijakan Bucket S3 disetel untuk menolak permintaan HTTP Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
menggunakan AWS Policy Generator:
- Ulangi langkah 1-4 di atas.
- Klik
Policy Generator
di bagian bawah Editor Kebijakan Bucket - Pilih Jenis Kebijakan
S3 Bucket Policy
- Tambahkan Pernyataan
-Effect
= Deny
-Principal
= *
-AWS Service
= Amazon S3
-Actions
= *
-Amazon Resource Name
= - Buat Kebijakan
- Salin teks dan tambahkan ke Kebijakan Bucket.
CLI AWS
- Mengekspor kebijakan bucket ke file json.
aws s3api get-bucket-policy --bucket <bucket_name> --query Policy --output text > policy.json
- Ubah file policy.json dengan menambahkan pernyataan ini:
{
"Sid": <optional>",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::<bucket_name>/*",
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}
- Terapkan kembali kebijakan yang dimodifikasi ini ke bucket S3:
aws s3api put-bucket-policy --bucket <bucket_name> --policy file://policy.json
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariS3 Bucket Replication Enabled
Nama kategori di API: S3_BUCKET_REPLICATION_ENABLED
Kontrol ini memeriksa apakah bucket Amazon S3 mengaktifkan Replikasi Lintas Region. Kontrol akan gagal jika bucket tidak mengaktifkan Replikasi Lintas Region atau jika Replikasi Dalam Region juga diaktifkan.
Replikasi adalah penyalinan objek secara otomatis dan asinkron di seluruh bucket di Region AWS yang sama atau berbeda. Replikasi menyalin objek yang baru dibuat dan pembaruan objek dari bucket sumber ke satu atau beberapa bucket tujuan. Praktik terbaik AWS merekomendasikan replikasi untuk bucket sumber dan tujuan yang dimiliki oleh akun AWS yang sama. Selain ketersediaan, Anda harus mempertimbangkan setelan hardening sistem lainnya.
Rekomendasi: Memeriksa apakah replikasi lintas region diaktifkan untuk bucket S3Untuk mengaktifkan Replikasi Lintas Wilayah di bucket S3, lihat Mengonfigurasi replikasi untuk bucket sumber dan tujuan yang dimiliki oleh akun yang sama di Panduan Pengguna Amazon Simple Storage Service. Untuk Bucket sumber, pilih Terapkan ke semua objek dalam bucket.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariS3 Bucket Server Side Encryption Enabled
Nama kategori di API: S3_BUCKET_SERVER_SIDE_ENCRYPTION_ENABLED
Tindakan ini memeriksa apakah bucket S3 Anda mengaktifkan enkripsi default Amazon S3 atau kebijakan bucket S3 secara eksplisit menolak permintaan put-object tanpa enkripsi sisi server.
Rekomendasi: Pastikan semua bucket S3 menggunakan enkripsi dalam penyimpanan Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
resource "aws_s3_bucket_server_side_encryption_configuration" "enable" {
bucket = "my-bucket"
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "AES256"
}
}
}
Konsol AWS
Untuk mengaktifkan enkripsi default di bucket S3
- Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.
- Di panel navigasi sebelah kiri, pilih Bucket.
- Pilih bucket S3 dari daftar.
- Pilih Properti.
- Pilih Enkripsi default.
- Untuk enkripsi, pilih AES-256 atau AWS-KMS.
- Pilih AES-256 untuk menggunakan kunci yang dikelola oleh Amazon S3 untuk enkripsi default. Untuk informasi selengkapnya tentang penggunaan enkripsi sisi server Amazon S3 untuk mengenkripsi data Anda, lihat Panduan Pengguna Amazon Simple Storage Service.
- Pilih AWS-KMS untuk menggunakan kunci yang dikelola oleh AWS KMS untuk enkripsi default. Kemudian, pilih kunci master dari daftar kunci master AWS KMS yang telah Anda buat.
- Ketik Amazon Resource Name (ARN) kunci AWS KMS yang akan digunakan. Anda dapat menemukan ARN untuk kunci AWS KMS di konsol IAM, di bagian Kunci enkripsi. Atau, Anda dapat memilih nama kunci dari menu drop-down.
- Penting: jika menggunakan opsi AWS KMS untuk konfigurasi enkripsi default, Anda akan dikenai kuota RPS (permintaan per detik) AWS KMS. Untuk informasi selengkapnya tentang kuota AWS KMS dan cara meminta peningkatan kuota, lihat Panduan Developer AWS Key Management Service.
- Pilih Simpan.
Untuk informasi selengkapnya tentang cara membuat kunci AWS KMS, lihat Panduan Developer AWS Key Management Service.
Untuk informasi selengkapnya tentang penggunaan AWS KMS dengan Amazon S3, lihat Panduan Pengguna Amazon Simple Storage Service.
Saat mengaktifkan enkripsi default, Anda mungkin perlu memperbarui kebijakan bucket. Untuk informasi selengkapnya tentang cara beralih dari kebijakan bucket ke enkripsi default, lihat Panduan Pengguna Amazon Simple Storage Service.
CLI AWS
aws s3api put-bucket-encryption \
--bucket my-bucket \
--server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariS3 Bucket Versioning Enabled
Nama kategori di API: S3_BUCKET_VERSIONING_ENABLED
Amazon S3 adalah cara untuk menyimpan beberapa varian objek dalam bucket yang sama dan dapat membantu Anda memulihkan dengan lebih mudah dari tindakan pengguna yang tidak disengaja dan kegagalan aplikasi.
Rekomendasi: Memeriksa apakah pembuatan versi diaktifkan untuk semua bucket S3 Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
resource "aws_s3_bucket" "my_bucket" {
bucket = "my-bucket"
versioning {
enabled = true
}
}
Konsol AWS
Untuk mengaktifkan atau menonaktifkan pembuatan versi di bucket S3
- Login ke AWS Management Console, lalu buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.
- Dalam daftar Bucket, pilih nama bucket yang ingin Anda aktifkan pembuatan versinya.
- Pilih Properti.
- Di bagian Bucket Versioning, pilih Edit.
- Pilih Tunda atau Aktifkan, lalu pilih Simpan perubahan.
CLI AWS
aws s3control put-bucket-versioning \
--bucket <bucket_name> \
--versioning-configuration Status=Enabled
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariS3 Default Encryption Kms
Nama kategori di API: S3_DEFAULT_ENCRYPTION_KMS
Memeriksa apakah bucket Amazon S3 dienkripsi dengan AWS Key Management Service (AWS KMS)
Rekomendasi: Memeriksa apakah semua bucket dienkripsi dengan KMS Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Terraform
resource "aws_kms_key" "s3_encryption" {
description = "Used for S3 Bucket encryption configuration"
enable_key_rotation = true
}
resource "aws_s3_bucket_server_side_encryption_configuration" "enable" {
bucket = "my-bucket"
rule {
apply_server_side_encryption_by_default {
kms_master_key_id = aws_kms_key.s3_encryption.arn
sse_algorithm = "aws:kms"
}
}
}
Konsol AWS
Untuk mengaktifkan enkripsi default di bucket S3
- Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.
- Di panel navigasi sebelah kiri, pilih Bucket.
- Pilih bucket S3 dari daftar.
- Pilih Properti.
- Pilih Enkripsi default.
- Untuk enkripsi, pilih AWS-KMS.
- Pilih AWS-KMS untuk menggunakan kunci yang dikelola oleh AWS KMS untuk enkripsi default. Kemudian, pilih kunci master dari daftar kunci master AWS KMS yang telah Anda buat. Untuk informasi selengkapnya tentang cara membuat kunci KMS, lihat Dokumentasi AWS - Membuat Kunci
- Ketik Amazon Resource Name (ARN) kunci AWS KMS yang akan digunakan. Anda dapat menemukan ARN untuk kunci AWS KMS di konsol IAM, di bagian Kunci enkripsi. Atau, Anda dapat memilih nama kunci dari menu drop-down.
- Penting: solusi ini tunduk pada kuota RPS (permintaan per detik) AWS KMS. Untuk mengetahui informasi selengkapnya tentang kuota AWS KMS dan cara meminta peningkatan kuota, lihat Panduan Developer AWS Key Management Service.
- Pilih Simpan.
Untuk informasi selengkapnya tentang penggunaan AWS KMS dengan Amazon S3, lihat Panduan Pengguna Amazon Simple Storage Service.
Saat mengaktifkan enkripsi default, Anda mungkin perlu memperbarui kebijakan bucket. Untuk informasi selengkapnya tentang cara beralih dari kebijakan bucket ke enkripsi default, lihat Panduan Pengguna Amazon Simple Storage Service.
CLI AWS
Membuat kunci KMS
aws kms create-key \
--description "Key to encrypt S3 buckets"
Mengaktifkan rotasi kunci
aws kms enable-key-rotation \
--key-id <key_id_from_previous_command>
Memperbarui bucket
aws s3api put-bucket-encryption \
--bucket my-bucket \
--server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"KMSMasterKeyID": "<id_from_key>", "SSEAlgorithm": "AES256"}}]}'
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSagemaker Notebook Instance Kms Key Configured
Nama kategori di API: SAGEMAKER_NOTEBOOK_INSTANCE_KMS_KEY_CONFIGURED
Memeriksa apakah kunci AWS Key Management Service (AWS KMS) dikonfigurasi untuk instance notebook Amazon SageMaker. Aturannya adalah NON_COMPLIANT jika 'KmsKeyId' tidak ditentukan untuk instance notebook SageMaker.
Rekomendasi: Memeriksa apakah semua instance notebook SageMaker dikonfigurasi untuk menggunakan KMSUntuk mengonfigurasi KMS untuk SageMaker, lihat Pengelolaan Kunci dalam dokumentasi Amazon SageMaker.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSagemaker Notebook No Direct Internet Access
Nama kategori di API: SAGEMAKER_NOTEBOOK_NO_DIRECT_INTERNET_ACCESS
Memeriksa apakah akses internet langsung dinonaktifkan untuk instance notebook SageMaker. Untuk melakukannya, periksa apakah kolom DirectInternetAccess dinonaktifkan untuk instance notebook.
Jika Anda mengonfigurasi instance SageMaker tanpa VPC, akses internet langsung akan diaktifkan secara default di instance Anda. Anda harus mengonfigurasi instance dengan VPC dan mengubah setelan default ke Nonaktifkan—Akses internet melalui VPC.
Untuk melatih atau menghosting model dari notebook, Anda memerlukan akses internet. Untuk mengaktifkan akses internet, pastikan VPC Anda memiliki gateway NAT dan grup keamanan Anda mengizinkan koneksi keluar. Untuk mempelajari lebih lanjut cara menghubungkan instance notebook ke resource di VPC, lihat Menghubungkan instance notebook ke resource di VPC di Panduan Developer Amazon SageMaker.
Anda juga harus memastikan bahwa akses ke konfigurasi SageMaker hanya dibatasi untuk pengguna yang diberi otorisasi. Batasi izin IAM pengguna untuk mengubah setelan dan resource SageMaker.
Rekomendasi: Memeriksa apakah akses internet langsung dinonaktifkan untuk semua instance notebook Amazon SageMaker Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
Perhatikan bahwa Anda tidak dapat mengubah setelan akses internet setelah instance notebook dibuat. Instance harus dihentikan, dihapus, dan dibuat ulang.
Untuk mengonfigurasi instance notebook SageMaker guna menolak akses internet langsung:
- Buka konsol SageMaker di https://console.aws.amazon.com/sagemaker/
- Buka instance Notebook.
- Hapus instance yang mengaktifkan akses internet langsung. Pilih instance, pilih Tindakan, lalu pilih hentikan.
- Setelah instance dihentikan, pilih Tindakan, lalu pilih hapus.
- Pilih Buat instance notebook. Berikan detail konfigurasi.
- Luaskan bagian jaringan, lalu pilih VPC, subnet, dan grup keamanan. Di bagian Akses internet langsung, pilih Nonaktifkan—Akses internet melalui VPC.
- Pilih Buat instance notebook.
Untuk informasi selengkapnya, lihat Menghubungkan instance notebook ke resource di VPC di Panduan Developer Amazon SageMaker.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSecretsmanager Rotation Enabled Check
Nama kategori di API: SECRETSMANAGER_ROTATION_ENABLED_CHECK
Memeriksa apakah secret yang disimpan di AWS Secrets Manager dikonfigurasi dengan rotasi otomatis. Kontrol akan gagal jika secret tidak dikonfigurasi dengan rotasi otomatis. Jika Anda memberikan nilai kustom untuk parameter maximumAllowedRotationFrequency
, kontrol hanya akan lulus jika secret dirotasi secara otomatis dalam jangka waktu yang ditentukan.
Secret Manager membantu Anda meningkatkan postur keamanan organisasi. Secret mencakup kredensial database, sandi, dan kunci API pihak ketiga. Anda dapat menggunakan Secret Manager untuk menyimpan secret secara terpusat, mengenkripsi secret secara otomatis, mengontrol akses ke secret, dan merotasi secret dengan aman dan otomatis.
Secret Manager dapat merotasi secret. Anda dapat menggunakan rotasi untuk mengganti secret jangka panjang dengan secret jangka pendek. Memutar secret akan membatasi berapa lama pengguna yang tidak sah dapat menggunakan secret yang disusupi. Oleh karena itu, Anda harus sering merotasi secret. Untuk mempelajari rotasi lebih lanjut, lihat Memutar secret AWS Secrets Manager di Panduan Pengguna AWS Secrets Manager.
Rekomendasi: Memeriksa apakah rotasi diaktifkan pada semua secret AWS Secrets ManagerUntuk mengaktifkan rotasi otomatis untuk secret Secrets Manager, lihat Menyiapkan rotasi otomatis untuk secret AWS Secrets Manager menggunakan konsol di Panduan Pengguna AWS Secrets Manager. Anda harus memilih dan mengonfigurasi fungsi AWS Lambda untuk rotasi.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariSns Encrypted Kms
Nama kategori di API: SNS_ENCRYPTED_KMS
Memeriksa apakah topik SNS dienkripsi dalam penyimpanan menggunakan AWS KMS. Kontrol akan gagal jika topik SNS tidak menggunakan kunci KMS untuk enkripsi sisi server (SSE).
Mengenkripsi data dalam penyimpanan akan mengurangi risiko data yang disimpan di disk diakses oleh pengguna yang tidak diautentikasi ke AWS. Fitur ini juga menambahkan kumpulan kontrol akses lain untuk membatasi kemampuan pengguna yang tidak sah untuk mengakses data. Misalnya, izin API diperlukan untuk mendekripsi data sebelum dapat dibaca. Topik SNS harus dienkripsi dalam penyimpanan untuk lapisan keamanan tambahan.
Rekomendasi: Memeriksa apakah semua topik SNS dienkripsi dengan KMSUntuk mengaktifkan SSE bagi topik SNS, lihat Mengaktifkan enkripsi sisi server (SSE) untuk topik Amazon SNS di Panduan Developer Amazon Simple Notification Service. Sebelum dapat menggunakan SSE, Anda juga harus mengonfigurasi kebijakan kunci AWS KMS untuk mengizinkan enkripsi topik serta enkripsi dan dekripsi pesan. Untuk informasi selengkapnya, lihat Mengonfigurasi izin AWS KMS di Panduan Developer Amazon Simple Notification Service.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariVpc Default Security Group Closed
Nama kategori di API: VPC_DEFAULT_SECURITY_GROUP_CLOSED
Kontrol ini memeriksa apakah grup keamanan default VPC mengizinkan traffic masuk atau keluar. Kontrol akan gagal jika grup keamanan mengizinkan traffic masuk atau keluar.
Aturan untuk grup keamanan default mengizinkan semua traffic keluar dan masuk dari antarmuka jaringan (dan instance terkait) yang ditetapkan ke grup keamanan yang sama. Sebaiknya jangan gunakan grup keamanan default. Karena grup keamanan default tidak dapat dihapus, Anda harus mengubah setelan aturan grup keamanan default untuk membatasi traffic masuk dan keluar. Tindakan ini mencegah traffic yang tidak diinginkan jika grup keamanan default tidak sengaja dikonfigurasi untuk resource seperti instance EC2.
Rekomendasi: Pastikan grup keamanan default setiap VPC membatasi semua trafficUntuk mengatasi masalah ini, mulailah dengan membuat grup keamanan dengan hak istimewa minimum baru. Untuk mengetahui petunjuknya, lihat Membuat grup keamanan di Panduan Pengguna Amazon VPC. Kemudian, tetapkan grup keamanan baru ke instance EC2 Anda. Untuk mengetahui petunjuknya, lihat Mengubah grup keamanan instance di Panduan Pengguna Amazon EC2 untuk Instance Linux.
Setelah menetapkan grup keamanan baru ke resource, hapus semua aturan masuk dan keluar dari grup keamanan default. Untuk mengetahui petunjuknya, lihat Menghapus aturan grup keamanan di Panduan Pengguna Amazon VPC.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariVpc Flow Logging Enabled All Vpcs
Nama kategori di API: VPC_FLOW_LOGGING_ENABLED_ALL_VPCS
Log Aliran VPC adalah fitur yang memungkinkan Anda merekam informasi tentang traffic IP yang menuju ke dan keluar dari antarmuka jaringan di VPC. Setelah membuat log alur, Anda dapat melihat dan mengambil datanya di Amazon CloudWatch Logs. Sebaiknya aktifkan Log Aliran VPC untuk "Penolakan" paket untuk VPC.
Rekomendasi: Pastikan logging flow VPC diaktifkan di semua VPC Untuk memperbaiki temuan ini, selesaikan langkah-langkah berikut:Konsol AWS
- Login ke konsol pengelolaan
- Pilih
Services
, laluVPC
- Di panel navigasi sebelah kiri, pilih
Your VPCs
- Memilih VPC
- Di panel kanan, pilih tab
Flow Logs
. - Jika tidak ada Log Aliran, klik
Create Flow Log
- Untuk Filter, pilih
Reject
- Masukkan
Role
danDestination Log Group
- Klik
Create Log Flow
- Klik
CloudWatch Logs Group
Catatan: Menetapkan filter ke "Tolak" akan secara drastis mengurangi akumulasi data logging untuk rekomendasi ini dan memberikan informasi yang memadai untuk tujuan deteksi, riset, dan perbaikan pelanggaran. Namun, selama periode engineering grup keamanan dengan hak istimewa minimum, menyetel filter ini ke "Semua" dapat sangat membantu dalam menemukan alur traffic yang ada yang diperlukan untuk pengoperasian lingkungan yang sudah berjalan dengan benar.
CLI AWS
- Buat dokumen kebijakan dan beri nama
role_policy_document.json
, lalu tempelkan konten berikut:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "test",
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
- Buat dokumen kebijakan lain dan beri nama
iam_policy.json
, lalu tempelkan konten berikut:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action":[
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:PutLogEvents",
"logs:GetLogEvents",
"logs:FilterLogEvents"
],
"Resource": "*"
}
]
}
- Jalankan perintah di bawah untuk membuat peran IAM:
aws iam create-role --role-name <aws_support_iam_role> --assume-role-policy-document file://<file-path>role_policy_document.json
- Jalankan perintah di bawah untuk membuat kebijakan IAM:
aws iam create-policy --policy-name <ami-policy-name> --policy-document file://<file-path>iam-policy.json
- Jalankan perintah
attach-group-policy
menggunakan ARN kebijakan IAM yang ditampilkan pada langkah sebelumnya untuk melampirkan kebijakan ke peran IAM (jika perintah berhasil, tidak ada output yang ditampilkan):
aws iam attach-group-policy --policy-arn arn:aws:iam::<aws-account-id>:policy/<iam-policy-name> --group-name <group-name>
- Jalankan
describe-vpcs
untuk mendapatkan VpcId yang tersedia di region yang dipilih:
aws ec2 describe-vpcs --region <region>
- Output perintah akan menampilkan ID VPC yang tersedia di region yang dipilih.
- Jalankan
create-flow-logs
untuk membuat log aliran untuk vpc:
aws ec2 create-flow-logs --resource-type VPC --resource-ids <vpc-id> --traffic-type REJECT --log-group-name <log-group-name> --deliver-logs-permission-arn <iam-role-arn>
- Ulangi langkah 8 untuk VPC lain yang tersedia di region yang dipilih.
- Ubah region dengan memperbarui --region dan ulangi prosedur perbaikan untuk vpc lain.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariVpc Sg Open Only To Authorized Ports
Nama kategori di API: VPC_SG_OPEN_ONLY_TO_AUTHORIZED_PORTS
Kontrol ini memeriksa apakah grup keamanan Amazon EC2 mengizinkan traffic masuk yang tidak dibatasi dari port yang tidak sah. Status kontrol ditentukan sebagai berikut:
Jika Anda menggunakan nilai default untuk authorizedTcpPorts, kontrol akan gagal jika grup keamanan mengizinkan traffic masuk yang tidak dibatasi dari port apa pun selain port 80 dan 443.
Jika Anda memberikan nilai kustom untuk authorizedTcpPorts atau authorizedUdpPorts, kontrol akan gagal jika grup keamanan mengizinkan traffic masuk yang tidak dibatasi dari port yang tidak tercantum.
Jika tidak ada parameter yang digunakan, kontrol akan gagal untuk grup keamanan yang memiliki aturan traffic masuk yang tidak dibatasi.
Grup keamanan menyediakan pemfilteran stateful traffic jaringan masuk dan keluar ke AWS. Aturan grup keamanan harus mengikuti prinsip akses dengan hak istimewa terendah. Akses tanpa batasan (alamat IP dengan akhiran /0) meningkatkan peluang terjadinya aktivitas berbahaya seperti peretasan, serangan denial-of-service, dan kehilangan data. Kecuali jika port diizinkan secara khusus, port harus menolak akses yang tidak dibatasi.
Rekomendasi: Memeriksa apakah setiap grup keamanan dengan 0.0.0.0/0 dari VPC hanya mengizinkan traffic TCP/UDP masuk tertentuUntuk mengubah grup keamanan, lihat Menggunakan grup keamanan di Panduan Pengguna Amazon VPC.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
PelajariBoth VPC VPN Tunnels Up
Nama kategori di API: VPC_VPN_2_TUNNELS_UP
Tunnel VPN adalah link terenkripsi tempat data dapat diteruskan dari jaringan pelanggan ke atau dari AWS dalam koneksi VPN Site-to-Site AWS. Setiap koneksi VPN menyertakan dua tunnel VPN yang dapat Anda gunakan secara bersamaan untuk ketersediaan tinggi. Memastikan kedua tunnel VPN aktif untuk koneksi VPN penting untuk mengonfirmasi koneksi yang aman dan sangat tersedia antara VPC AWS dan jaringan jarak jauh Anda.
Kontrol ini memeriksa apakah kedua tunnel VPN yang disediakan oleh AWS Site-to-Site VPN dalam status UP. Kontrol akan gagal jika salah satu atau kedua tunnel berada dalam status DOWN.
Rekomendasi: Memeriksa apakah kedua tunnel AWS VPN yang disediakan oleh AWS site-to-site dalam status UPUntuk mengubah opsi tunnel VPN, lihat Mengubah opsi tunnel VPN Site-to-Site di Panduan Pengguna VPN Site-to-Site AWS.
aset dan setelan pemindaian yang didukung untuk jenis temuan ini.
Pelajari