📧 [email protected] 📞 +381 61 161 2299
Cloud Security

Otvoreni S3 bucketi: Kako cloud pogrešna konfiguracija izlaže milione zapisa

2026-07-27 · Shieldome Scout

Greška od jednog klika u AWS konzoli — checkbox "Block public access" koji nije čekiran — može izložiti celokupan bucket sa milijardama zapisa anonimnom internetu. Ovo se desilo stotinama kompanija.

← Blog

Problem sa javnim S3 bucketima

Amazon S3 (Simple Storage Service) je najrasprostranjeniji cloud storage servis. Svaki bucket može biti konfigurisan kao javan ili privatan. "Javan" znači da bilo ko na internetu može listati sadržaj i preuzimati fajlove bez autentifikacije — samo znanjem URL-a bucket-a.

URL pattern je predvidiv: https://bucket-name.s3.amazonaws.com/ ili https://s3.amazonaws.com/bucket-name/. Postoje automatizovani alati koji skeniraju milione kombinacija i pronalaze otvorene bucket-e.

Realni primeri curenja

Zašto nastaju ove greške?

AWS je uveo "S3 Block Public Access" opciju na nivou naloga 2018. Čak i ako bucket policy ili ACL dozvoljavaju javni pristup, ovaj "master switch" ga blokira. Uključite ga na nivou AWS Organization, ne samo individualnih bucket-a.

Kako proveriti vaše S3 buckets

AWS Console

S3 dashboard prikazuje "Access" kolonu za svaki bucket: "Bucket and objects not public" je jedini siguran status.

AWS CLI

aws s3api list-buckets --query 'Buckets[].Name'
aws s3api get-bucket-acl --bucket ime-vašeg-bucket-a
aws s3api get-bucket-policy --bucket ime-vašeg-bucket-a

AWS Trusted Advisor i Security Hub

Ovi servisi automatski identifikuju javne bucket-e i upozoravaju vas.

Sigurna konfiguracija S3

1. Block Public Access (obavezno)

aws s3api put-public-access-block \
  --bucket ime-bucket-a \
  --public-access-block-configuration \
  "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"

2. Bucket Policy — eksplicitni Deny

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Deny",
    "Principal": "*",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::ime-bucket-a/*",
    "Condition": {
      "Bool": {"aws:SecureTransport": "false"}
    }
  }]
}

3. Server-Side Encryption (SSE)

Uključite enkripciju u mirovanju: SSE-S3 (AWS managed key) ili SSE-KMS (customer managed key za viši nivo kontrole).

4. S3 Versioning i MFA Delete

Versioning čuva istoriju fajlova i štiti od slučajnog brisanja ili ransomware napada koji brišu podatke.

5. CloudTrail logovanje S3 Data Events

Svaki pristup bucket-u mora biti logovan — ko, kada, koji fajl. CloudTrail Data Events za S3 su skupi ali neophodni za kritične bucket-e.

Shieldome Scout analizira javno dostupne subdomene i URL pattern-e koji ukazuju na izložene cloud resurse kao deo standardne procene.

Proverite bezbednost vašeg sajta

Profesionalna procena ranjivosti. OWASP Top 10, dark web monitoring, PDF izveštaj za 2–3 radna dana.

Zatražite procenu →