0Pricing
Security+ Academy · Pelajaran

Keamanan Penyimpanan Cloud dan Risiko Paparan Data

Pelajari cara bucket S3, kontainer Azure Blob, dan bucket GCS yang salah konfigurasi menyebabkan paparan data, serta cara menerapkan kebijakan bucket dan kontrol akses.

Keamanan Penyimpanan Cloud dan Risiko Paparan Data adalah pelajaran Security+ Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Security+ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Security+ Academy mencakup 4 pelajaran total.

Dasar-Dasar Penyimpanan Objek Cloud

Penyimpanan objek cloud — AWS S3, Azure Blob Storage, dan Google Cloud Storage (GCS) — menyimpan file sebagai objek dalam ruang nama datar yang disebut bucket atau kontainer. Tidak seperti sistem file tradisional, izin dikendalikan melalui policy yang dilampirkan ke bucket dan objek, bukan melalui ACL sistem file. Penyimpanan objek ideal untuk data berskala besar, tetapi memerlukan konfigurasi izin yang cermat karena satu bucket yang salah konfigurasi dapat mengekspos terabita data sensitif ke internet publik.

Kesalahan Konfigurasi Bucket Publik

Kerentanan penyimpanan cloud yang paling umum adalah bucket yang dapat diakses publik — bucket penyimpanan yang policy aksesnya mengizinkan akses baca anonim (atau akses tulis). Kesalahan konfigurasi ini telah menyebabkan banyak pelanggaran besar: Verizon (14 juta catatan pelanggan), FedEx (119.000 paspor), dan Capital One (100 juta permohonan kartu kredit). Penyerang menggunakan pemindai otomatis untuk menemukan bucket publik di seluruh pola penamaan akun AWS yang diketahui, sehingga penemuannya mudah setelah kesalahan konfigurasi tersebut terjadi.

# Check if S3 bucket is publicly accessible
aws s3api get-bucket-policy --bucket my-bucket
aws s3api get-bucket-acl --bucket my-bucket

# Block all public access (AWS recommended default)
aws s3api put-public-access-block \
  --bucket my-bucket \
  --public-access-block-configuration \
  'BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true'

Policy Bucket vs ACL

Penyimpanan cloud menggunakan dua jenis kontrol akses yang dapat saling bertentangan. Policy bucket adalah dokumen JSON yang dilampirkan ke bucket dan menentukan principal mana yang dapat melakukan tindakan tertentu. Access Control Lists (ACL) adalah pemberian izin lama pada setiap objek. AWS merekomendasikan penonaktifan ACL dan penggunaan policy bucket demi konsistensi. Jika keduanya ada, policy yang paling permisif akan berlaku — artinya ACL yang terlalu permisif dapat memberikan akses publik meskipun policy bucket membatasinya.

# S3 bucket policy example — restrict to specific account
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Principal': { 'AWS': 'arn:aws:iam::123456789012:root' },
    'Action': 's3:GetObject',
    'Resource': 'arn:aws:s3:::my-bucket/*'
  }]
}
# All other principals implicitly denied

Enkripsi Saat Data Disimpan dalam Penyimpanan Objek

Penyedia penyimpanan cloud menawarkan enkripsi sisi server untuk objek yang sedang disimpan. SSE-S3 (AWS) secara otomatis menggunakan kunci yang dikelola AWS. SSE-KMS menggunakan kunci yang dikelola pelanggan dalam AWS Key Management Service, sehingga menyediakan jejak audit yang lebih baik (setiap dekripsi dicatat di CloudTrail) dan kendali rotasi kunci. SSE-C menggunakan kunci yang disediakan pelanggan dan sepenuhnya dikelola pelanggan di luar AWS. Untuk data sensitif, SSE-KMS dengan kunci yang dikelola pelanggan memberikan kendali dan bukti kepatuhan terkuat.

# Enforce encryption on S3 bucket (deny unencrypted uploads)
{
  'Effect': 'Deny',
  'Principal': '*',
  'Action': 's3:PutObject',
  'Resource': 'arn:aws:s3:::my-secure-bucket/*',
  'Condition': {
    'StringNotEquals': {
      's3:x-amz-server-side-encryption': 'aws:kms'
    }
  }
}

Enkripsi Saat Transit

Data yang telah dienkripsi dengan benar saat disimpan tetap dapat terekspos jika dikirim melalui saluran yang tidak terenkripsi. Semua API penyimpanan cloud harus diakses hanya melalui HTTPS/TLS. Untuk S3, policy bucket dapat memberlakukan HTTPS dengan menolak permintaan yang memiliki aws:SecureTransport: false. URL yang telah ditandatangani sebelumnya — URL terautentikasi sementara yang memberikan akses berbatas waktu ke objek — harus selalu menggunakan HTTPS dan dikonfigurasi dengan waktu kedaluwarsa singkat untuk memperkecil jendela paparan jika disadap.

# S3 bucket policy — deny HTTP (require HTTPS)
{
  'Effect': 'Deny',
  'Principal': '*',
  'Action': 's3:*',
  'Resource': ['arn:aws:s3:::my-bucket', 'arn:aws:s3:::my-bucket/*'],
  'Condition': {
    'Bool': { 'aws:SecureTransport': 'false' }
  }
}

Klasifikasi Data dan Tingkatan Penyimpanan

Tidak semua data memerlukan tingkat perlindungan yang sama. Data sensitif (PII, PHI, catatan keuangan) harus disimpan dalam bucket terenkripsi dengan akses terbatas dan pencatatan audit yang diaktifkan. Data yang kurang sensitif dapat memiliki akses yang lebih luas. Label klasifikasi data harus diterapkan saat objek dibuat dan digunakan untuk secara otomatis mengarahkan data ke penyimpanan yang dikonfigurasi dengan tepat. Policy yang secara otomatis memindahkan data ke penyimpanan yang lebih aman berdasarkan tag klasifikasi mengurangi kemungkinan data sensitif berakhir di bucket dengan keamanan rendah.

Pencatatan dan Pemantauan Akses Penyimpanan Cloud

Pencatatan akses sangat penting untuk mendeteksi akses tidak sah setelah kejadian dan untuk audit kepatuhan. Catatan akses AWS S3 dan pencatatan peristiwa data CloudTrail merekam setiap panggilan API tingkat objek — siapa yang meminta suatu objek, dari IP mana, dan pada waktu berapa. Pencatatan diagnostik Azure Blob dan catatan audit GCS menyediakan kemampuan serupa. Tanpa catatan ini, tidak ada bukti forensik ketika pelanggaran data ditemukan, sehingga cakupan paparan tidak mungkin ditentukan.

# Enable S3 access logging
aws s3api put-bucket-logging \
  --bucket my-bucket \
  --bucket-logging-status '{
    "LoggingEnabled": {
      "TargetBucket": "my-access-logs-bucket",
      "TargetPrefix": "my-bucket-logs/"
    }
  }'

Risiko Akses Lintas Akun

Penyimpanan cloud sering dibagikan di antara akun (pengembangan, pementasan, produksi, dan mitra pihak ketiga). Akses lintas akun yang dikonfigurasi secara sembarangan dapat memberikan izin berlebihan. Praktik terbaik meliputi: menggunakan ID akun secara eksplisit dalam policy bucket, bukan principal wildcard; menggunakan AWS Organizations SCP untuk membatasi akun eksternal mana yang boleh diberi akses; mengaudit pemberian akses lintas akun secara berkala; serta memilih AWS PrivateLink daripada akses internet publik untuk transfer data antarakun.

Pembuatan Versi dan Perlindungan Penghapusan

Pembuatan versi objek mempertahankan semua versi suatu objek, termasuk versi yang dihapus. Hal ini melindungi dari penghapusan tidak sengaja, enkripsi objek oleh ransomware, dan ancaman dari orang dalam. Untuk data penting, gabungkan pembuatan versi dengan Object Lock (setara dengan S3 Glacier Vault Lock) — policy WORM (Write Once, Read Many) yang mencegah penghapusan atau modifikasi apa pun selama periode retensi yang ditentukan. Object Lock dapat memenuhi persyaratan peraturan untuk catatan yang tidak dapat diubah dalam industri keuangan dan layanan kesehatan.

# Enable S3 versioning
aws s3api put-bucket-versioning \
  --bucket my-critical-bucket \
  --versioning-configuration Status=Enabled

# Enable Object Lock (immutable storage)
aws s3api put-object-lock-configuration \
  --bucket my-critical-bucket \
  --object-lock-configuration \
  'ObjectLockEnabled=Enabled,Rule={DefaultRetention={Mode=COMPLIANCE,Days=365}}'

Deteksi Kesalahan Konfigurasi Penyimpanan oleh CSPM

Alat Cloud Security Posture Management (CSPM) secara otomatis memindai konfigurasi penyimpanan cloud berdasarkan tolok ukur keamanan. Pemeriksaan CSPM meliputi: apakah ada bucket yang dapat diakses publik? Apakah enkripsi saat data disimpan telah diaktifkan? Apakah pencatatan telah diaktifkan? Apakah pembuatan versi telah diaktifkan pada bucket penting? Apakah policy bucket terlalu permisif? Alat CSPM seperti Prisma Cloud, Wiz, dan AWS Security Hub menyediakan pemantauan kepatuhan berkelanjutan serta memperingatkan perubahan konfigurasi sebelum penyerang menemukannya terlebih dahulu.

URL yang Telah Ditandatangani Sebelumnya dan Akses Sementara

URL yang telah ditandatangani sebelumnya memberikan akses berbatas waktu ke objek tertentu tanpa mengharuskan penerima memiliki kredensial AWS. URL ini berguna untuk berbagi file dengan pihak eksternal. Risiko keamanannya meliputi: URL dengan waktu kedaluwarsa yang terlalu lama sehingga tetap berlaku setelah periode berbagi yang dimaksud berakhir, URL yang diteruskan penerima kepada pihak di luar audiens yang dituju, serta token yang tertanam dalam URL dan muncul di catatan server. Selalu tetapkan waktu kedaluwarsa terpendek yang masih memungkinkan dan hindari pencatatan URL yang telah ditandatangani sebelumnya.

# Generate a pre-signed URL (expires in 3600 seconds)
aws s3 presign s3://my-bucket/report.pdf \
  --expires-in 3600

# Returns a URL valid for 1 hour
# After expiry, the URL returns 403 Forbidden
# Best practice: shortest expiry viable for the use case

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep CompTIA Security+ (SY0-701) dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini Anda mempelajari bahwa: kesalahan konfigurasi bucket publik merupakan penyebab paling umum pelanggaran data penyimpanan cloud, SSE-KMS menyediakan kendali enkripsi terkuat dengan pencatatan audit melalui CloudTrail, serta pembuatan versi objek yang dipadukan dengan Object Lock melindungi data penting dari ransomware dan penghapusan oleh orang dalam. Selanjutnya, kita akan membahas identitas cloud dengan peran IAM dan akun layanan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Keamanan Penyimpanan Cloud dan Risiko Paparan Data” gratis?

Ya — teks lengkap “Keamanan Penyimpanan Cloud dan Risiko Paparan Data” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Security+ Academy, upgrade ke CoddyKit PRO. Kursus Security+ Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Keamanan Penyimpanan Cloud dan Risiko Paparan Data”?

Pelajari cara bucket S3, kontainer Azure Blob, dan bucket GCS yang salah konfigurasi menyebabkan paparan data, serta cara menerapkan kebijakan bucket dan kontrol akses. Kamu berlatih Security+ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Security+ Academy?

Tidak diperlukan pengalaman sebelumnya. Security+ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Keamanan Penyimpanan Cloud dan Risiko Paparan Data” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Security+ Academy ini?

Ya. Setiap pelajaran Security+ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Model Tanggung Jawab Bersama: IaaS, PaaS, SaaS
  2. Keamanan Penyimpanan Cloud dan Risiko Paparan Data
  3. Identitas Cloud: Peran IAM dan Akun Layanan
  4. Manajemen Postur Keamanan Cloud (CSPM)
← Kembali ke Security+ Academy