0Pricing
Security+ Academy · Ders

Bulut Depolama Güvenliği ve Veri Açığa Çıkma Riskleri

Yanlış yapılandırılmış S3 kovalarının, Azure Blob kapsayıcılarının ve GCS kovalarının veri açığa çıkmasına nasıl yol açtığını ve kova politikalarıyla erişim denetimlerini nasıl uygulayacağınızı öğrenin.

Bulut Depolama Güvenliği ve Veri Açığa Çıkma Riskleri, CoddyKit'te ücretsiz bir Security+ Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Security+ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Security+ Academy kursu toplamda 4 dersten oluşur.

Bulut Nesne Depolamanın Temelleri

Bulut nesne depolama hizmetleri olan AWS S3, Azure Blob Storage ve Google Cloud Storage (GCS), dosyaları bucket veya container adı verilen düz ad alanlarında nesne olarak depolar. Geleneksel dosya sistemlerinden farklı olarak izinler, dosya sistemi ACL'leri yerine bucket'lara ve nesnelere eklenen policy'ler aracılığıyla denetlenir. Nesne depolama büyük ölçekli veriler için idealdir; ancak dikkatli izin yapılandırması gerektirir, çünkü tek bir yanlış yapılandırılmış bucket, terabaytlarca hassas veriyi genel internete açabilir.

Herkese Açık Bucket Yanlış Yapılandırmaları

Bulut depolamadaki en yaygın güvenlik açığı, herkese açık bir bucket kullanılmasıdır; bu, erişim policy'sinin anonim okuma (veya yazma) erişimine izin verdiği bir depolama bucket'ıdır. Bu yanlış yapılandırma, çok sayıda büyük ihlale yol açmıştır: Verizon (14 milyon müşteri kaydı), FedEx (119.000 pasaport) ve Capital One (100 milyon kredi kartı başvurusu). Saldırganlar, bilinen tüm AWS hesap adlandırma kalıpları arasında herkese açık bucket'ları keşfetmek için otomatik tarayıcılar kullanır; bu nedenle yanlış yapılandırma mevcut olduğunda keşif son derece kolaydır.

# 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'

Bucket Policy'leri ve ACL'ler

Bulut depolama, çakışabilen iki tür erişim denetimi kullanır. Bucket policy'leri, bucket'a eklenen ve hangi sorumluların hangi eylemleri gerçekleştirebileceğini tanımlayan JSON belgeleridir. Erişim Denetimi Listeleri (ACL'ler) ise nesne bazında izin veren eski bir yöntemdir. AWS, tutarlılık sağlamak için ACL'lerin devre dışı bırakılıp bucket policy'lerinin kullanılmasını önerir. Her ikisi de mevcut olduğunda en geniş izin veren policy geçerli olur; yani aşırı geniş yetkili bir ACL, bucket policy'si erişimi kısıtlasa bile herkese açık erişim sağlayabilir.

# 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

Nesne Depolamada Bekleme Durumunda Şifreleme

Bulut depolama sağlayıcıları, bekleme durumundaki nesneler için sunucu tarafı şifreleme sunar. SSE-S3 (AWS), AWS tarafından yönetilen anahtarları otomatik olarak kullanır. SSE-KMS, AWS Key Management Service içindeki müşteri tarafından yönetilen anahtarları kullanır; daha iyi denetim izleri sağlar (her şifre çözme işlemi CloudTrail'de kaydedilir) ve anahtar döndürme üzerinde denetim sunar. SSE-C, müşterinin sağladığı ve tamamen AWS dışında yönettiği anahtarları kullanır. Hassas veriler için müşteri tarafından yönetilen anahtarlarla SSE-KMS, en güçlü denetimi ve uyumluluk kanıtını sağlar.

# 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'
    }
  }
}

Aktarım Sırasında Şifreleme

Bekleme durumunda uygun şekilde şifrelenmiş veriler bile şifrelenmemiş kanallardan aktarılırsa açığa çıkabilir. Tüm bulut depolama API'lerine yalnızca HTTPS/TLS üzerinden erişilmelidir. S3 için bucket policy'leri, aws:SecureTransport: false içeren istekleri reddederek HTTPS'yi zorunlu kılabilir. Önceden imzalanmış URL'ler — nesnelere süre sınırlı erişim sağlayan geçici kimliği doğrulanmış URL'ler — her zaman HTTPS kullanmalı ve ele geçirilmeleri durumunda açığa çıkma süresini en aza indirmek için kısa sona erme süreleriyle yapılandırılmalıdır.

# 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' }
  }
}

Veri Sınıflandırması ve Depolama Katmanları

Her veri aynı düzeyde koruma gerektirmez. Hassas veriler (PII, PHI, finansal kayıtlar), şifrelenmiş, erişimi kısıtlanmış ve denetim kaydı etkinleştirilmiş bucket'larda depolanmalıdır. Daha az hassas veriler daha geniş erişime sahip olabilir. Veri sınıflandırma etiketleri nesne oluşturulurken uygulanmalı ve verileri uygun şekilde yapılandırılmış depolamaya otomatik olarak yönlendirmek için kullanılmalıdır. Verileri sınıflandırma etiketlerine göre otomatik olarak daha güvenli depolamaya taşıyan policy'ler, hassas verilerin düşük güvenlikli bucket'larda bulunma olasılığını azaltır.

Bulut Depolama Erişimini Kaydetme ve İzleme

Erişim kayıtları, geçmişte gerçekleşen yetkisiz erişimleri tespit etmek ve uyumluluk denetimleri yapmak için kritik öneme sahiptir. AWS S3 erişim kayıtları ve CloudTrail veri olayı kaydı, nesne düzeyindeki her API çağrısını kaydeder: bir nesneyi kimin, hangi IP adresinden ve hangi saatte istediğini gösterir. Azure Blob tanılama kayıtları ve GCS denetim kayıtları da benzer özellikler sunar. Bu kayıtlar olmadan bir veri ihlali keşfedildiğinde adli inceleme kanıtı bulunmaz ve açığa çıkmanın kapsamını belirlemek imkânsız hale gelir.

# 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/"
    }
  }'

Hesaplar Arası Erişim Riskleri

Bulut depolama genellikle hesaplar arasında paylaşılır (geliştirme, hazırlık, üretim ve üçüncü taraf iş ortakları). Dikkatsizce yapılandırılan hesaplar arası erişim, aşırı izinler sağlayabilir. En iyi uygulamalar şunları içerir: bucket policy'lerinde joker karakterli sorumlular yerine açık hesap kimlikleri kullanmak, hangi harici hesaplara erişim verilebileceğini tümüyle kısıtlamak için AWS Organizations SCP'leri kullanmak, hesaplar arası izinleri düzenli olarak denetlemek ve hesaplar arası veri aktarımlarında genel internet erişimi yerine AWS PrivateLink'i tercih etmek.

Sürüm Oluşturma ve Silmeye Karşı Koruma

Nesne sürüm oluşturma, silinen sürümler de dâhil olmak üzere bir nesnenin tüm sürümlerini korur. Bu özellik yanlışlıkla silmeye, nesnelerin fidye yazılımıyla şifrelenmesine ve içeriden gelen tehditlere karşı koruma sağlar. Kritik veriler için sürüm oluşturmayı Object Lock (S3 Glacier Vault Lock eşdeğeri) ile birleştirin. Bu, tanımlanmış bir saklama süresi boyunca hiçbir silme veya değişiklik işlemine izin vermeyen bir WORM (Bir Kez Yaz, Çok Kez Oku) policy'sidir. Object Lock, finans ve sağlık sektörlerinde değiştirilemez kayıtlarla ilgili mevzuat gereksinimlerini karşılayabilir.

# 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}}'

Depolama Yanlış Yapılandırmalarını CSPM ile Tespit Etme

Bulut Güvenlik Duruşu Yönetimi (CSPM) araçları, bulut depolama yapılandırmalarını güvenlik ölçütlerine göre otomatik olarak tarar. CSPM denetimleri şunları kapsar: Herhangi bir bucket herkese açık mı? Bekleme durumunda şifreleme etkin mi? Kayıt tutma etkin mi? Kritik bucket'larda sürüm oluşturma etkin mi? Bucket policy'leri aşırı geniş yetkilere sahip mi? Prisma Cloud, Wiz ve AWS Security Hub gibi CSPM araçları sürekli uyumluluk izleme sağlar ve saldırganlar önce keşfetmeden önce yapılandırma sapmalarını uyarıyla bildirir.

Önceden İmzalanmış URL'ler ve Geçici Erişim

Önceden imzalanmış URL'ler, alıcının AWS kimlik bilgilerine sahip olmasını gerektirmeden belirli nesnelere süre sınırlı erişim sağlar. Dosyaları harici taraflarla paylaşmak için kullanışlıdır. Güvenlik riskleri arasında şunlar bulunur: amaçlanan paylaşım süresini aşacak kadar uzun sona erme sürelerine sahip URL'ler, alıcıların URL'leri amaçlanan hedef kitle dışındaki kişilere iletmesi ve URL'lere gömülü belirteçlerin sunucu kayıtlarında görünmesi. Her zaman uygulanabilir en kısa sona erme süresini belirleyin ve önceden imzalanmış URL'leri kaydetmekten kaçının.

# 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

Kısa Test

Bu dersteki CompTIA Security+ (SY0-701) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: herkese açık bucket yanlış yapılandırmaları, bulut depolama veri ihlallerinin en yaygın nedenidir; SSE-KMS, CloudTrail üzerinden denetim kaydıyla birlikte en güçlü şifreleme denetimini sağlar; ayrıca Object Lock ile birleştirilen nesne sürüm oluşturma, kritik verilerin fidye yazılımına ve içeriden gelen silmelere karşı korunmasını sağlar. Sırada IAM rolleri ve hizmet hesaplarıyla bulut kimliğini inceleyeceğiz.

Sıkça Sorulan Sorular

“Bulut Depolama Güvenliği ve Veri Açığa Çıkma Riskleri” dersi ücretsiz mi?

Evet — “Bulut Depolama Güvenliği ve Veri Açığa Çıkma Riskleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Security+ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Security+ Academy kursu toplamda 4 dersten oluşur.

“Bulut Depolama Güvenliği ve Veri Açığa Çıkma Riskleri” dersinde ne öğreneceğim?

Yanlış yapılandırılmış S3 kovalarının, Azure Blob kapsayıcılarının ve GCS kovalarının veri açığa çıkmasına nasıl yol açtığını ve kova politikalarıyla erişim denetimlerini nasıl uygulayacağınızı öğren… Security+ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Security+ Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Security+ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Bulut Depolama Güvenliği ve Veri Açığa Çıkma Riskleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Security+ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Security+ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Paylaşılan Sorumluluk Modeli: IaaS, PaaS, SaaS
  2. Bulut Depolama Güvenliği ve Veri Açığa Çıkma Riskleri
  3. Bulut Kimliği: IAM Rolleri ve Hizmet Hesapları
  4. Bulut Güvenlik Duruşu Yönetimi (CSPM)
← Security+ Academy Sayfasına Dön