Keselamatan Storan Awan dan Risiko Pendedahan Data
Pelajari cara bucket S3, bekas Azure Blob dan bucket GCS yang tersalah konfigurasi menyebabkan pendedahan data, serta cara menguatkuasakan dasar bucket dan kawalan capaian.
Keselamatan Storan Awan dan Risiko Pendedahan Data ialah pelajaran Security+ Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Security+ Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Security+ Academy merangkumi sejumlah 4 pelajaran.
Asas Storan Objek Awan
Storan objek awan — AWS S3, Azure Blob Storage dan Google Cloud Storage (GCS) — menyimpan fail sebagai objek dalam ruang nama rata yang dipanggil bucket atau bekas. Tidak seperti sistem fail tradisional, kebenaran dikawal melalui polisi yang dilampirkan pada bucket dan objek, bukannya ACL sistem fail. Storan objek sesuai untuk data berskala besar tetapi memerlukan konfigurasi kebenaran yang teliti, kerana satu bucket yang salah konfigurasi boleh mendedahkan terabait data sensitif kepada internet awam.
Salah Konfigurasi Bucket Awam
Kerentanan storan awan yang paling biasa ialah bucket yang boleh dicapai oleh orang awam — bucket storan yang polisi aksesnya membenarkan akses baca tanpa nama (atau akses tulis). Salah konfigurasi ini telah menyebabkan berpuluh-puluh pelanggaran besar: Verizon (14 juta rekod pelanggan), FedEx (119,000 pasport) dan Capital One (100 juta permohonan kad kredit). Penyerang menggunakan pengimbas automatik untuk menemui bucket awam merentas semua corak penamaan akaun AWS yang diketahui, menjadikan penemuan amat mudah sebaik sahaja salah konfigurasi berlaku.
# 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'Polisi Bucket berbanding ACL
Storan awan menggunakan dua jenis kawalan akses yang boleh bercanggah. Polisi bucket ialah dokumen JSON yang dilampirkan pada bucket dan mentakrifkan prinsipal yang boleh melaksanakan tindakan tertentu. Senarai Kawalan Akses (ACL) ialah pemberian kebenaran mengikut objek yang merupakan kaedah lama. AWS mengesyorkan ACL dinyahdayakan dan digantikan dengan polisi bucket demi keseragaman. Apabila kedua-duanya wujud, polisi yang paling permisif akan menang — ini bermakna ACL yang terlalu permisif boleh memberikan akses awam walaupun polisi bucket menyekatnya.
# 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 deniedPenyulitan Semasa Tidak Digunakan dalam Storan Objek
Penyedia storan awan menawarkan penyulitan sebelah pelayan untuk objek yang tidak digunakan. SSE-S3 (AWS) menggunakan kunci yang diurus AWS secara automatik. SSE-KMS menggunakan kunci yang diurus pelanggan dalam AWS Key Management Service, lalu menyediakan jejak audit yang lebih baik (setiap penyahsulitan direkodkan dalam CloudTrail) serta kawalan putaran kunci. SSE-C menggunakan kunci yang disediakan pelanggan dan diurus sepenuhnya oleh pelanggan di luar AWS. Untuk data sensitif, SSE-KMS dengan kunci yang diurus pelanggan memberikan kawalan dan bukti pematuhan yang paling kukuh.
# 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'
}
}
}Penyulitan Semasa Penghantaran
Data yang disulitkan dengan betul semasa tidak digunakan masih boleh terdedah jika dihantar melalui saluran yang tidak disulitkan. Semua APIs storan awan hendaklah dicapai secara eksklusif melalui HTTPS/TLS. Bagi S3, polisi bucket boleh menguatkuasakan HTTPS dengan menolak permintaan yang mengandungi aws:SecureTransport: false. URL pra-tandatangan — URL disahkan sementara yang memberikan akses berjangka kepada objek — hendaklah sentiasa menggunakan HTTPS dan dikonfigurasikan dengan tempoh luput yang singkat untuk mengehadkan tempoh pendedahan jika dipintas.
# 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' }
}
}Pengelasan Data dan Tahap Storan
Tidak semua data memerlukan tahap perlindungan yang sama. Data sensitif (PII, PHI, rekod kewangan) mesti disimpan dalam bucket yang disulitkan dan aksesnya dihadkan, dengan pembalakan audit didayakan. Data yang kurang sensitif mungkin mempunyai akses yang lebih luas. Label pengelasan data hendaklah digunakan semasa objek dicipta dan digunakan untuk menghalakan data secara automatik ke storan yang dikonfigurasikan dengan sewajarnya. Polisi yang mengalihkan data secara automatik ke storan yang lebih selamat berdasarkan tag pengelasan mengurangkan kemungkinan data sensitif berakhir dalam bucket yang keselamatannya rendah.
Pembalakan dan Pemantauan Akses Storan Awan
Pembalakan akses amat penting untuk mengesan akses tanpa kebenaran selepas kejadian dan untuk pengauditan pematuhan. Log akses AWS S3 dan pembalakan peristiwa data CloudTrail merekodkan setiap panggilan API pada peringkat objek — siapa yang meminta objek, dari IP mana dan pada waktu bila. Pembalakan diagnostik Azure Blob dan log audit GCS menyediakan keupayaan yang serupa. Tanpa log ini, tiada bukti forensik apabila pelanggaran data ditemui, menjadikan skop pendedahan mustahil 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 Rentas Akaun
Storan awan sering dikongsi merentas akaun (pembangunan, pementasan, pengeluaran dan rakan kongsi pihak ketiga). Akses rentas akaun yang dikonfigurasikan secara cuai boleh memberikan kebenaran berlebihan. Amalan terbaik termasuk menggunakan ID akaun yang jelas dalam polisi bucket dan bukannya prinsipal kad bebas, menggunakan AWS Organizations SCPs untuk mengehadkan akaun luaran yang boleh diberikan akses, mengaudit pemberian akses rentas akaun secara berkala dan mengutamakan AWS PrivateLink berbanding akses internet awam untuk pemindahan data antara akaun.
Penerbitan Versi dan Perlindungan Pemadaman
Penerbitan versi objek mengekalkan semua versi objek, termasuk versi yang dipadamkan. Ini melindungi daripada pemadaman tidak sengaja, penyulitan objek oleh perisian tebusan dan ancaman orang dalam. Untuk data kritikal, gabungkan penerbitan versi dengan Object Lock (setara dengan S3 Glacier Vault Lock) — polisi WORM (Tulis Sekali, Baca Banyak) yang menghalang sebarang pemadaman atau pengubahsuaian sepanjang tempoh pengekalan yang ditetapkan. Object Lock boleh memenuhi keperluan kawal selia untuk rekod tidak berubah dalam industri kewangan dan penjagaan kesihatan.
# 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}}'Pengesanan Salah Konfigurasi Storan oleh CSPM
Alat Cloud Security Posture Management (CSPM) mengimbas konfigurasi storan awan secara automatik berdasarkan penanda aras keselamatan. Semakan CSPM termasuk: adakah mana-mana bucket boleh dicapai oleh orang awam? Adakah penyulitan semasa tidak digunakan didayakan? Adakah pembalakan didayakan? Adakah penerbitan versi didayakan pada bucket kritikal? Adakah polisi bucket terlalu permisif? Alat CSPM seperti Prisma Cloud, Wiz dan AWS Security Hub menyediakan pemantauan pematuhan berterusan serta memberi amaran tentang hanyutan konfigurasi sebelum penyerang menemuinya terlebih dahulu.
URL Pra-Tandatangan dan Akses Sementara
URL pra-tandatangan memberikan akses berjangka kepada objek tertentu tanpa memerlukan penerima mempunyai bukti kelayakan AWS. URL ini berguna untuk berkongsi fail dengan pihak luar. Risiko keselamatan termasuk: URL dengan tempoh luput yang terlalu panjang sehingga kekal melebihi tempoh perkongsian yang dimaksudkan, URL yang diteruskan oleh penerima kepada pihak di luar khalayak yang dimaksudkan dan token yang dibenamkan dalam URL lalu muncul dalam log pelayan. Sentiasa tetapkan tempoh luput paling singkat yang sesuai dan elakkan pembalakan URL pra-tandatangan.
# 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 caseSemakan Pantas
Uji pemahaman anda tentang konsep CompTIA Security+ (SY0-701) daripada pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini, anda telah mempelajari bahawa: salah konfigurasi bucket awam ialah punca paling biasa pelanggaran data storan awan, SSE-KMS menyediakan kawalan penyulitan paling kukuh dengan pembalakan audit melalui CloudTrail, dan penerbitan versi objek yang digabungkan dengan Object Lock melindungi data kritikal daripada perisian tebusan dan pemadaman oleh orang dalam. Seterusnya, kita akan meneroka identiti awan dengan peranan IAM dan akaun perkhidmatan.
Pelajari Security+ Academy dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Keselamatan Storan Awan dan Risiko Pendedahan Data” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Security+ Academy, termasuk “Keselamatan Storan Awan dan Risiko Pendedahan Data”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Security+ Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Keselamatan Storan Awan dan Risiko Pendedahan Data”?
Pelajari cara bucket S3, bekas Azure Blob dan bucket GCS yang tersalah konfigurasi menyebabkan pendedahan data, serta cara menguatkuasakan dasar bucket dan kawalan capaian. Anda berlatih Security+ Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Security+ Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Security+ Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Keselamatan Storan Awan dan Risiko Pendedahan Data” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Security+ Academy ini?
Ya. Setiap pelajaran Security+ Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Model Tanggungjawab Dikongsi: IaaS, PaaS, SaaS
- Keselamatan Storan Awan dan Risiko Pendedahan Data
- Identiti Awan: Peranan IAM dan Akaun Perkhidmatan
- Pengurusan Postur Keselamatan Awan (CSPM)