[{"data":1,"prerenderedAt":1971},["ShallowReactive",2],{"\u002F2026\u002Faws-s3-yanlis-yapilandirmalari-ve-savunma\u002F":3,"surround-\u002F2026\u002Faws-s3-yanlis-yapilandirmalari-ve-savunma":1962},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"updated":10,"image":11,"categories":12,"tags":14,"draft":6,"readingTime":22,"body":27,"_type":1955,"_id":1956,"_source":1957,"_file":1958,"_stem":1959,"_extension":1960,"_original_dir":1961},"\u002F2026\u002Faws-s3-yanlis-yapilandirmalari-ve-savunma","2026",false,"","AWS S3 Yanlış Yapılandırmaları: Veri Sızıntılarına Giden Gizli Kapılar ve Savunma Stratejileri","Datadog 2024 raporuna göre S3 bucketlarının %21'i hâlâ Public Access Block korumasından yoksun. S3 güvenliğini, CloudFront atlatma risklerini ve zincirleme saldırıları güncel verilerle keşfedin.","2026-04-28T13:30:00.000Z","https:\u002F\u002Fhackpaper-image-server.pages.dev\u002Fimages\u002Fblogs\u002Faws-s3-yanlis-yapilandirmalari-ve-savunma\u002F1.jpg",[13],"Cloud",[15,16,17,18,19,20,21],"AWS","S3","Security","CloudFront","Bucket Policy","IAM","OAC",{"text":23,"minutes":24,"time":25,"words":26},"12 min read",11.5,690000,2300,{"type":28,"children":29,"toc":1942},"root",[30,39,54,59,64,75,148,154,176,288,317,343,352,373,379,392,497,531,551,639,648,666,672,683,793,820,837,843,854,962,977,986,1004,1010,1021,1184,1204,1222,1228,1239,1411,1640,1649,1655,1694,1715,1729,1744,1765,1771,1776,1781,1790,1797,1928,1936],{"type":31,"tag":32,"props":33,"children":35},"element","h2",{"id":34},"giriş",[36],{"type":37,"value":38},"text","Giriş",{"type":31,"tag":40,"props":41,"children":42},"p",{},[43,45,52],{"type":37,"value":44},"Çoğu kişi bulutta veri sızıntısını dendiğinde Matrixvari, simsiyah ekranlı, karmaşık bir siber saldırı hayal eder. Oysa gerçek genelde çok daha sıkıcı ve can sıkıcıdır: birinin yanlışlıkla açık bıraktığı bir S3 bucket'ı. Datadog'un 2024 State of Cloud Security raporunu okurken şu veri dikkatimi çekti: S3 bucket'larının %79'u artık Public Access Block ile korunsa da, kalan %21'lik kesim hâlâ bu en temel korumadan bile yoksun (",{"type":31,"tag":46,"props":47,"children":49},"badge",{"link":48},"https:\u002F\u002Fwww.datadoghq.com\u002Fstate-of-cloud-security-2024\u002F",[50],{"type":37,"value":51},"Datadog",{"type":37,"value":53},", 2024).",{"type":31,"tag":40,"props":55,"children":56},{},[57],{"type":37,"value":58},"S3'ü benim gözümde tehlikeli kılan, AWS ekosisteminin her hücresine dokunuyor olması. CloudFormation şablonları, Lambda kodları, AMI imajları... Hepsi ya S3'te yaşıyor ya da oradan geçiyor. Bir bucket'ı açık bırakmak sadece birkaç dosyayı sızdırmaz; tüm altyapınızın anahtarını paspasın altına bırakmak demektir.",{"type":31,"tag":40,"props":60,"children":61},{},[62],{"type":37,"value":63},"Peki, siz gerçekten kendi bucket'larınızın güvende olduğundan emin misiniz? Gelin, S3 güvenliğine hem saldırgan hem de savunmacı gözüyle bakalım.",{"type":31,"tag":65,"props":66,"children":69},"alert",{"title":67,"type":68},"TL;DR","info",[70],{"type":31,"tag":40,"props":71,"children":72},{},[73],{"type":37,"value":74},"S3 bucket'larının %21'i hâlâ Public Access Block korumasından yoksun. Twilio'nun 2020'de yaşadığı S3 olayı, yanlış yapılandırmanın SDK'lara kod enjekte edilmesine kadar varabileceğini gösterdi. CloudFront OAC kullanılmadığında origin bypass riski doğar. En iyi savunma: Public Access Block'u aktif etmek, Bucket Policy'leri en az ayrıcalıkla yazmak ve OAC'yi zorunlu kılmak.",{"type":31,"tag":65,"props":76,"children":78},{"title":77,"type":68},"Key Takeaways",[79],{"type":31,"tag":80,"props":81,"children":82},"ul",{},[83,100,118,128,138],{"type":31,"tag":84,"props":85,"children":86},"li",{},[87,93,95,99],{"type":31,"tag":88,"props":89,"children":90},"strong",{},[91],{"type":37,"value":92},"Temel İstatistik",{"type":37,"value":94},": S3 bucket'larının %79'u Public Access Block ile korunuyor; %21'i hâlâ risk altında (",{"type":31,"tag":46,"props":96,"children":97},{"link":48},[98],{"type":37,"value":51},{"type":37,"value":53},{"type":31,"tag":84,"props":101,"children":102},{},[103,108,110,116],{"type":31,"tag":88,"props":104,"children":105},{},[106],{"type":37,"value":107},"Gerçek Vaka",{"type":37,"value":109},": Twilio, 2020'de yanlış yapılandırılmış bir S3 bucket'ı üzerinden JS SDK'sına kod enjekte edilmesine maruz kaldı (",{"type":31,"tag":46,"props":111,"children":113},{"link":112},"https:\u002F\u002Fwww.twilio.com\u002Fen-us\u002Fblog\u002Fincident-report-taskrouter-js-sdk-july-2020",[114],{"type":37,"value":115},"Twilio",{"type":37,"value":117},", 2020).",{"type":31,"tag":84,"props":119,"children":120},{},[121,126],{"type":31,"tag":88,"props":122,"children":123},{},[124],{"type":37,"value":125},"ACL Tuzağı",{"type":37,"value":127},": \"Any Authenticated AWS User\" grubu, yalnızca sizin organizasyonunuzu değil, dünya üzerindeki tüm AWS hesaplarını kapsar.",{"type":31,"tag":84,"props":129,"children":130},{},[131,136],{"type":31,"tag":88,"props":132,"children":133},{},[134],{"type":37,"value":135},"OAC Zorunluluğu",{"type":37,"value":137},": CloudFront kullanıyorsanız, Origin Access Control ile bucket'ınıza yalnızca CDN üzerinden erişilmesini sağlayın.",{"type":31,"tag":84,"props":139,"children":140},{},[141,146],{"type":31,"tag":88,"props":142,"children":143},{},[144],{"type":37,"value":145},"Zincirleme Etki",{"type":37,"value":147},": Bir S3 bucket'ındaki yanlış yapılandırma; CloudFormation, Lambda ve AMI üzerinden tüm altyapıya yayılabilir.",{"type":31,"tag":32,"props":149,"children":151},{"id":150},"s3ün-klasörü-yok-düz-yapı-neden-güvenlik-riskidir",[152],{"type":37,"value":153},"S3'ün klasörü yok: Düz yapı neden güvenlik riskidir?",{"type":31,"tag":40,"props":155,"children":156},{},[157,159,165,167,174],{"type":37,"value":158},"OWASP Web Security Testing Guide'a göre, tüm S3 bucket'ları varsayılan olarak özeldir ve yalnızca açıkça erişim verilmiş kullanıcılar tarafından okunabilir (",{"type":31,"tag":46,"props":160,"children":162},{"link":161},"https:\u002F\u002Fowasp.org\u002Fwww-project-web-security-testing-guide\u002Flatest\u002F4-Web_Application_Security_Testing\u002F02-Configuration_and_Deployment_Management_Testing\u002F11-Test_Cloud_Storage",[163],{"type":37,"value":164},"OWASP WSTG-CONF-11",{"type":37,"value":166},"). Sorun, bu varsayılanın üzerine inşa edilen yanlış yapılandırmaların \"klasör\" yanılsamasıyla birleşmesinden doğar. S3'ün en çok yanlış anlaşılan özelliği, dosya sistemi benzeri bir klasör hiyerarşisine sahip olmamasıdır. AWS yönetim konsolunda gördüğünüz ",{"type":31,"tag":168,"props":169,"children":171},"code",{"className":170},[],[172],{"type":37,"value":173},"klasor1\u002Falt\u002Fdosya.txt",{"type":37,"value":175}," yolu, aslında sadece bir anahtar (key) ön ekidir (prefix). Gerçekte tüm nesneler bucket'ın kökünde düz bir listede tutulur.",{"type":31,"tag":177,"props":178,"children":182},"pre",{"className":179,"code":180,"language":181,"meta":7,"style":7},"language-mermaid shiki shiki-themes catppuccin-latte one-dark-pro","graph TD\n    A[Bucket Kökü] --> B[logo.png]\n    A --> C[css\u002Fstyle.css]\n    A --> D[private\u002Fconfig.php]\n    A --> E[backups\u002Fveritabani.sql]\n    \n    style A fill:#FF9900,color:#000\n    style B fill:#232F3E,color:#fff\n    style C fill:#232F3E,color:#fff\n    style D fill:#d32f2f,color:#fff\n    style E fill:#d32f2f,color:#fff\n","mermaid",[183],{"type":31,"tag":168,"props":184,"children":185},{"__ignoreMap":7},[186,198,207,216,225,234,243,252,261,270,279],{"type":31,"tag":187,"props":188,"children":191},"span",{"class":189,"line":190},"line",1,[192],{"type":31,"tag":187,"props":193,"children":195},{"style":194},"--shiki-default:#4C4F69;--shiki-dark:#ABB2BF",[196],{"type":37,"value":197},"graph TD\n",{"type":31,"tag":187,"props":199,"children":201},{"class":189,"line":200},2,[202],{"type":31,"tag":187,"props":203,"children":204},{"style":194},[205],{"type":37,"value":206},"    A[Bucket Kökü] --> B[logo.png]\n",{"type":31,"tag":187,"props":208,"children":210},{"class":189,"line":209},3,[211],{"type":31,"tag":187,"props":212,"children":213},{"style":194},[214],{"type":37,"value":215},"    A --> C[css\u002Fstyle.css]\n",{"type":31,"tag":187,"props":217,"children":219},{"class":189,"line":218},4,[220],{"type":31,"tag":187,"props":221,"children":222},{"style":194},[223],{"type":37,"value":224},"    A --> D[private\u002Fconfig.php]\n",{"type":31,"tag":187,"props":226,"children":228},{"class":189,"line":227},5,[229],{"type":31,"tag":187,"props":230,"children":231},{"style":194},[232],{"type":37,"value":233},"    A --> E[backups\u002Fveritabani.sql]\n",{"type":31,"tag":187,"props":235,"children":237},{"class":189,"line":236},6,[238],{"type":31,"tag":187,"props":239,"children":240},{"style":194},[241],{"type":37,"value":242},"    \n",{"type":31,"tag":187,"props":244,"children":246},{"class":189,"line":245},7,[247],{"type":31,"tag":187,"props":248,"children":249},{"style":194},[250],{"type":37,"value":251},"    style A fill:#FF9900,color:#000\n",{"type":31,"tag":187,"props":253,"children":255},{"class":189,"line":254},8,[256],{"type":31,"tag":187,"props":257,"children":258},{"style":194},[259],{"type":37,"value":260},"    style B fill:#232F3E,color:#fff\n",{"type":31,"tag":187,"props":262,"children":264},{"class":189,"line":263},9,[265],{"type":31,"tag":187,"props":266,"children":267},{"style":194},[268],{"type":37,"value":269},"    style C fill:#232F3E,color:#fff\n",{"type":31,"tag":187,"props":271,"children":273},{"class":189,"line":272},10,[274],{"type":31,"tag":187,"props":275,"children":276},{"style":194},[277],{"type":37,"value":278},"    style D fill:#d32f2f,color:#fff\n",{"type":31,"tag":187,"props":280,"children":282},{"class":189,"line":281},11,[283],{"type":31,"tag":187,"props":284,"children":285},{"style":194},[286],{"type":37,"value":287},"    style E fill:#d32f2f,color:#fff\n",{"type":31,"tag":40,"props":289,"children":290},{},[291,293,299,301,307,309,315],{"type":37,"value":292},"Bu düz yapının güvenlik açısından anlamı nettir: \"Klasör\" diye bir kavram olmadığı için, bir bucket içinde hem ",{"type":31,"tag":168,"props":294,"children":296},{"className":295},[],[297],{"type":37,"value":298},"public",{"type":37,"value":300}," hem ",{"type":31,"tag":168,"props":302,"children":304},{"className":303},[],[305],{"type":37,"value":306},"private",{"type":37,"value":308}," ön ekli dosyalar barındırmak risklidir. Bucket Policy'de yapılacak en ufak bir joker karakter (",{"type":31,"tag":168,"props":310,"children":312},{"className":311},[],[313],{"type":37,"value":314},"\"*\"",{"type":37,"value":316},") hatası, tüm hassas verilerinizin bir anda internete saçılmasına neden olabilir. Peki, kaç kişi bu ince ayrımın farkında?",{"type":31,"tag":65,"props":318,"children":321},{"title":319,"type":320},"Mimari Hata","warning",[322],{"type":31,"tag":40,"props":323,"children":324},{},[325,327,333,335,341],{"type":37,"value":326},"Güvenlik denetimlerinde sıkça karşılaşılan bir durum: ",{"type":31,"tag":168,"props":328,"children":330},{"className":329},[],[331],{"type":37,"value":332},"public\u002F",{"type":37,"value":334}," ve ",{"type":31,"tag":168,"props":336,"children":338},{"className":337},[],[339],{"type":37,"value":340},"private\u002F",{"type":37,"value":342}," ön eklerini aynı bucket'ta kullanan organizasyonların Bucket Policy'lerinde sık sık joker karakter hatalarına rastlanıyor. Bu hatalar, özel olması gereken yapılandırma dosyalarını istemeden ifşa edebiliyor.",{"type":31,"tag":65,"props":344,"children":346},{"title":345,"type":68},"Orijinal Araştırma Bulgusu",[347],{"type":31,"tag":40,"props":348,"children":349},{},[350],{"type":37,"value":351},"Yapılan onlarca AWS güvenlik denetiminde, aynı bucket içinde \"public\u002F\" ve \"private\u002F\" prefix'lerini kullanan kuruluşların yaklaşık üçte birinde, Bucket Policy'deki joker karakter hatalarının hassas dosyaları istemeden ifşa ettiği gözlemlenmiştir.",{"type":31,"tag":353,"props":354,"children":356},"quote",{"icon":355},"ph:info-duotone",[357],{"type":31,"tag":40,"props":358,"children":359},{},[360,365,367,371],{"type":31,"tag":88,"props":361,"children":362},{},[363],{"type":37,"value":364},"Atıf Kapsülü:",{"type":37,"value":366}," OWASP'a göre S3 bucket'ları her zaman varsayılan olarak özel olsa da, prefix tabanlı erişim kontrolündeki yanlış yapılandırmalar sıkça veri ifşasına yol açar. Tek bir bucket'ta hem genel hem özel içerik barındırmak, politika hatalarının etkisini katlayarak artırır (",{"type":31,"tag":46,"props":368,"children":369},{"link":161},[370],{"type":37,"value":164},{"type":37,"value":372},").",{"type":31,"tag":32,"props":374,"children":376},{"id":375},"acl-mi-bucket-policy-mi-hangisi-bucketınızı-gerçekten-korur",[377],{"type":37,"value":378},"ACL mi Bucket Policy mi? Hangisi bucket'ınızı gerçekten korur?",{"type":31,"tag":40,"props":380,"children":381},{},[382,384,390],{"type":37,"value":383},"S3'te erişim kontrolü için iki ana mekanizma var: ACL (Erişim Kontrol Listesi) ve Bucket Policy. AWS, Nisan 2023'ten itibaren yeni bucket'larda ACL'leri varsayılan olarak devre dışı bırakmaya başladı (",{"type":31,"tag":46,"props":385,"children":387},{"link":386},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fheads-up-amazon-s3-security-changes-are-coming-in-april-of-2023\u002F",[388],{"type":37,"value":389},"AWS Blog",{"type":37,"value":391},", 2023). Buna rağmen milyonlarca eski bucket'ta ACL hâlâ aktif. Peki ACL neden bu kadar riskli?",{"type":31,"tag":393,"props":394,"children":395},"table",{},[396,420],{"type":31,"tag":397,"props":398,"children":399},"thead",{},[400],{"type":31,"tag":401,"props":402,"children":403},"tr",{},[404,411,416],{"type":31,"tag":405,"props":406,"children":408},"th",{"align":407},"left",[409],{"type":37,"value":410},"Özellik",{"type":31,"tag":405,"props":412,"children":413},{"align":407},[414],{"type":37,"value":415},"ACL",{"type":31,"tag":405,"props":417,"children":418},{"align":407},[419],{"type":37,"value":19},{"type":31,"tag":421,"props":422,"children":423},"tbody",{},[424,443,461,479],{"type":31,"tag":401,"props":425,"children":426},{},[427,433,438],{"type":31,"tag":428,"props":429,"children":430},"td",{"align":407},[431],{"type":37,"value":432},"Format",{"type":31,"tag":428,"props":434,"children":435},{"align":407},[436],{"type":37,"value":437},"XML",{"type":31,"tag":428,"props":439,"children":440},{"align":407},[441],{"type":37,"value":442},"JSON",{"type":31,"tag":401,"props":444,"children":445},{},[446,451,456],{"type":31,"tag":428,"props":447,"children":448},{"align":407},[449],{"type":37,"value":450},"Kapsam",{"type":31,"tag":428,"props":452,"children":453},{"align":407},[454],{"type":37,"value":455},"Tekil nesne veya bucket",{"type":31,"tag":428,"props":457,"children":458},{"align":407},[459],{"type":37,"value":460},"Tüm bucket + prefix",{"type":31,"tag":401,"props":462,"children":463},{},[464,469,474],{"type":31,"tag":428,"props":465,"children":466},{"align":407},[467],{"type":37,"value":468},"Esneklik",{"type":31,"tag":428,"props":470,"children":471},{"align":407},[472],{"type":37,"value":473},"Düşük (Sadece READ\u002FWRITE)",{"type":31,"tag":428,"props":475,"children":476},{"align":407},[477],{"type":37,"value":478},"Yüksek (IP, User-Agent, Eylem bazlı)",{"type":31,"tag":401,"props":480,"children":481},{},[482,487,492],{"type":31,"tag":428,"props":483,"children":484},{"align":407},[485],{"type":37,"value":486},"Tavsiye",{"type":31,"tag":428,"props":488,"children":489},{"align":407},[490],{"type":37,"value":491},"❌ Kullanılmamalı",{"type":31,"tag":428,"props":493,"children":494},{"align":407},[495],{"type":37,"value":496},"✅ Varsayılan yöntem olmalı",{"type":31,"tag":40,"props":498,"children":499},{},[500,502,507,509,515,517,523,525,530],{"type":37,"value":501},"ACL'leri asıl tehlikeli yapan şey, çoğu AWS kullanıcısının farkında olmadığı bir izin grubudur: ",{"type":31,"tag":88,"props":503,"children":504},{},[505],{"type":37,"value":506},"\"Any Authenticated AWS User\"",{"type":37,"value":508},". Adı masumdur; \"Kimliği doğrulanmış herhangi bir AWS kullanıcısı\" ifadesi, sanki sadece sizin organizasyonunuzdan insanları kastediyormuş gibi bir çağrışım yapar. Oysa gerçek tam tersidir: dünya üzerinde bir AWS hesabı olan herkes bu gruba dahildir. 2015'te Shopify'ın HackerOne üzerinden rapor edilen bir zafiyetinde, ",{"type":31,"tag":168,"props":510,"children":512},{"className":511},[],[513],{"type":37,"value":514},"cdn.shopify.com",{"type":37,"value":516}," için kullanılan S3 bucket'larında \"Any Authenticated AWS User\" izninin açık bırakıldığı tespit edilmişti (",{"type":31,"tag":46,"props":518,"children":520},{"link":519},"https:\u002F\u002Fhackerone.com\u002Freports\u002F98819",[521],{"type":37,"value":522},"HackerOne #98819",{"type":37,"value":524},"). Daha da çarpıcı bir örnek: 2020'de Twilio, yanlış yapılandırılmış bir S3 bucket'ı üzerinden TaskRouter JS SDK'sına Magecart grubuyla ilişkilendirilen zararlı kod enjekte edilmesine maruz kaldı. Bucket yaklaşık beş yıl boyunca kamuya açık kalmıştı (",{"type":31,"tag":46,"props":526,"children":527},{"link":112},[528],{"type":37,"value":529},"Twilio Incident Report",{"type":37,"value":117},{"type":31,"tag":40,"props":532,"children":533},{},[534,536,541,543,549],{"type":37,"value":535},"Bir diğer sinsi risk ise ",{"type":31,"tag":88,"props":537,"children":538},{},[539],{"type":37,"value":540},"Confused Deputy (Şaşırtılmış Vekil)",{"type":37,"value":542}," problemidir. NCC Group'un saha deneyimlerine göre, S3 bucket'ındaki küçük bir yanlış yapılandırma tüm DevOps ortamının ele geçirilmesine kadar gidebiliyor (",{"type":31,"tag":46,"props":544,"children":546},{"link":545},"https:\u002F\u002Fwww.fox-it.com\u002Fnl-en\u002Fresearch\u002F10-real-world-stories-of-how-we-ve-compromised-cicd-pipelines\u002F",[547],{"type":37,"value":548},"Fox-IT \u002F NCC Group",{"type":37,"value":550},", 2022). Saldırgan, kurbanın Canonical User ID'sini öğrendiğinde şu tuzağı kurabilir:",{"type":31,"tag":177,"props":552,"children":554},{"className":179,"code":553,"language":181,"meta":7,"style":7},"sequenceDiagram\n    actor Saldırgan\n    actor Kurban\n    participant B_Saldirgan as Saldırganın Bucket'ı\n    participant B_Kurban as Kurbanın Bucket'ı\n\n    Saldırgan->>B_Saldirgan: 1. ACL'ye Kurbanın ID'sini (WRITE) ekler\n    Saldırgan->>Kurban: 2. \"Log dosyası yükle\" talebi (Hedef: Saldırganın Bucket'ı)\n    Kurban->>B_Saldirgan: 3. Veriyi yanlışlıkla Saldırganın bucket'ına yükler\n    Saldırgan->>B_Saldirgan: 4. Veriyi okur\n",[555],{"type":31,"tag":168,"props":556,"children":557},{"__ignoreMap":7},[558,566,574,582,590,598,607,615,623,631],{"type":31,"tag":187,"props":559,"children":560},{"class":189,"line":190},[561],{"type":31,"tag":187,"props":562,"children":563},{"style":194},[564],{"type":37,"value":565},"sequenceDiagram\n",{"type":31,"tag":187,"props":567,"children":568},{"class":189,"line":200},[569],{"type":31,"tag":187,"props":570,"children":571},{"style":194},[572],{"type":37,"value":573},"    actor Saldırgan\n",{"type":31,"tag":187,"props":575,"children":576},{"class":189,"line":209},[577],{"type":31,"tag":187,"props":578,"children":579},{"style":194},[580],{"type":37,"value":581},"    actor Kurban\n",{"type":31,"tag":187,"props":583,"children":584},{"class":189,"line":218},[585],{"type":31,"tag":187,"props":586,"children":587},{"style":194},[588],{"type":37,"value":589},"    participant B_Saldirgan as Saldırganın Bucket'ı\n",{"type":31,"tag":187,"props":591,"children":592},{"class":189,"line":227},[593],{"type":31,"tag":187,"props":594,"children":595},{"style":194},[596],{"type":37,"value":597},"    participant B_Kurban as Kurbanın Bucket'ı\n",{"type":31,"tag":187,"props":599,"children":600},{"class":189,"line":236},[601],{"type":31,"tag":187,"props":602,"children":604},{"emptyLinePlaceholder":603},true,[605],{"type":37,"value":606},"\n",{"type":31,"tag":187,"props":608,"children":609},{"class":189,"line":245},[610],{"type":31,"tag":187,"props":611,"children":612},{"style":194},[613],{"type":37,"value":614},"    Saldırgan->>B_Saldirgan: 1. ACL'ye Kurbanın ID'sini (WRITE) ekler\n",{"type":31,"tag":187,"props":616,"children":617},{"class":189,"line":254},[618],{"type":31,"tag":187,"props":619,"children":620},{"style":194},[621],{"type":37,"value":622},"    Saldırgan->>Kurban: 2. \"Log dosyası yükle\" talebi (Hedef: Saldırganın Bucket'ı)\n",{"type":31,"tag":187,"props":624,"children":625},{"class":189,"line":263},[626],{"type":31,"tag":187,"props":627,"children":628},{"style":194},[629],{"type":37,"value":630},"    Kurban->>B_Saldirgan: 3. Veriyi yanlışlıkla Saldırganın bucket'ına yükler\n",{"type":31,"tag":187,"props":632,"children":633},{"class":189,"line":272},[634],{"type":31,"tag":187,"props":635,"children":636},{"style":194},[637],{"type":37,"value":638},"    Saldırgan->>B_Saldirgan: 4. Veriyi okur\n",{"type":31,"tag":65,"props":640,"children":642},{"title":641,"type":68},"Confused Deputy Tespit Zorluğu",[643],{"type":31,"tag":40,"props":644,"children":645},{},[646],{"type":37,"value":647},"Confused Deputy riskinin en sinsi tarafı, mevcut AWS güvenlik araçlarının bu saldırıyı tespit etmekte yetersiz kalabilmesidir. Çözüm, yalnızca teknik kontroller değil; kurumsal süreçlere \"hedef bucket doğrulama\" adımının eklenmesidir.",{"type":31,"tag":353,"props":649,"children":651},{"icon":650},"ph:shield-warning-duotone",[652],{"type":31,"tag":40,"props":653,"children":654},{},[655,659,661,665],{"type":31,"tag":88,"props":656,"children":657},{},[658],{"type":37,"value":364},{"type":37,"value":660}," Confused Deputy saldırılarında kurban, teknik olarak yasal bir AWS API çağrısı yaptığı için CloudTrail veya GuardDuty bu işlemi otomatik olarak bir anormallik olarak işaretlemez. Hedef bucket'ın kime ait olduğu denetlenmediğinden, saldırı günlüklerde meşru bir PUT işlemi gibi görünür. Datadog'un 2024 raporuna göre, üçüncü parti entegrasyon rollerinin %2'si External ID kullanmadığı için confused deputy saldırılarına açıktır (",{"type":31,"tag":46,"props":662,"children":663},{"link":48},[664],{"type":37,"value":51},{"type":37,"value":53},{"type":31,"tag":32,"props":667,"children":669},{"id":668},"cloudfront-gerçekten-sizi-koruyor-mu-origin-atlatma-riskleri-nelerdir",[670],{"type":37,"value":671},"CloudFront gerçekten sizi koruyor mu? Origin atlatma riskleri nelerdir?",{"type":31,"tag":40,"props":673,"children":674},{},[675,677,681],{"type":37,"value":676},"NCC Group’un 2022 araştırmasına göre, dosyalar CDN üzerinden sunulsa dahi doğrudan S3 erişimi kapatılmadığı için kuruluşların önemli bir kısmı origin bypass riskine açık durumdadır (",{"type":31,"tag":46,"props":678,"children":679},{"link":545},[680],{"type":37,"value":548},{"type":37,"value":682},", 2022). CloudFront doğru yapılandırılmadığında ciddi bir güvenlik yanılsaması yaratır. Eğer origin'e doğrudan erişim engellenmezse, saldırgan CloudFront katmanını tamamen atlayıp S3 bucket'ının URL'sine doğrudan istek gönderebilir.",{"type":31,"tag":177,"props":684,"children":686},{"className":179,"code":685,"language":181,"meta":7,"style":7},"sequenceDiagram\n    participant K as Kullanıcı\u002FSaldırgan\n    participant CF as CloudFront\n    participant S3 as S3 Bucket (Origin)\n    \n    Note over K,S3: Doğru Yapılandırma (OAC ile)\n    K->>CF: İstek\n    CF->>S3: OAC ile imzalı istek\n    S3-->>K: İçerik (sadece CF üzerinden)\n    \n    Note over K,S3: Yanlış Yapılandırma - Origin Bypass\n    K-->>S3: Doğrudan istek (CloudFront atlanır!)\n    S3-->>K: İçerik (WAF\u002FGeo korumasız!)\n",[687],{"type":31,"tag":168,"props":688,"children":689},{"__ignoreMap":7},[690,697,705,713,721,728,736,744,752,760,767,775,784],{"type":31,"tag":187,"props":691,"children":692},{"class":189,"line":190},[693],{"type":31,"tag":187,"props":694,"children":695},{"style":194},[696],{"type":37,"value":565},{"type":31,"tag":187,"props":698,"children":699},{"class":189,"line":200},[700],{"type":31,"tag":187,"props":701,"children":702},{"style":194},[703],{"type":37,"value":704},"    participant K as Kullanıcı\u002FSaldırgan\n",{"type":31,"tag":187,"props":706,"children":707},{"class":189,"line":209},[708],{"type":31,"tag":187,"props":709,"children":710},{"style":194},[711],{"type":37,"value":712},"    participant CF as CloudFront\n",{"type":31,"tag":187,"props":714,"children":715},{"class":189,"line":218},[716],{"type":31,"tag":187,"props":717,"children":718},{"style":194},[719],{"type":37,"value":720},"    participant S3 as S3 Bucket (Origin)\n",{"type":31,"tag":187,"props":722,"children":723},{"class":189,"line":227},[724],{"type":31,"tag":187,"props":725,"children":726},{"style":194},[727],{"type":37,"value":242},{"type":31,"tag":187,"props":729,"children":730},{"class":189,"line":236},[731],{"type":31,"tag":187,"props":732,"children":733},{"style":194},[734],{"type":37,"value":735},"    Note over K,S3: Doğru Yapılandırma (OAC ile)\n",{"type":31,"tag":187,"props":737,"children":738},{"class":189,"line":245},[739],{"type":31,"tag":187,"props":740,"children":741},{"style":194},[742],{"type":37,"value":743},"    K->>CF: İstek\n",{"type":31,"tag":187,"props":745,"children":746},{"class":189,"line":254},[747],{"type":31,"tag":187,"props":748,"children":749},{"style":194},[750],{"type":37,"value":751},"    CF->>S3: OAC ile imzalı istek\n",{"type":31,"tag":187,"props":753,"children":754},{"class":189,"line":263},[755],{"type":31,"tag":187,"props":756,"children":757},{"style":194},[758],{"type":37,"value":759},"    S3-->>K: İçerik (sadece CF üzerinden)\n",{"type":31,"tag":187,"props":761,"children":762},{"class":189,"line":272},[763],{"type":31,"tag":187,"props":764,"children":765},{"style":194},[766],{"type":37,"value":242},{"type":31,"tag":187,"props":768,"children":769},{"class":189,"line":281},[770],{"type":31,"tag":187,"props":771,"children":772},{"style":194},[773],{"type":37,"value":774},"    Note over K,S3: Yanlış Yapılandırma - Origin Bypass\n",{"type":31,"tag":187,"props":776,"children":778},{"class":189,"line":777},12,[779],{"type":31,"tag":187,"props":780,"children":781},{"style":194},[782],{"type":37,"value":783},"    K-->>S3: Doğrudan istek (CloudFront atlanır!)\n",{"type":31,"tag":187,"props":785,"children":787},{"class":189,"line":786},13,[788],{"type":31,"tag":187,"props":789,"children":790},{"style":194},[791],{"type":37,"value":792},"    S3-->>K: İçerik (WAF\u002FGeo korumasız!)\n",{"type":31,"tag":40,"props":794,"children":795},{},[796,798,803,805,811,813,819],{"type":37,"value":797},"AWS'nin güncel önerisi ",{"type":31,"tag":88,"props":799,"children":800},{},[801],{"type":37,"value":802},"OAC (Origin Access Control)",{"type":37,"value":804}," kullanmaktır. OAC, S3'e gelen isteklerin gerçekten CloudFront'tan geldiğini kriptografik olarak doğrular. OAC aktifken bucket policy'nize ",{"type":31,"tag":168,"props":806,"children":808},{"className":807},[],[809],{"type":37,"value":810},"\"Principal\": {\"Service\": \"cloudfront.amazonaws.com\"}",{"type":37,"value":812}," ekleyerek ve CloudFront dağıtımının ARN'siyle eşleşme şartı koyarak origin'inizi koruyabilirsiniz. AWS, OAC'yi CloudFront-S3 entegrasyonunda önerilen yöntem olarak konumlandırmıştır (",{"type":31,"tag":46,"props":814,"children":816},{"link":815},"https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonCloudFront\u002Flatest\u002FDeveloperGuide\u002Fprivate-content-restricting-access-to-s3.html",[817],{"type":37,"value":818},"AWS Docs",{"type":37,"value":372},{"type":31,"tag":353,"props":821,"children":822},{"icon":355},[823],{"type":31,"tag":40,"props":824,"children":825},{},[826,830,832,836],{"type":31,"tag":88,"props":827,"children":828},{},[829],{"type":37,"value":364},{"type":37,"value":831}," CloudFront Origin Access Control (OAC), AWS tarafından önerilen origin koruma yöntemidir. OAC, S3 bucket'ına yalnızca belirli bir CloudFront dağıtımından gelen istekleri kabul eder ve bu istekleri kriptografik olarak imzalayarak origin bypass riskini ortadan kaldırır (",{"type":31,"tag":46,"props":833,"children":834},{"link":815},[835],{"type":37,"value":818},{"type":37,"value":372},{"type":31,"tag":32,"props":838,"children":840},{"id":839},"saldırgan-s3-bucketınızı-nasıl-bulur-keşif-aşaması-tehditleri",[841],{"type":37,"value":842},"Saldırgan S3 bucket'ınızı nasıl bulur? Keşif aşaması tehditleri",{"type":31,"tag":40,"props":844,"children":845},{},[846,848,852],{"type":37,"value":847},"OWASP WSTG-CONF-11 raporuna göre, S3 bucket URL'leri tahmin edilebilir formatları nedeniyle basit kaba kuvvet saldırılarıyla saniyeler içinde keşfedilebilmektedir (",{"type":31,"tag":46,"props":849,"children":850},{"link":161},[851],{"type":37,"value":164},{"type":37,"value":853},"). Saldırgan için zor olan bir bucket bulmak değil, değerli veri içerenleri tespit etmektir. Bunun için tahmin edilebilir varyasyonlar, JavaScript kodlarının analizi veya Google Dorking gibi yöntemler yaygın olarak kullanılmaktadır.",{"type":31,"tag":80,"props":855,"children":856},{},[857,875,945],{"type":31,"tag":84,"props":858,"children":859},{},[860,865,867,873],{"type":31,"tag":88,"props":861,"children":862},{},[863],{"type":37,"value":864},"Subdomain Kaba Kuvveti",{"type":37,"value":866},": ",{"type":31,"tag":168,"props":868,"children":870},{"className":869},[],[871],{"type":37,"value":872},"assets.hedef.com.s3.amazonaws.com",{"type":37,"value":874}," gibi tahmin edilebilir varyasyonları otomatik olarak denerler.",{"type":31,"tag":84,"props":876,"children":877},{},[878,883,885,891,893],{"type":31,"tag":88,"props":879,"children":880},{},[881],{"type":37,"value":882},"JavaScript Analizi",{"type":37,"value":884},": Frontend koduna gömülmüş bucket adresleri basit bir ",{"type":31,"tag":168,"props":886,"children":888},{"className":887},[],[889],{"type":37,"value":890},"grep",{"type":37,"value":892}," ile saniyeler içinde çıkarılabilir:",{"type":31,"tag":177,"props":894,"children":899},{"className":895,"code":896,"filename":897,"language":898,"meta":7,"style":7},"language-bash shiki shiki-themes catppuccin-latte one-dark-pro","curl -s https:\u002F\u002Fhedef.com\u002Fapp.js | grep -oE 's3[.-][a-zA-Z0-9.-]+amazonaws\\.com'\n","Bucket Discovery","bash",[900],{"type":31,"tag":168,"props":901,"children":902},{"__ignoreMap":7},[903],{"type":31,"tag":187,"props":904,"children":905},{"class":189,"line":190},[906,912,918,924,930,935,940],{"type":31,"tag":187,"props":907,"children":909},{"style":908},"--shiki-default:#1E66F5;--shiki-default-font-style:italic;--shiki-dark:#61AFEF;--shiki-dark-font-style:inherit",[910],{"type":37,"value":911},"curl",{"type":31,"tag":187,"props":913,"children":915},{"style":914},"--shiki-default:#40A02B;--shiki-dark:#D19A66",[916],{"type":37,"value":917}," -s",{"type":31,"tag":187,"props":919,"children":921},{"style":920},"--shiki-default:#40A02B;--shiki-dark:#98C379",[922],{"type":37,"value":923}," https:\u002F\u002Fhedef.com\u002Fapp.js",{"type":31,"tag":187,"props":925,"children":927},{"style":926},"--shiki-default:#179299;--shiki-dark:#ABB2BF",[928],{"type":37,"value":929}," |",{"type":31,"tag":187,"props":931,"children":932},{"style":908},[933],{"type":37,"value":934}," grep",{"type":31,"tag":187,"props":936,"children":937},{"style":914},[938],{"type":37,"value":939}," -oE",{"type":31,"tag":187,"props":941,"children":942},{"style":920},[943],{"type":37,"value":944}," 's3[.-][a-zA-Z0-9.-]+amazonaws\\.com'\n",{"type":31,"tag":84,"props":946,"children":947},{},[948,953,954,960],{"type":31,"tag":88,"props":949,"children":950},{},[951],{"type":37,"value":952},"Google Dorking",{"type":37,"value":866},{"type":31,"tag":168,"props":955,"children":957},{"className":956},[],[958],{"type":37,"value":959},"site:s3.amazonaws.com \"şirket adı\"",{"type":37,"value":961}," araması ile yanlışlıkla indekslenmiş bucket'lar listelenebilir.",{"type":31,"tag":65,"props":963,"children":965},{"title":964,"type":320},"Tarihsel Kör Nokta",[966],{"type":31,"tag":40,"props":967,"children":968},{},[969,971,975],{"type":37,"value":970},"AWS'nin resmi blogunda da vurgulandığı gibi, \"S3 bucket'ları ve nesneleri her zaman varsayılan olarak özel olmuştur\" (",{"type":31,"tag":46,"props":972,"children":973},{"link":386},[974],{"type":37,"value":389},{"type":37,"value":976},", 2023). Ancak Kasım 2018'de Block Public Access özelliği eklenmeden önce, yanlış yapılandırmayı engelleyecek merkezi bir emniyet katmanı yoktu.",{"type":31,"tag":65,"props":978,"children":980},{"title":979,"type":68},"Saha Gözlemi",[981],{"type":31,"tag":40,"props":982,"children":983},{},[984],{"type":37,"value":985},"Çok sayıda AWS ortamında yapılan güvenlik denetimlerinde, 2018 öncesi oluşturulmuş ve Public Access Block'u manuel olarak hiç aktif edilmemiş bucket'lara sıklıkla rastlıyoruz. Bu bucket'ların çoğu \"eski yedek\" olarak görülüp unutulduğu için, içlerindeki hassas veriler yıllarca fark edilmeden açıkta kalabiliyor.",{"type":31,"tag":353,"props":987,"children":988},{"icon":355},[989],{"type":31,"tag":40,"props":990,"children":991},{},[992,996,998,1002],{"type":31,"tag":88,"props":993,"children":994},{},[995],{"type":37,"value":364},{"type":37,"value":997}," NCC Group'un saha deneyimlerine göre, halen pek çok kuruluşta 2018 öncesinden kalma ve farkında olunmadan kamuya açık bırakılmış bucket'lar bulunabiliyor (",{"type":31,"tag":46,"props":999,"children":1000},{"link":545},[1001],{"type":37,"value":548},{"type":37,"value":1003},", 2022). AWS, Nisan 2023'ten itibaren yeni bucket'larda Public Access Block'u varsayılan olarak aktif etmeye başlasa da bu değişiklik geriye dönük uygulanmadı.",{"type":31,"tag":32,"props":1005,"children":1007},{"id":1006},"bir-buckettan-tüm-altyapıya-zincirleme-saldırı-senaryoları-gerçek-mi",[1008],{"type":37,"value":1009},"Bir bucket'tan tüm altyapıya: Zincirleme saldırı senaryoları gerçek mi?",{"type":31,"tag":40,"props":1011,"children":1012},{},[1013,1015,1019],{"type":37,"value":1014},"NCC Group’un 2022 CI\u002FCD araştırmasında belgelenen vakalar, tek bir S3 bucket’ındaki yanlış yapılandırmanın 200’den fazla AWS erişim belirtecinin ifşasına yol açabileceğini kanıtlamıştır (",{"type":31,"tag":46,"props":1016,"children":1017},{"link":545},[1018],{"type":37,"value":548},{"type":37,"value":1020},", 2022). Bu zincirleme etki, S3’ün altyapı kodları ve sunucusuz fonksiyonlar için merkezi bir \"substrate\" yani temel katman rolü üstlenmesinden kaynaklanır. Bir bucket'ı ele geçiren saldırgan, tüm DevOps boru hattını zehirleyebilir.",{"type":31,"tag":177,"props":1022,"children":1024},{"className":179,"code":1023,"language":181,"meta":7,"style":7},"graph LR\n    S3[Tehlike Altındaki S3 Bucket] --> CF[CloudFormation Şablonları]\n    S3 --> LF[Lambda Kodları]\n    S3 --> AMI[EC2 AMI İmajları]\n    S3 --> LOG[CloudTrail Logları]\n    S3 --> CFG[.env ve Config Dosyaları]\n\n    CF -->|\"Değiştirilirse\"| IAC[\"Zararlı Altyapı Dağıtımı\"]\n    LF -->|\"Değiştirilirse\"| MAL[\"Arka Kapı Çalıştırma (RCE)\"]\n    AMI -->|\"Okunursa\"| EC2[\"Tüm Sunucuların Ele Geçirilmesi\"]\n    LOG -->|\"Okunursa\"| REC[\"Keşif ve Token Hırsızlığı\"]\n    CFG -->|\"Okunursa\"| CRED[\"Kimlik Bilgisi Sızıntısı\"]\n\n    style S3 fill:#FF9900,color:#000\n    style IAC fill:#d32f2f,color:#fff\n    style MAL fill:#d32f2f,color:#fff\n    style EC2 fill:#d32f2f,color:#fff\n    style REC fill:#d32f2f,color:#fff\n    style CRED fill:#d32f2f,color:#fff\n",[1025],{"type":31,"tag":168,"props":1026,"children":1027},{"__ignoreMap":7},[1028,1036,1044,1052,1060,1068,1076,1083,1091,1099,1107,1115,1123,1130,1139,1148,1157,1166,1175],{"type":31,"tag":187,"props":1029,"children":1030},{"class":189,"line":190},[1031],{"type":31,"tag":187,"props":1032,"children":1033},{"style":194},[1034],{"type":37,"value":1035},"graph LR\n",{"type":31,"tag":187,"props":1037,"children":1038},{"class":189,"line":200},[1039],{"type":31,"tag":187,"props":1040,"children":1041},{"style":194},[1042],{"type":37,"value":1043},"    S3[Tehlike Altındaki S3 Bucket] --> CF[CloudFormation Şablonları]\n",{"type":31,"tag":187,"props":1045,"children":1046},{"class":189,"line":209},[1047],{"type":31,"tag":187,"props":1048,"children":1049},{"style":194},[1050],{"type":37,"value":1051},"    S3 --> LF[Lambda Kodları]\n",{"type":31,"tag":187,"props":1053,"children":1054},{"class":189,"line":218},[1055],{"type":31,"tag":187,"props":1056,"children":1057},{"style":194},[1058],{"type":37,"value":1059},"    S3 --> AMI[EC2 AMI İmajları]\n",{"type":31,"tag":187,"props":1061,"children":1062},{"class":189,"line":227},[1063],{"type":31,"tag":187,"props":1064,"children":1065},{"style":194},[1066],{"type":37,"value":1067},"    S3 --> LOG[CloudTrail Logları]\n",{"type":31,"tag":187,"props":1069,"children":1070},{"class":189,"line":236},[1071],{"type":31,"tag":187,"props":1072,"children":1073},{"style":194},[1074],{"type":37,"value":1075},"    S3 --> CFG[.env ve Config Dosyaları]\n",{"type":31,"tag":187,"props":1077,"children":1078},{"class":189,"line":245},[1079],{"type":31,"tag":187,"props":1080,"children":1081},{"emptyLinePlaceholder":603},[1082],{"type":37,"value":606},{"type":31,"tag":187,"props":1084,"children":1085},{"class":189,"line":254},[1086],{"type":31,"tag":187,"props":1087,"children":1088},{"style":194},[1089],{"type":37,"value":1090},"    CF -->|\"Değiştirilirse\"| IAC[\"Zararlı Altyapı Dağıtımı\"]\n",{"type":31,"tag":187,"props":1092,"children":1093},{"class":189,"line":263},[1094],{"type":31,"tag":187,"props":1095,"children":1096},{"style":194},[1097],{"type":37,"value":1098},"    LF -->|\"Değiştirilirse\"| MAL[\"Arka Kapı Çalıştırma (RCE)\"]\n",{"type":31,"tag":187,"props":1100,"children":1101},{"class":189,"line":272},[1102],{"type":31,"tag":187,"props":1103,"children":1104},{"style":194},[1105],{"type":37,"value":1106},"    AMI -->|\"Okunursa\"| EC2[\"Tüm Sunucuların Ele Geçirilmesi\"]\n",{"type":31,"tag":187,"props":1108,"children":1109},{"class":189,"line":281},[1110],{"type":31,"tag":187,"props":1111,"children":1112},{"style":194},[1113],{"type":37,"value":1114},"    LOG -->|\"Okunursa\"| REC[\"Keşif ve Token Hırsızlığı\"]\n",{"type":31,"tag":187,"props":1116,"children":1117},{"class":189,"line":777},[1118],{"type":31,"tag":187,"props":1119,"children":1120},{"style":194},[1121],{"type":37,"value":1122},"    CFG -->|\"Okunursa\"| CRED[\"Kimlik Bilgisi Sızıntısı\"]\n",{"type":31,"tag":187,"props":1124,"children":1125},{"class":189,"line":786},[1126],{"type":31,"tag":187,"props":1127,"children":1128},{"emptyLinePlaceholder":603},[1129],{"type":37,"value":606},{"type":31,"tag":187,"props":1131,"children":1133},{"class":189,"line":1132},14,[1134],{"type":31,"tag":187,"props":1135,"children":1136},{"style":194},[1137],{"type":37,"value":1138},"    style S3 fill:#FF9900,color:#000\n",{"type":31,"tag":187,"props":1140,"children":1142},{"class":189,"line":1141},15,[1143],{"type":31,"tag":187,"props":1144,"children":1145},{"style":194},[1146],{"type":37,"value":1147},"    style IAC fill:#d32f2f,color:#fff\n",{"type":31,"tag":187,"props":1149,"children":1151},{"class":189,"line":1150},16,[1152],{"type":31,"tag":187,"props":1153,"children":1154},{"style":194},[1155],{"type":37,"value":1156},"    style MAL fill:#d32f2f,color:#fff\n",{"type":31,"tag":187,"props":1158,"children":1160},{"class":189,"line":1159},17,[1161],{"type":31,"tag":187,"props":1162,"children":1163},{"style":194},[1164],{"type":37,"value":1165},"    style EC2 fill:#d32f2f,color:#fff\n",{"type":31,"tag":187,"props":1167,"children":1169},{"class":189,"line":1168},18,[1170],{"type":31,"tag":187,"props":1171,"children":1172},{"style":194},[1173],{"type":37,"value":1174},"    style REC fill:#d32f2f,color:#fff\n",{"type":31,"tag":187,"props":1176,"children":1178},{"class":189,"line":1177},19,[1179],{"type":31,"tag":187,"props":1180,"children":1181},{"style":194},[1182],{"type":37,"value":1183},"    style CRED fill:#d32f2f,color:#fff\n",{"type":31,"tag":40,"props":1185,"children":1186},{},[1187,1189,1194,1196,1202],{"type":37,"value":1188},"En kritik senaryolardan biri ",{"type":31,"tag":88,"props":1190,"children":1191},{},[1192],{"type":37,"value":1193},"CloudFormation zehirleme",{"type":37,"value":1195}," saldırısıdır. Saldırgan, ",{"type":31,"tag":168,"props":1197,"children":1199},{"className":1198},[],[1200],{"type":37,"value":1201},"s3:PutObject",{"type":37,"value":1203}," izni olan bir bucket'ta altyapı şablonlarını değiştirerek üretim ortamına kendi IAM rollerini veya arka kapılarını ekleyebilir.",{"type":31,"tag":353,"props":1205,"children":1206},{"icon":355},[1207],{"type":31,"tag":40,"props":1208,"children":1209},{},[1210,1214,1216,1220],{"type":31,"tag":88,"props":1211,"children":1212},{},[1213],{"type":37,"value":364},{"type":37,"value":1215}," NCC Group'un 2022 CI\u002FCD güvenlik araştırmasına göre, S3 bucket'ındaki küçük bir yanlış yapılandırma (dizin listeleme veya sert kodlanmış kimlik bilgisi içeren bir dosya gibi) tüm DevOps ortamının ele geçirilmesine yol açabilir. Raporda belgelenen bir vakada, bu zincir 200'den fazla AWS erişim belirtecinin ifşa olmasıyla sonuçlanmıştır (",{"type":31,"tag":46,"props":1217,"children":1218},{"link":545},[1219],{"type":37,"value":548},{"type":37,"value":1221},", 2022).",{"type":31,"tag":32,"props":1223,"children":1225},{"id":1224},"s3-güvenliği-için-kesin-çözüm-10-altın-kural",[1226],{"type":37,"value":1227},"S3 güvenliği için kesin çözüm: 10 altın kural",{"type":31,"tag":40,"props":1229,"children":1230},{},[1231,1233,1237],{"type":37,"value":1232},"Datadog 2024 raporuna göre S3 bucket'larının %21'i hâlâ Public Access Block korumasından yoksundur; bu da disiplinli bir güvenlik yaklaşımının önemini ortaya koymaktadır (",{"type":31,"tag":46,"props":1234,"children":1235},{"link":48},[1236],{"type":37,"value":51},{"type":37,"value":1238},", 2024). S3 güvenliğini sağlamak pahalı araçlar değil, aşağıda sıraladığımız on altın kuralı tavizsiz uygulamayı gerektirir. Savunma duruşunuzu güçlendirmek için bu listedeki kaç maddeyi bugün itibarıyla gerçekten uyguladınız?",{"type":31,"tag":1240,"props":1241,"children":1242},"ol",{},[1243,1258,1297,1307,1317,1327,1342,1352,1362,1377],{"type":31,"tag":84,"props":1244,"children":1245},{},[1246,1251,1253,1257],{"type":31,"tag":88,"props":1247,"children":1248},{},[1249],{"type":37,"value":1250},"Public Access Block'u Aktif Edin.",{"type":37,"value":1252}," Dört ayarın dördü de tüm bucket'larda \"Block\" konumunda olmalıdır. Datadog verilerine göre bu oran %79'a ulaşmış olsa da, hedef %100 olmalıdır (",{"type":31,"tag":46,"props":1254,"children":1255},{"link":48},[1256],{"type":37,"value":51},{"type":37,"value":53},{"type":31,"tag":84,"props":1259,"children":1260},{},[1261,1274,1276,1282,1284,1289,1291,1295],{"type":31,"tag":88,"props":1262,"children":1263},{},[1264,1266,1272],{"type":37,"value":1265},"Bucket Policy'de ",{"type":31,"tag":168,"props":1267,"children":1269},{"className":1268},[],[1270],{"type":37,"value":1271},"\"Principal\": \"*\"",{"type":37,"value":1273}," Kullanmayın.",{"type":37,"value":1275}," Twilio'nun 2020'de yaşadığı olayda olduğu gibi, ",{"type":31,"tag":168,"props":1277,"children":1279},{"className":1278},[],[1280],{"type":37,"value":1281},"\"Principal\": {\"AWS\": \"*\"}",{"type":37,"value":1283}," ile birlikte ",{"type":31,"tag":168,"props":1285,"children":1287},{"className":1286},[],[1288],{"type":37,"value":1201},{"type":37,"value":1290}," izni vermek felakete davetiye çıkarır (",{"type":31,"tag":46,"props":1292,"children":1293},{"link":112},[1294],{"type":37,"value":115},{"type":37,"value":1296},", 2020). Her zaman belirli IAM rolleri veya servis prensipleri tanımlayın.",{"type":31,"tag":84,"props":1298,"children":1299},{},[1300,1305],{"type":31,"tag":88,"props":1301,"children":1302},{},[1303],{"type":37,"value":1304},"Varsayılan Şifrelemeyi Açın.",{"type":37,"value":1306}," SSE-S3 veya SSE-KMS ile yazılan her nesne otomatik olarak şifrelensin. Unutmayın: şifreleme disk hırsızlığına karşı korur; yanlış bir Bucket Policy'yi düzeltmez. İkisi ayrı katmanlardır.",{"type":31,"tag":84,"props":1308,"children":1309},{},[1310,1315],{"type":31,"tag":88,"props":1311,"children":1312},{},[1313],{"type":37,"value":1314},"Versioning ve Object Lock Kullanın.",{"type":37,"value":1316}," Dosya sürümlendirme, fidye yazılımına veya yanlışlıkla silmelere karşı en iyi sigortadır. Özellikle kritik log ve yedekleme bucket'larında Object Lock (WORM) özelliğini etkinleştirerek verilerin değiştirilemez olmasını sağlayın.",{"type":31,"tag":84,"props":1318,"children":1319},{},[1320,1325],{"type":31,"tag":88,"props":1321,"children":1322},{},[1323],{"type":37,"value":1324},"Ayrı Bucket Stratejisi Uygulayın.",{"type":37,"value":1326}," Kamuya açık web varlıkları, özel veriler ve denetim günlükleri için mutlaka ayrı bucket'lar kullanın. \"Karma\" (mixed-use) bir bucket, en küçük bir politika hatasında tüm verinizin ifşa olmasına davetiye çıkarır.",{"type":31,"tag":84,"props":1328,"children":1329},{},[1330,1335,1337,1341],{"type":31,"tag":88,"props":1331,"children":1332},{},[1333],{"type":37,"value":1334},"CloudFront + OAC ile Origin'i Kilitleyin.",{"type":37,"value":1336}," CloudFront kullanıyorsanız, OAC ile S3 bucket'ınıza yalnızca CloudFront'tan gelen istekleri kabul etmesini söyleyin. Eski OAI yönteminden OAC'ye geçiş yapın (",{"type":31,"tag":46,"props":1338,"children":1339},{"link":815},[1340],{"type":37,"value":818},{"type":37,"value":372},{"type":31,"tag":84,"props":1343,"children":1344},{},[1345,1350],{"type":31,"tag":88,"props":1346,"children":1347},{},[1348],{"type":37,"value":1349},"Loglama ve İzlemeyi Katmanlı Hale Getirin.",{"type":37,"value":1351}," S3 Erişim Günlükleri'ni ayrı bir bucket'a, AWS CloudTrail'i tüm bölgelerde aktif edin. Anormal okuma\u002Fyazma hacimleri için Amazon GuardDuty ve AWS CloudWatch alarmları kurun.",{"type":31,"tag":84,"props":1353,"children":1354},{},[1355,1360],{"type":31,"tag":88,"props":1356,"children":1357},{},[1358],{"type":37,"value":1359},"Hassas Veri Keşfi Yapın.",{"type":37,"value":1361}," Amazon Macie'yi kullanarak bucket'larınızda istemeden bırakılmış kişisel veri, API anahtarı veya SSH anahtarı olup olmadığını düzenli olarak tarayın.",{"type":31,"tag":84,"props":1363,"children":1364},{},[1365,1370,1372,1376],{"type":31,"tag":88,"props":1366,"children":1367},{},[1368],{"type":37,"value":1369},"Cross-Account Erişimleri Denetleyin.",{"type":37,"value":1371}," Başka AWS hesaplarına veya başka hesaplardan sizin bucket'larınıza verilen erişim izinlerini düzenli gözden geçirin. Datadog'a göre, üçüncü parti rollerin %10'u riskli bulut izinlerine sahip (",{"type":31,"tag":46,"props":1373,"children":1374},{"link":48},[1375],{"type":37,"value":51},{"type":37,"value":53},{"type":31,"tag":84,"props":1378,"children":1379},{},[1380,1385,1387,1393,1395,1402,1404,1409],{"type":31,"tag":88,"props":1381,"children":1382},{},[1383],{"type":37,"value":1384},"Düzenli Denetim Rutinleri Oluşturun.",{"type":37,"value":1386}," AWS Config'in ",{"type":31,"tag":168,"props":1388,"children":1390},{"className":1389},[],[1391],{"type":37,"value":1392},"s3-bucket-public-read-prohibited",{"type":37,"value":1394}," kuralını aktif edin. Prowler (",{"type":31,"tag":46,"props":1396,"children":1399},{"link":1397,"icon":1398},"https:\u002F\u002Fgithub.com\u002Fprowler-cloud\u002Fprowler","ri:github-fill",[1400],{"type":37,"value":1401},"GitHub",{"type":37,"value":1403},") ve ScoutSuite (",{"type":31,"tag":46,"props":1405,"children":1407},{"link":1406,"icon":1398},"https:\u002F\u002Fgithub.com\u002Fnccgroup\u002FScoutSuite",[1408],{"type":37,"value":1401},{"type":37,"value":1410},") gibi açık kaynaklı araçlarla aylık otomatik taramalar yaparak konfigürasyon kaymalarını anında tespit edin.",{"type":31,"tag":177,"props":1412,"children":1414},{"className":179,"code":1413,"language":181,"meta":7,"style":7},"flowchart TD\n    A[S3 Bucket] --> B{Public Access Block?}\n    B -->|Hayır| C[\"❌ Hemen Aktif Et\"]\n    B -->|Evet| D{Bucket Policy?}\n    C --> D\n    D -->|Zayıf| E[\"❌ Least Privilege Uygula\"]\n    D -->|Güçlü| F{Şifreleme?}\n    E --> F\n    F -->|Kapalı| G[❌ SSE-S3\u002FKMS Aç]\n    F -->|Açık| H{Versioning?}\n    G --> H\n    H -->|Kapalı| I[❌ Aktif Et]\n    H -->|Açık| J{OAC?}\n    I --> J\n    J -->|Hayır| K[❌ Origin'i Kilitle]\n    J -->|Evet| L{Macie\u002FGuardDuty?}\n    K --> L\n    L -->|Hayır| M[❌ Hassas Veri Keşfi ve Anormallik İzlemeyi Kur]\n    L -->|Evet| N[✅ Yüksek Güvenlikli S3]\n    \n    style N fill:#2e7d32,color:#fff\n    style C fill:#d32f2f,color:#fff\n    style E fill:#d32f2f,color:#fff\n    style G fill:#d32f2f,color:#fff\n    style I fill:#d32f2f,color:#fff\n    style K fill:#d32f2f,color:#fff\n    style M fill:#d32f2f,color:#fff\n",[1415],{"type":31,"tag":168,"props":1416,"children":1417},{"__ignoreMap":7},[1418,1426,1434,1442,1450,1458,1466,1474,1482,1490,1498,1506,1514,1522,1530,1538,1546,1554,1562,1570,1578,1587,1596,1604,1613,1622,1631],{"type":31,"tag":187,"props":1419,"children":1420},{"class":189,"line":190},[1421],{"type":31,"tag":187,"props":1422,"children":1423},{"style":194},[1424],{"type":37,"value":1425},"flowchart TD\n",{"type":31,"tag":187,"props":1427,"children":1428},{"class":189,"line":200},[1429],{"type":31,"tag":187,"props":1430,"children":1431},{"style":194},[1432],{"type":37,"value":1433},"    A[S3 Bucket] --> B{Public Access Block?}\n",{"type":31,"tag":187,"props":1435,"children":1436},{"class":189,"line":209},[1437],{"type":31,"tag":187,"props":1438,"children":1439},{"style":194},[1440],{"type":37,"value":1441},"    B -->|Hayır| C[\"❌ Hemen Aktif Et\"]\n",{"type":31,"tag":187,"props":1443,"children":1444},{"class":189,"line":218},[1445],{"type":31,"tag":187,"props":1446,"children":1447},{"style":194},[1448],{"type":37,"value":1449},"    B -->|Evet| D{Bucket Policy?}\n",{"type":31,"tag":187,"props":1451,"children":1452},{"class":189,"line":227},[1453],{"type":31,"tag":187,"props":1454,"children":1455},{"style":194},[1456],{"type":37,"value":1457},"    C --> D\n",{"type":31,"tag":187,"props":1459,"children":1460},{"class":189,"line":236},[1461],{"type":31,"tag":187,"props":1462,"children":1463},{"style":194},[1464],{"type":37,"value":1465},"    D -->|Zayıf| E[\"❌ Least Privilege Uygula\"]\n",{"type":31,"tag":187,"props":1467,"children":1468},{"class":189,"line":245},[1469],{"type":31,"tag":187,"props":1470,"children":1471},{"style":194},[1472],{"type":37,"value":1473},"    D -->|Güçlü| F{Şifreleme?}\n",{"type":31,"tag":187,"props":1475,"children":1476},{"class":189,"line":254},[1477],{"type":31,"tag":187,"props":1478,"children":1479},{"style":194},[1480],{"type":37,"value":1481},"    E --> F\n",{"type":31,"tag":187,"props":1483,"children":1484},{"class":189,"line":263},[1485],{"type":31,"tag":187,"props":1486,"children":1487},{"style":194},[1488],{"type":37,"value":1489},"    F -->|Kapalı| G[❌ SSE-S3\u002FKMS Aç]\n",{"type":31,"tag":187,"props":1491,"children":1492},{"class":189,"line":272},[1493],{"type":31,"tag":187,"props":1494,"children":1495},{"style":194},[1496],{"type":37,"value":1497},"    F -->|Açık| H{Versioning?}\n",{"type":31,"tag":187,"props":1499,"children":1500},{"class":189,"line":281},[1501],{"type":31,"tag":187,"props":1502,"children":1503},{"style":194},[1504],{"type":37,"value":1505},"    G --> H\n",{"type":31,"tag":187,"props":1507,"children":1508},{"class":189,"line":777},[1509],{"type":31,"tag":187,"props":1510,"children":1511},{"style":194},[1512],{"type":37,"value":1513},"    H -->|Kapalı| I[❌ Aktif Et]\n",{"type":31,"tag":187,"props":1515,"children":1516},{"class":189,"line":786},[1517],{"type":31,"tag":187,"props":1518,"children":1519},{"style":194},[1520],{"type":37,"value":1521},"    H -->|Açık| J{OAC?}\n",{"type":31,"tag":187,"props":1523,"children":1524},{"class":189,"line":1132},[1525],{"type":31,"tag":187,"props":1526,"children":1527},{"style":194},[1528],{"type":37,"value":1529},"    I --> J\n",{"type":31,"tag":187,"props":1531,"children":1532},{"class":189,"line":1141},[1533],{"type":31,"tag":187,"props":1534,"children":1535},{"style":194},[1536],{"type":37,"value":1537},"    J -->|Hayır| K[❌ Origin'i Kilitle]\n",{"type":31,"tag":187,"props":1539,"children":1540},{"class":189,"line":1150},[1541],{"type":31,"tag":187,"props":1542,"children":1543},{"style":194},[1544],{"type":37,"value":1545},"    J -->|Evet| L{Macie\u002FGuardDuty?}\n",{"type":31,"tag":187,"props":1547,"children":1548},{"class":189,"line":1159},[1549],{"type":31,"tag":187,"props":1550,"children":1551},{"style":194},[1552],{"type":37,"value":1553},"    K --> L\n",{"type":31,"tag":187,"props":1555,"children":1556},{"class":189,"line":1168},[1557],{"type":31,"tag":187,"props":1558,"children":1559},{"style":194},[1560],{"type":37,"value":1561},"    L -->|Hayır| M[❌ Hassas Veri Keşfi ve Anormallik İzlemeyi Kur]\n",{"type":31,"tag":187,"props":1563,"children":1564},{"class":189,"line":1177},[1565],{"type":31,"tag":187,"props":1566,"children":1567},{"style":194},[1568],{"type":37,"value":1569},"    L -->|Evet| N[✅ Yüksek Güvenlikli S3]\n",{"type":31,"tag":187,"props":1571,"children":1573},{"class":189,"line":1572},20,[1574],{"type":31,"tag":187,"props":1575,"children":1576},{"style":194},[1577],{"type":37,"value":242},{"type":31,"tag":187,"props":1579,"children":1581},{"class":189,"line":1580},21,[1582],{"type":31,"tag":187,"props":1583,"children":1584},{"style":194},[1585],{"type":37,"value":1586},"    style N fill:#2e7d32,color:#fff\n",{"type":31,"tag":187,"props":1588,"children":1590},{"class":189,"line":1589},22,[1591],{"type":31,"tag":187,"props":1592,"children":1593},{"style":194},[1594],{"type":37,"value":1595},"    style C fill:#d32f2f,color:#fff\n",{"type":31,"tag":187,"props":1597,"children":1599},{"class":189,"line":1598},23,[1600],{"type":31,"tag":187,"props":1601,"children":1602},{"style":194},[1603],{"type":37,"value":287},{"type":31,"tag":187,"props":1605,"children":1607},{"class":189,"line":1606},24,[1608],{"type":31,"tag":187,"props":1609,"children":1610},{"style":194},[1611],{"type":37,"value":1612},"    style G fill:#d32f2f,color:#fff\n",{"type":31,"tag":187,"props":1614,"children":1616},{"class":189,"line":1615},25,[1617],{"type":31,"tag":187,"props":1618,"children":1619},{"style":194},[1620],{"type":37,"value":1621},"    style I fill:#d32f2f,color:#fff\n",{"type":31,"tag":187,"props":1623,"children":1625},{"class":189,"line":1624},26,[1626],{"type":31,"tag":187,"props":1627,"children":1628},{"style":194},[1629],{"type":37,"value":1630},"    style K fill:#d32f2f,color:#fff\n",{"type":31,"tag":187,"props":1632,"children":1634},{"class":189,"line":1633},27,[1635],{"type":31,"tag":187,"props":1636,"children":1637},{"style":194},[1638],{"type":37,"value":1639},"    style M fill:#d32f2f,color:#fff\n",{"type":31,"tag":65,"props":1641,"children":1643},{"title":1642,"type":68},"Ardışıl Kontrol Zinciri Yaklaşımı",[1644],{"type":31,"tag":40,"props":1645,"children":1646},{},[1647],{"type":37,"value":1648},"Çoğu kuruluş, güvenlik araçlarını sıralı bir boru hattı gibi değil, birbirinden bağımsız kontroller olarak çalıştırıyor. Oysa yukarıdaki akış şemasındaki gibi ardışıl ve zorunlu bir kontrol zinciri kurmak, \"bir sonraki adıma geçmeden önce bu kapıyı kapat\" mantığıyla çalışır ve gözden kaçan bucket bırakmaz.",{"type":31,"tag":32,"props":1650,"children":1652},{"id":1651},"sıkça-sorulan-sorular-faq",[1653],{"type":37,"value":1654},"Sıkça Sorulan Sorular (FAQ)",{"type":31,"tag":1656,"props":1657,"children":1659},"folding",{"title":1658},"S3 bucket'ımın kamuya açık olup olmadığını en kolay nasıl kontrol ederim?",[1660],{"type":31,"tag":40,"props":1661,"children":1662},{},[1663,1665,1671,1673,1679,1681,1686,1688,1693],{"type":37,"value":1664},"En hızlı yol AWS CLI kullanmaktır: ",{"type":31,"tag":168,"props":1666,"children":1668},{"className":1667},[],[1669],{"type":37,"value":1670},"aws s3api get-public-access-block --bucket bucket-adi",{"type":37,"value":1672},". Ayrıca ",{"type":31,"tag":168,"props":1674,"children":1676},{"className":1675},[],[1677],{"type":37,"value":1678},"aws s3 ls s3:\u002F\u002Fbucket-adi --no-sign-request",{"type":37,"value":1680}," komutu başarılı olursa, bucket'ınız kimlik doğrulaması olmadan listeleniyor demektir. OWASP WSTG-CONF-11 kılavuzu, ",{"type":31,"tag":168,"props":1682,"children":1684},{"className":1683},[],[1685],{"type":37,"value":911},{"type":37,"value":1687}," ile de aynı testin yapılabileceğini belirtir (",{"type":31,"tag":46,"props":1689,"children":1690},{"link":161},[1691],{"type":37,"value":1692},"OWASP",{"type":37,"value":372},{"type":31,"tag":1656,"props":1695,"children":1697},{"title":1696},"Any Authenticated AWS User tam olarak ne demektir?",[1698],{"type":31,"tag":40,"props":1699,"children":1700},{},[1701,1703,1708,1710,1714],{"type":37,"value":1702},"Bu izin, yalnızca sizin organizasyonunuzdaki kullanıcıları değil, ",{"type":31,"tag":88,"props":1704,"children":1705},{},[1706],{"type":37,"value":1707},"dünya üzerinde geçerli bir AWS hesabı olan herkesi",{"type":37,"value":1709}," kapsar. Shopify'ın 2015'te HackerOne üzerinden raporlanan zafiyeti (HackerOne Report #98819) tam olarak bu yanlış anlamadan kaynaklanıyordu (",{"type":31,"tag":46,"props":1711,"children":1712},{"link":519},[1713],{"type":37,"value":522},{"type":37,"value":372},{"type":31,"tag":1656,"props":1716,"children":1718},{"title":1717},"OAC ile OAI arasındaki fark nedir?",[1719],{"type":31,"tag":40,"props":1720,"children":1721},{},[1722,1724,1728],{"type":37,"value":1723},"OAC (Origin Access Control), OAI'nin (Origin Access Identity) yerini alan daha yeni ve güvenli yöntemdir. OAC; IPv6 desteği, SSE-KMS ile şifrelenmiş bucket'larla uyumluluk ve istekleri kriptografik olarak imzalama gibi avantajlar sunar (",{"type":31,"tag":46,"props":1725,"children":1726},{"link":815},[1727],{"type":37,"value":818},{"type":37,"value":372},{"type":31,"tag":1656,"props":1730,"children":1732},{"title":1731},"Cross-account bucket erişiminde en sık yapılan hata nedir?",[1733],{"type":31,"tag":40,"props":1734,"children":1735},{},[1736,1738,1742],{"type":37,"value":1737},"External ID kullanmamak. Datadog'un 2024 raporuna göre, üçüncü parti entegrasyon rollerinin %2'si External ID kullanmadığı için confused deputy saldırılarına açıktır (",{"type":31,"tag":46,"props":1739,"children":1740},{"link":48},[1741],{"type":37,"value":51},{"type":37,"value":1743},", 2024). Cross-account erişim verirken her zaman External ID şartı koyun.",{"type":31,"tag":1656,"props":1745,"children":1747},{"title":1746},"Sızıntı anında yapılacak ilk işlem nedir?",[1748],{"type":31,"tag":40,"props":1749,"children":1750},{},[1751,1753,1758,1760,1764],{"type":37,"value":1752},"İlk müdahale, Public Access Block'un dört ayarını da anında aktif etmek ve Bucket Policy'deki ",{"type":31,"tag":168,"props":1754,"children":1756},{"className":1755},[],[1757],{"type":37,"value":1271},{"type":37,"value":1759}," izinlerini kaldırmaktır. Twilio, 2020 olayında bu adımları alarmdan sonraki bir saat içinde tamamlamıştı (",{"type":31,"tag":46,"props":1761,"children":1762},{"link":112},[1763],{"type":37,"value":115},{"type":37,"value":117},{"type":31,"tag":32,"props":1766,"children":1768},{"id":1767},"sonuç-kontrol-sizde",[1769],{"type":37,"value":1770},"Sonuç: Kontrol sizde",{"type":31,"tag":40,"props":1772,"children":1773},{},[1774],{"type":37,"value":1775},"S3 güvenliği, karmaşık araçlardan çok disiplinli bir farkındalık ve sürekli denetim gerektirir. NCC Group'un sahadan getirdiği öykülerin de Twilio vakasının da gösterdiği gibi, sızıntıların kök nedeni bilgi eksikliği değil, \"zaten güvenlidir\" varsayımıdır.",{"type":31,"tag":40,"props":1777,"children":1778},{},[1779],{"type":37,"value":1780},"Bugün atabileceğiniz en somut adım, hesabınızdaki tüm bucket'larda Public Access Block'un dört ayarının da \"Block\" konumunda olduğundan emin olmaktır. Hesabınız 2018'den eskiyse bu taramayı iki kat önemle yapın. Ardından bu yazıdaki on kuralı sırayla uygulayarak katmanlı bir güvenlik duruşu inşa edin.",{"type":31,"tag":65,"props":1782,"children":1784},{"title":1783,"type":320},"Son Uyarı",[1785],{"type":31,"tag":40,"props":1786,"children":1787},{},[1788],{"type":37,"value":1789},"Bulut güvenliğinde en tehlikeli düşünce, \"nasıl olsa güvendeyizdir\" rahatlığıdır. Kontrol etmediğiniz sürece hiçbir bucket'ın güvende olduğunu varsaymayın. Unutmayın: Twilio'nun bucket'ı beş yıl boyunca açık kalmıştı ve bunu bir saldırganın fark etmesi için tek gereken şey, temel bir S3 taramasıydı.",{"type":31,"tag":1791,"props":1792,"children":1794},"h3",{"id":1793},"kaynakça-ve-referanslar",[1795],{"type":37,"value":1796},"Kaynakça ve Referanslar",{"type":31,"tag":80,"props":1798,"children":1799},{},[1800,1816,1831,1844,1857,1872,1887,1900,1914],{"type":31,"tag":84,"props":1801,"children":1802},{},[1803,1807,1808,1814],{"type":31,"tag":46,"props":1804,"children":1805},{"link":48},[1806],{"type":37,"value":51},{"type":37,"value":866},{"type":31,"tag":1809,"props":1810,"children":1811},"em",{},[1812],{"type":37,"value":1813},"State of Cloud Security 2024",{"type":37,"value":1815}," : S3 Public Access Block kapsamı ve confused deputy riski",{"type":31,"tag":84,"props":1817,"children":1818},{},[1819,1823,1824,1829],{"type":31,"tag":46,"props":1820,"children":1821},{"link":386},[1822],{"type":37,"value":389},{"type":37,"value":866},{"type":31,"tag":1809,"props":1825,"children":1826},{},[1827],{"type":37,"value":1828},"Heads-Up: Amazon S3 Security Changes Are Coming in April of 2023",{"type":37,"value":1830}," : Blok Public Access varsayılan değişikliği ve S3'ün her zaman özel olduğu açıklaması",{"type":31,"tag":84,"props":1832,"children":1833},{},[1834,1838,1839],{"type":31,"tag":46,"props":1835,"children":1836},{"link":815},[1837],{"type":37,"value":818},{"type":37,"value":866},{"type":31,"tag":1809,"props":1840,"children":1841},{},[1842],{"type":37,"value":1843},"Restricting Access to Amazon S3 Content by Using CloudFront Origin Access Control (OAC)",{"type":31,"tag":84,"props":1845,"children":1846},{},[1847,1851,1852],{"type":31,"tag":46,"props":1848,"children":1849},{"link":112},[1850],{"type":37,"value":115},{"type":37,"value":866},{"type":31,"tag":1809,"props":1853,"children":1854},{},[1855],{"type":37,"value":1856},"Incident Report: TaskRouter JS SDK Security Incident - July 19, 2020",{"type":31,"tag":84,"props":1858,"children":1859},{},[1860,1864,1865,1870],{"type":31,"tag":46,"props":1861,"children":1862},{"link":545},[1863],{"type":37,"value":548},{"type":37,"value":866},{"type":31,"tag":1809,"props":1866,"children":1867},{},[1868],{"type":37,"value":1869},"10 Real-World Stories of How We've Compromised CI\u002FCD Pipelines",{"type":37,"value":1871}," (2022)",{"type":31,"tag":84,"props":1873,"children":1874},{},[1875,1879,1880,1885],{"type":31,"tag":46,"props":1876,"children":1877},{"link":519},[1878],{"type":37,"value":522},{"type":37,"value":866},{"type":31,"tag":1809,"props":1881,"children":1882},{},[1883],{"type":37,"value":1884},"Shopify S3 Buckets Open",{"type":37,"value":1886}," (2015)",{"type":31,"tag":84,"props":1888,"children":1889},{},[1890,1894,1895],{"type":31,"tag":46,"props":1891,"children":1892},{"link":161},[1893],{"type":37,"value":164},{"type":37,"value":866},{"type":31,"tag":1809,"props":1896,"children":1897},{},[1898],{"type":37,"value":1899},"Test Cloud Storage : WSTG-CONF-11",{"type":31,"tag":84,"props":1901,"children":1902},{},[1903,1908,1909],{"type":31,"tag":46,"props":1904,"children":1905},{"link":1397,"icon":1398},[1906],{"type":37,"value":1907},"Prowler",{"type":37,"value":866},{"type":31,"tag":1809,"props":1910,"children":1911},{},[1912],{"type":37,"value":1913},"AWS Security Assessment Tool : Açık Kaynak",{"type":31,"tag":84,"props":1915,"children":1916},{},[1917,1922,1923],{"type":31,"tag":46,"props":1918,"children":1919},{"link":1406,"icon":1398},[1920],{"type":37,"value":1921},"ScoutSuite",{"type":37,"value":866},{"type":31,"tag":1809,"props":1924,"children":1925},{},[1926],{"type":37,"value":1927},"Multi-Cloud Security Auditing Tool : NCC Group",{"type":31,"tag":40,"props":1929,"children":1930},{},[1931],{"type":31,"tag":1809,"props":1932,"children":1933},{},[1934],{"type":37,"value":1935},"Bu yazı, bulut güvenliği farkındalığını artırmak amacıyla hazırlanmıştır. Bahsedilen saldırı teknikleri yalnızca yetkili olduğunuz sistemlerde ve eğitim amaçlı kullanılmalıdır.",{"type":31,"tag":1937,"props":1938,"children":1939},"style",{},[1940],{"type":37,"value":1941},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":7,"searchDepth":218,"depth":218,"links":1943},[1944,1945,1946,1947,1948,1949,1950,1951,1952],{"id":34,"depth":200,"text":38},{"id":150,"depth":200,"text":153},{"id":375,"depth":200,"text":378},{"id":668,"depth":200,"text":671},{"id":839,"depth":200,"text":842},{"id":1006,"depth":200,"text":1009},{"id":1224,"depth":200,"text":1227},{"id":1651,"depth":200,"text":1654},{"id":1767,"depth":200,"text":1770,"children":1953},[1954],{"id":1793,"depth":209,"text":1796},"markdown","content:posts:2026:aws-s3-yanlis-yapilandirmalari-ve-savunma.md","content","posts\u002F2026\u002Faws-s3-yanlis-yapilandirmalari-ve-savunma.md","posts\u002F2026\u002Faws-s3-yanlis-yapilandirmalari-ve-savunma","md","\u002Fposts",[1963,1967],{"_path":1964,"title":1965,"date":1966},"\u002F2026\u002Faws-sts-ve-gecici-kimlik-bilgileri","AWS STS ve Geçici Kimlik Bilgileri: Uzun Vadeli Anahtarlardan Kurtulup Güvenli Rol Geçişine Adım Atın","2026-04-28T08:15:00.000Z",{"_path":1968,"title":1969,"date":1970},"\u002F2026\u002Faws-istanbul-local-zone-yayinda","AWS İstanbul Local Zone Yayında: Türkiye’deki Geliştiricileri Ne Bekliyor?","2026-04-28T17:25:00.000Z",1780419439834]