{"id":36230,"date":"2025-12-10T23:31:08","date_gmt":"2025-12-10T20:31:08","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/"},"modified":"2025-12-10T23:31:08","modified_gmt":"2025-12-10T20:31:08","slug":"cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/","title":{"rendered":"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<p>Web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda tart\u0131\u015f\u0131lmaz bir \u00f6ncelik haline gelmi\u015ftir. Ancak bu g\u00fcvenli\u011fi sa\u011flamak, \u00f6zellikle h\u0131zla de\u011fi\u015fen tehdit ortam\u0131nda, s\u00fcrekli bir m\u00fccadele gerektirir. Manuel olarak yap\u0131lan g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmalar\u0131 zaman al\u0131c\u0131, hataya a\u00e7\u0131k ve \u00f6l\u00e7eklendirilmesi zordur. Peki, g\u00fcvenlik duvar\u0131n\u0131z\u0131 kod olarak y\u00f6neterek hem tutarl\u0131l\u0131\u011f\u0131 hem de h\u0131z\u0131 nas\u0131l art\u0131rabilirsiniz? AWS WAF ve CloudFormation ikilisi, tam da bu noktada devreye girerek web uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini otomatik ve g\u00fcvenilir bir \u015fekilde g\u00fcncellemenizi sa\u011flar. Bu makale, CloudFormation stack&#8217;leri arac\u0131l\u0131\u011f\u0131yla AWS WAF g\u00fcncellemelerini nas\u0131l y\u00f6netece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece g\u00fcvenlik altyap\u0131n\u0131z\u0131 daha verimli ve hatas\u0131z bir \u015fekilde s\u00fcrd\u00fcrebilmenize yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p>Modern web uygulamalar\u0131, s\u00fcrekli olarak \u00e7e\u015fitli siber tehditlere maruz kalmaktad\u0131r. SQL enjeksiyonlar\u0131, siteler aras\u0131 komut \u00e7al\u0131\u015ft\u0131rma (XSS), DDoS sald\u0131r\u0131lar\u0131, bot sald\u0131r\u0131lar\u0131 ve di\u011fer bir\u00e7ok k\u00f6t\u00fc niyetli giri\u015fim, hassas verilerin ihlal edilmesine, hizmet kesintilerine ve itibar kayb\u0131na yol a\u00e7abilir. AWS WAF (Web Application Firewall), bu t\u00fcr tehditlere kar\u015f\u0131 uygulamalar\u0131n\u0131z\u0131 koruyan, uygulama katman\u0131 (OSI Layer 7) d\u00fczeyinde \u00e7al\u0131\u015fan kritik bir g\u00fcvenlik hizmetidir. WAF, gelen web trafi\u011fini analiz ederek tan\u0131mlanm\u0131\u015f kurallara uymayan veya bilinen k\u00f6t\u00fc ama\u00e7l\u0131 desenler i\u00e7eren istekleri engeller veya s\u0131n\u0131rlar.<\/p>\n<p>Ancak, WAF kurallar\u0131n\u0131 manuel olarak y\u00f6netmek ve g\u00fcncellemek, \u00f6zellikle b\u00fcy\u00fck ve dinamik altyap\u0131larda, ciddi zorluklar yaratabilir. Kural ekleme, \u00e7\u0131karma, de\u011fi\u015ftirme veya mevcut kurallar\u0131n hassasiyetini ayarlama i\u015flemleri, insan hatas\u0131na a\u00e7\u0131k olabilir ve farkl\u0131 ortamlar (geli\u015ftirme, test, \u00fcretim) aras\u0131nda tutars\u0131z yap\u0131land\u0131rmalara yol a\u00e7abilir. \u0130\u015fte tam bu noktada, Altyap\u0131y\u0131 Kod Olarak (Infrastructure as Code &#8211; IaC) y\u00f6netmenin \u00f6nc\u00fcs\u00fc olan AWS CloudFormation devreye giriyor. CloudFormation, AWS kaynaklar\u0131n\u0131z\u0131 kod kullanarak tan\u0131mlaman\u0131za, sa\u011flaman\u0131za ve y\u00f6netmenize olanak tan\u0131r. Yani, WAF yap\u0131land\u0131rman\u0131z\u0131 bir YAML veya JSON \u015fablonu i\u00e7inde kodlayabilir, bu \u015fablonu versiyon kontrol sistemlerinde (\u00f6rne\u011fin Git) saklayabilir ve de\u011fi\u015fiklikleri otomatik bir \u015fekilde uygulayabilirsiniz.<\/p>\n<p>Bu iki hizmetin birle\u015fimi, g\u00fcvenlik operasyonlar\u0131n\u0131zda devrim niteli\u011finde avantajlar sunar. \u00d6ncelikle, <strong>tutarl\u0131l\u0131k<\/strong> sa\u011flar. Her da\u011f\u0131t\u0131mda ayn\u0131 WAF yap\u0131land\u0131rmas\u0131n\u0131n uygulanmas\u0131n\u0131 garanti eder, bu da farkl\u0131 ortamlar aras\u0131ndaki farkl\u0131l\u0131klar\u0131 ortadan kald\u0131r\u0131r. \u0130kincil olarak, <strong>otomasyon<\/strong> sayesinde, yeni g\u00fcvenlik kurallar\u0131 eklemek veya mevcut kurallar\u0131 g\u00fcncellemek i\u00e7in manuel ad\u0131mlar minimuma iner. Bu, \u00f6zellikle bir tehdide h\u0131zl\u0131 yan\u0131t vermeniz gerekti\u011finde kritik bir avantajd\u0131r. \u00dc\u00e7\u00fcnc\u00fcl olarak, CloudFormation ile WAF yap\u0131land\u0131rman\u0131z\u0131n <strong>versiyon kontrol\u00fcn\u00fc<\/strong> yapabilirsiniz. Bu, yap\u0131lan her de\u011fi\u015fikli\u011fin kayd\u0131n\u0131n tutulmas\u0131n\u0131, hatal\u0131 bir g\u00fcncelleme durumunda kolayca \u00f6nceki s\u00fcr\u00fcme d\u00f6n\u00fclmesini (rollback) ve g\u00fcvenlik denetimlerini kolayla\u015ft\u0131rmas\u0131n\u0131 sa\u011flar. Son olarak, <strong>\u00f6l\u00e7eklenebilirlik<\/strong> a\u00e7\u0131s\u0131ndan da \u00f6nemli faydalar sunar. \u00c7ok say\u0131da web uygulaman\u0131z veya farkl\u0131 AWS hesaplar\u0131n\u0131z varsa, CloudFormation \u015fablonlar\u0131n\u0131 kullanarak WAF yap\u0131land\u0131rmalar\u0131n\u0131 h\u0131zl\u0131 ve tutarl\u0131 bir \u015fekilde \u00e7o\u011faltabilir ve y\u00f6netebilirsiniz. Bu sinerji, sadece g\u00fcvenlik duru\u015funuzu g\u00fc\u00e7lendirmekle kalmaz, ayn\u0131 zamanda operasyonel y\u00fck\u00fcn\u00fcz\u00fc de \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<\/p>\n<h2>AWS WAF ve CloudFormation: G\u00fcvenli\u011fin ve Otomasyonun Temelleri<\/h2>\n<p>CloudFormation ile AWS WAF g\u00fcncellemelerinin derinliklerine dalmadan \u00f6nce, bu iki kritik AWS hizmetinin temel \u00f6zelliklerini ve neden bu kadar g\u00fc\u00e7l\u00fc bir ikili olu\u015fturduklar\u0131n\u0131 anlamak \u00f6nemlidir. Bu b\u00f6l\u00fcm, her iki hizmeti de ba\u015flang\u0131\u00e7 seviyesinden ele alarak, konuya yeni ba\u015flayan okuyucular i\u00e7in sa\u011flam bir temel olu\u015fturacakt\u0131r.<\/p>\n<h3>AWS WAF Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p>AWS WAF, web uygulamalar\u0131n\u0131z ile internet aras\u0131nda bir kalkan g\u00f6revi g\u00f6ren, bulut tabanl\u0131 bir web uygulama g\u00fcvenlik duvar\u0131d\u0131r. Geleneksel g\u00fcvenlik duvarlar\u0131 a\u011f katmanlar\u0131nda \u00e7al\u0131\u015f\u0131rken, WAF uygulaman\u0131z\u0131n katman 7&#8217;sinde (uygulama katman\u0131) \u00e7al\u0131\u015f\u0131r. Bu, WAF&#8217;\u0131n HTTP\/S isteklerinin i\u00e7eri\u011fini, ba\u015fl\u0131klar\u0131n\u0131 ve g\u00f6vdelerini analiz edebilmesi anlam\u0131na gelir. Bu yetenek, SQL enjeksiyonu, siteler aras\u0131 komut \u00e7al\u0131\u015ft\u0131rma (XSS), cross-site request forgery (CSRF), HTTP flood gibi OWASP Top 10 listesindeki bir\u00e7ok yayg\u0131n web zafiyetine kar\u015f\u0131 koruma sa\u011flamas\u0131na olanak tan\u0131r.<\/p>\n<p>WAF&#8217;\u0131n ana bile\u015fenleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Web ACL (Web Access Control List):<\/strong> Bu, WAF yap\u0131land\u0131rman\u0131z\u0131n ana kapsay\u0131c\u0131s\u0131d\u0131r. Bir Web ACL, belirli bir AWS kayna\u011f\u0131na (Amazon CloudFront da\u011f\u0131t\u0131m\u0131, Application Load Balancer, Amazon API Gateway, AWS AppSync veya AWS Cognito kullan\u0131c\u0131 havuzu) eklenir.<\/li>\n<li><strong>Kurallar (Rules):<\/strong> Kurallar, WAF&#8217;\u0131n gelen web isteklerini incelemek ve tan\u0131mlanm\u0131\u015f ko\u015fullara g\u00f6re engellemek, izin vermek veya saymak i\u00e7in kulland\u0131\u011f\u0131 temel mant\u0131k bloklar\u0131d\u0131r. \u00d6rne\u011fin, belirli IP adreslerinden gelen istekleri engellemek, belirli URL yollar\u0131na eri\u015fimi k\u0131s\u0131tlamak veya bir dakikada belirli bir iste\u011fin \u00fczerindeki trafi\u011fi s\u0131n\u0131rlamak i\u00e7in kurallar tan\u0131mlayabilirsiniz.<\/li>\n<li><strong>Kural Gruplar\u0131 (Rule Groups):<\/strong> Benzer kurallar\u0131 bir araya getiren bir koleksiyondur. AWS Managed Rule Groups, AWS taraf\u0131ndan y\u00f6netilen ve s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan tehditlere (\u00f6rne\u011fin SQLi, XSS) kar\u015f\u0131 haz\u0131r koruma sa\u011flayan kural gruplar\u0131d\u0131r. Kendi \u00f6zel kural gruplar\u0131n\u0131z\u0131 da olu\u015fturabilirsiniz.<\/li>\n<li><strong>IP K\u00fcmeleri (IP Sets):<\/strong> \u0130zin vermek veya engellemek istedi\u011finiz IP adreslerinin veya IP aral\u0131klar\u0131n\u0131n bir listesidir.<\/li>\n<li><strong>Rate-based Kurallar:<\/strong> Belirli bir zaman dilimi i\u00e7inde ayn\u0131 IP adresinden gelen istek say\u0131s\u0131n\u0131 izleyen ve bu say\u0131 bir e\u015fi\u011fi a\u015ft\u0131\u011f\u0131nda tan\u0131ml\u0131 bir eylem ger\u00e7ekle\u015ftiren kurallard\u0131r. DDoS ve brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 etkilidir.<\/li>\n<\/ul>\n<p>AWS WAF&#8217;\u0131n \u00f6nemi, sadece proaktif koruma sa\u011flamas\u0131yla s\u0131n\u0131rl\u0131 de\u011fildir. Ger\u00e7ek zamanl\u0131 g\u00f6r\u00fcn\u00fcrl\u00fck sunarak sald\u0131r\u0131 desenlerini anlaman\u0131za yard\u0131mc\u0131 olur ve h\u0131zla de\u011fi\u015fen tehdit ortam\u0131na adapte olman\u0131z\u0131 kolayla\u015ft\u0131r\u0131r. \u00d6zellikle g\u00fcvenlik uzman\u0131 olmayan geli\u015ftiricilerin bile kolayca kurallar tan\u0131mlayabilmesi, g\u00fcvenlik y\u00fck\u00fcn\u00fc da\u011f\u0131tmaya yard\u0131mc\u0131 olur.<\/p>\n<div class=\"expert-tip\">\n    Uzman \u0130pucu: AWS Managed Rule Groups, yayg\u0131n tehditlere kar\u015f\u0131 harika bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Ancak, uygulaman\u0131za \u00f6zel tehditleri hedeflemek i\u00e7in kendi \u00f6zel kurallar\u0131n\u0131z\u0131 veya kural gruplar\u0131n\u0131z\u0131 olu\u015fturmay\u0131 ihmal etmeyin. Managed Rule Groups&#8217;u &#8216;COUNT&#8217; modunda deneyerek false positive&#8217;leri g\u00f6zlemlemek, devreye almadan \u00f6nce ak\u0131ll\u0131ca bir stratejidir.\n<\/div>\n<h3>CloudFormation ile Altyap\u0131y\u0131 Kod Olarak Y\u00f6netmek<\/h3>\n<p>CloudFormation, AWS bulut ortam\u0131n\u0131zdaki kaynaklar\u0131 g\u00fcvenli, verimli ve tekrarlanabilir bir \u015fekilde y\u00f6netmek i\u00e7in tasarlanm\u0131\u015f bir hizmettir. Temel felsefesi &#8220;Altyap\u0131y\u0131 Kod Olarak&#8221; (Infrastructure as Code &#8211; IaC) yakla\u015f\u0131m\u0131na dayan\u0131r. Bu, sunucular, veritabanlar\u0131, a\u011f yap\u0131land\u0131rmalar\u0131 ve elbette g\u00fcvenlik duvarlar\u0131 gibi t\u00fcm altyap\u0131 bile\u015fenlerini, versiyonlanabilir ve da\u011f\u0131t\u0131labilir kod \u015fablonlar\u0131 olarak tan\u0131mlayabilece\u011finiz anlam\u0131na gelir.<\/p>\n<p>CloudFormation&#8217;\u0131n temel bile\u015fenleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>\u015eablonlar (Templates):<\/strong> CloudFormation \u015fablonlar\u0131, AWS kaynaklar\u0131n\u0131z\u0131 (\u00f6rne\u011fin, bir EC2 \u00f6rne\u011fi, bir S3 bucket&#8217;\u0131, bir VPC veya bir AWS WAF Web ACL&#8217;si) tan\u0131mlayan YAML veya JSON format\u0131ndaki metin dosyalar\u0131d\u0131r. Bu \u015fablonlar, kaynaklar\u0131n \u00f6zelliklerini, ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve \u00e7\u0131kt\u0131lar\u0131n\u0131 belirtir.<\/li>\n<li><strong>Stack&#8217;ler:<\/strong> Bir \u015fablondan olu\u015fturulan bir kaynak koleksiyonudur. CloudFormation, \u015fablondaki kaynaklar\u0131 bir stack olarak tek bir birim halinde y\u00f6netir. Stack&#8217;i g\u00fcncelledi\u011finizde veya sildi\u011finizde, CloudFormation i\u00e7indeki t\u00fcm ilgili kaynaklar\u0131 da g\u00fcnceller veya siler.<\/li>\n<li><strong>De\u011fi\u015fiklik K\u00fcmeleri (Change Sets):<\/strong> Bir stack&#8217;i g\u00fcncellemeden \u00f6nce, yapaca\u011f\u0131n\u0131z de\u011fi\u015fikliklerin AWS kaynaklar\u0131n\u0131z \u00fczerinde ne gibi etkileri olaca\u011f\u0131n\u0131 \u00f6nizlemenizi sa\u011flayan bir mekanizmad\u0131r. Bu, \u00f6zellikle \u00fcretim ortamlar\u0131nda potansiyel kesintileri veya istenmeyen de\u011fi\u015fiklikleri \u00f6nlemek i\u00e7in hayati \u00f6neme sahiptir.<\/li>\n<\/ul>\n<p>CloudFormation kullanman\u0131n faydalar\u0131 saymakla bitmez:<\/p>\n<ul>\n<li><strong>Tekrarlanabilirlik:<\/strong> Bir \u015fablonu farkl\u0131 AWS hesaplar\u0131nda veya b\u00f6lgelerinde ayn\u0131 yap\u0131land\u0131rmay\u0131 olu\u015fturmak i\u00e7in tekrar tekrar kullanabilirsiniz.<\/li>\n<li><strong>Tutarl\u0131l\u0131k:<\/strong> Ortamlar aras\u0131nda (geli\u015ftirme, test, \u00fcretim) yap\u0131land\u0131rma farkl\u0131l\u0131klar\u0131n\u0131 ortadan kald\u0131r\u0131r, bu da &#8220;benim makinemde \u00e7al\u0131\u015f\u0131yor&#8221; sorununu azalt\u0131r.<\/li>\n<li><strong>Versiyon Kontrol\u00fc:<\/strong> \u015eablonlar\u0131n\u0131z\u0131 Git gibi bir versiyon kontrol sisteminde saklayarak, t\u00fcm de\u011fi\u015fikliklerin izini tutabilir, gerekti\u011finde \u00f6nceki s\u00fcr\u00fcmlere d\u00f6nebilirsiniz.<\/li>\n<li><strong>Otomasyon:<\/strong> CI\/CD (S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m) i\u015flem hatlar\u0131yla entegre edilerek, altyap\u0131 de\u011fi\u015fikliklerini otomatik olarak da\u011f\u0131tabilirsiniz.<\/li>\n<li><strong>Hata Azaltma:<\/strong> Manuel yap\u0131land\u0131rma hatalar\u0131n\u0131 ortadan kald\u0131r\u0131r ve kaynaklar\u0131n do\u011fru s\u0131rada olu\u015fturulmas\u0131n\u0131 veya g\u00fcncellenmesini sa\u011flar.<\/li>\n<\/ul>\n<p>AWS WAF&#8217;\u0131 CloudFormation ile y\u00f6netmek, g\u00fcvenlik altyap\u0131n\u0131z\u0131 t\u0131pk\u0131 uygulaman\u0131z\u0131n kodu gibi ele alman\u0131z\u0131 sa\u011flar. Bu, g\u00fcvenlik politikalar\u0131n\u0131z\u0131n daha \u00e7evik, daha \u015feffaf ve daha g\u00fcvenilir bir \u015fekilde y\u00f6netilmesini m\u00fcmk\u00fcn k\u0131lar. Kural g\u00fcncellemeleri, da\u011f\u0131t\u0131mlar ve geri d\u00f6n\u00fc\u015fler, art\u0131k karma\u015f\u0131k manuel i\u015flemler de\u011fil, otomatize edilmi\u015f, denetlenebilir s\u00fcre\u00e7ler haline gelir.<\/p>\n<h2>CloudFormation ile Mevcut Bir AWS WAF Stack&#8217;ini Ad\u0131m Ad\u0131m G\u00fcncellemek<\/h2>\n<p>AWS WAF&#8217;\u0131 CloudFormation ile y\u00f6netmek, ilk ba\u015fta karma\u015f\u0131k gibi g\u00f6r\u00fcnse de, temel ad\u0131mlar\u0131 anlad\u0131\u011f\u0131n\u0131zda olduk\u00e7a basittir. Bu b\u00f6l\u00fcmde, mevcut bir CloudFormation stack&#8217;i arac\u0131l\u0131\u011f\u0131yla y\u00f6netilen bir AWS WAF yap\u0131land\u0131rmas\u0131n\u0131 nas\u0131l g\u00fcvenli ve etkin bir \u015fekilde g\u00fcncelleyece\u011finizi ad\u0131m ad\u0131m inceleyece\u011fiz. Bir vaka analizi olarak, bir e-ticaret sitesinin yeni bir tehditle kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda IP engelleme kurallar\u0131n\u0131 nas\u0131l g\u00fcncelledi\u011fini d\u00fc\u015f\u00fcnebiliriz.<\/p>\n<h3>Mevcut WAF Yap\u0131land\u0131rmas\u0131n\u0131 \u0130nceleme ve De\u011fi\u015fiklikleri Planlama<\/h3>\n<p>G\u00fcncelleme s\u00fcrecinin ilk ad\u0131m\u0131, mevcut WAF yap\u0131land\u0131rman\u0131z\u0131 ve CloudFormation \u015fablonunuzu dikkatlice incelemektir. Web ACL&#8217;nizde hangi kurallar var? Hangi kural gruplar\u0131 kullan\u0131l\u0131yor? Mevcut IP k\u00fcmeleri neler? Bu sorular\u0131n yan\u0131tlar\u0131n\u0131 bilmek, yapaca\u011f\u0131n\u0131z de\u011fi\u015fikliklerin olas\u0131 etkilerini anlaman\u0131za yard\u0131mc\u0131 olacakt\u0131r. Genellikle bu \u015fablonlar bir Git deposunda saklan\u0131r ve bu, de\u011fi\u015fiklikleri takip etmek i\u00e7in kritik bir ad\u0131md\u0131r.<\/p>\n<p>Diyelim ki bir e-ticaret siteniz var ve g\u00fcvenlik ekibiniz, son zamanlarda belirli bir grup IP adresinden gelen otomatik bot sald\u0131r\u0131lar\u0131n\u0131n artt\u0131\u011f\u0131n\u0131 tespit etti. Bu IP&#8217;ler, oturum a\u00e7ma sayfas\u0131na denemeler yaparak brute-force sald\u0131r\u0131lar\u0131 d\u00fczenliyor. Mevcut WAF yap\u0131land\u0131rman\u0131zda bu IP&#8217;leri do\u011frudan engelleyen bir kural yok. Amac\u0131m\u0131z, bu yeni k\u00f6t\u00fc niyetli IP adreslerini i\u00e7eren bir IPSet olu\u015fturup, bunu mevcut Web ACL&#8217;imize entegre ederek bu IP&#8217;lerden gelen trafi\u011fi engellemektir. Ayr\u0131ca, mevcut bir Managed Rule Group&#8217;un versiyonunu g\u00fcncellemek veya bir Rate-based kural\u0131n e\u015fi\u011fini de\u011fi\u015ftirmek de benzer bir yakla\u015f\u0131mla ele al\u0131nabilir.<\/p>\n<p>De\u011fi\u015fiklikleri planlarken, a\u015fa\u011f\u0131daki hususlar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurun:<\/p>\n<ul>\n<li><strong>Etki Alan\u0131:<\/strong> Yapaca\u011f\u0131n\u0131z de\u011fi\u015fiklikler hangi Web ACL&#8217;yi, hangi kurallar\u0131 veya kural gruplar\u0131n\u0131 etkileyecek?<\/li>\n<li><strong>Ba\u011f\u0131ml\u0131l\u0131klar:<\/strong> Yeni bir kural eklemek veya mevcut bir kural\u0131 de\u011fi\u015ftirmek, ba\u015fka kurallar\u0131 veya kaynaklar\u0131 etkileyecek mi?<\/li>\n<li><strong>Test Stratejisi:<\/strong> De\u011fi\u015fiklikler uyguland\u0131ktan sonra nas\u0131l test edeceksiniz? Hatal\u0131 bir kural\u0131n yasal trafi\u011fi engellememesi kritik \u00f6neme sahiptir.<\/li>\n<li><strong>Geri D\u00f6n\u00fc\u015f (Rollback) Plan\u0131:<\/strong> Herhangi bir sorun durumunda nas\u0131l geri d\u00f6neceksiniz? CloudFormation, bu konuda size b\u00fcy\u00fck avantajlar sunar.<\/li>\n<\/ul>\n<h3>CloudFormation Template&#8217;ini G\u00fcncelleme ve Change Set Olu\u015fturma<\/h3>\n<p>Planlama a\u015famas\u0131ndan sonra, s\u0131ra CloudFormation \u015fablonunuzu g\u00fcncellemeye gelir. Mevcut WAF stack&#8217;inizin \u015fablonunu a\u00e7\u0131n. Yeni IPSet&#8217;i tan\u0131mlamam\u0131z ve ard\u0131ndan bu IPSet&#8217;i kullanarak bir kural olu\u015fturup Web ACL&#8217;imize eklememiz gerekiyor. A\u015fa\u011f\u0131da, mevcut bir Web ACL&#8217;e yeni bir IPSet ve bu IPSet&#8217;i kullanan bir kural eklemek i\u00e7in CloudFormation \u015fablonunuzda yapman\u0131z gereken de\u011fi\u015fikliklerin bir \u00f6rne\u011fi bulunmaktad\u0131r.<\/p>\n<pre><code class=\"language-yaml\">\nAWSTemplateFormatVersion: '2010-09-09'\nDescription: AWS WAF Web ACL for example.com\n\nResources:\n  MyWebACL:\n    Type: AWS::WAFv2::WebACL\n    Properties:\n      Name: MyExampleWebACL\n      Scope: REGIONAL # Or CLOUDFRONT\n      DefaultAction:\n        Allow: {}\n      VisibilityConfig:\n        CloudWatchMetricsEnabled: true\n        MetricName: MyExampleWebACLMetric\n        SampledRequestsEnabled: true\n      Rules:\n        - Name: AWSManagedRulesCommonRuleSet\n          Priority: 1\n          Statement:\n            ManagedRuleGroupStatement:\n              VendorName: AWS\n              Name: AWSManagedRulesCommonRuleSet\n          OverrideAction:\n            None: {}\n          VisibilityConfig:\n            SampledRequestsEnabled: true\n            CloudWatchMetricsEnabled: true\n            MetricName: AWSManagedRulesCommonRuleSet\n        # Yeni IP Engelleme Kural\u0131 buraya eklenecek\n        - Name: BlockMaliciousIPsRule\n          Priority: 2 # Di\u011fer kurallardan \u00f6nce \u00e7al\u0131\u015fmas\u0131 i\u00e7in daha d\u00fc\u015f\u00fck bir \u00f6ncelik\n          Statement:\n            IPSetReferenceStatement:\n              ARN: !GetAtt MaliciousIPSet.Arn # Olu\u015fturdu\u011fumuz IPSet'in ARN'ini referans al\u0131yoruz\n          Action:\n            Block: {} # Bu IPSet'ten gelen trafi\u011fi engelle\n          VisibilityConfig:\n            SampledRequestsEnabled: true\n            CloudWatchMetricsEnabled: true\n            MetricName: BlockMaliciousIPsMetric\n      Tags:\n        - Key: Project\n          Value: ExampleWebApp\n\n  MaliciousIPSet:\n    Type: AWS::WAFv2::IPSet\n    Properties:\n      Name: MaliciousIPSet-Example\n      Scope: REGIONAL # Web ACL ile ayn\u0131 kapsamda olmal\u0131\n      IPAddressVersion: IPV4\n      Addresses:\n        - '192.0.2.44\/32'\n        - '203.0.113.0\/24'\n        - '198.51.100.10\/32' # Tespit edilen yeni k\u00f6t\u00fc niyetli IP'ler\n      Description: Tespit edilen k\u00f6t\u00fc niyetli IP adresleri\n      Tags:\n        - Key: Project\n          Value: ExampleWebApp\n\nOutputs:\n  WebACLArn:\n    Description: The ARN of the Web ACL\n    Value: !GetAtt MyWebACL.Arn\n  IPSetArn:\n    Description: The ARN of the Malicious IPSet\n    Value: !GetAtt MaliciousIPSet.Arn\n\n<\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki \u00f6rnekte, <code>MaliciousIPSet<\/code> ad\u0131nda yeni bir <code>AWS::WAFv2::IPSet<\/code> kayna\u011f\u0131 tan\u0131mlad\u0131k ve i\u00e7ine engellemek istedi\u011fimiz IP adreslerini ekledik. Ard\u0131ndan, <code>MyWebACL<\/code> kayna\u011f\u0131n\u0131n <code>Rules<\/code> listesine <code>BlockMaliciousIPsRule<\/code> ad\u0131nda yeni bir kural ekledik. Bu kural, <code>MaliciousIPSet<\/code>'i referans alarak bu IP'lerden gelen t\u00fcm istekleri bloklar. Kural\u0131n <code>Priority<\/code> de\u011ferine dikkat edin; daha d\u00fc\u015f\u00fck \u00f6ncelik numaras\u0131, kural\u0131n daha \u00f6nce de\u011ferlendirilece\u011fi anlam\u0131na gelir. K\u00f6t\u00fc niyetli IP'lerin m\u00fcmk\u00fcn oldu\u011funca erken engellenmesi genellikle arzu edilir.<\/p>\n<p>\u015eablonunuzu g\u00fcncelledikten sonra, de\u011fi\u015fiklikleri do\u011frudan uygulamak yerine bir <strong>De\u011fi\u015fiklik K\u00fcmesi (Change Set)<\/strong> olu\u015fturman\u0131z \u015fiddetle tavsiye edilir. CloudFormation, bu Change Set'i analiz eder ve de\u011fi\u015fikliklerin hangi mevcut kaynaklar\u0131 etkileyece\u011fini, nelerin eklenece\u011fini, nelerin silinece\u011fini veya nelerin de\u011fi\u015ftirilece\u011fini size g\u00f6sterir. Bu, olas\u0131 istenmeyen yan etkileri \u00f6nceden g\u00f6rmenizi sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">\n# CloudFormation Change Set olu\u015fturma komutu (\u00f6rnek)\naws cloudformation create-change-set \\\n    --stack-name MyExampleWAFStack \\\n    --template-body file:\/\/path\/to\/updated-waf-template.yaml \\\n    --change-set-name MyWAFUpdate-IPBlock-$(date +%Y%m%d%H%M%S) \\\n    --capabilities CAPABILITY_IAM # E\u011fer \u015fablon IAM kaynaklar\u0131 i\u00e7eriyorsa\n\n<\/pre>\n<p><\/code><\/p>\n<p>Bu komut, belirledi\u011finiz \u015fablon dosyas\u0131n\u0131 kullanarak mevcut stack i\u00e7in bir Change Set olu\u015fturacakt\u0131r. AWS Y\u00f6netim Konsolu'nda, stack'inizin \"Change sets\" sekmesi alt\u0131nda bu de\u011fi\u015fiklik k\u00fcmesini inceleyebilir, CloudFormation'\u0131n ne yapmay\u0131 planlad\u0131\u011f\u0131n\u0131 detayl\u0131ca g\u00f6rebilirsiniz. Yeni bir IPSet olu\u015fturuldu\u011funu ve Web ACL'ye yeni bir kural eklendi\u011fini g\u00f6receksiniz. Bu a\u015fama, bir nevi \"sim\u00fclasyon\" yaparak ger\u00e7ek da\u011f\u0131t\u0131mdan \u00f6nce olas\u0131 sorunlar\u0131 tespit etmenize olanak tan\u0131r.<\/p>\n<h3>G\u00fcvenli Da\u011f\u0131t\u0131m: Change Set'i Uygulama ve Do\u011frulama<\/h3>\n<p>Change Set'i dikkatlice inceledikten ve de\u011fi\u015fikliklerin bekledi\u011finiz gibi oldu\u011fundan emin olduktan sonra, art\u0131k da\u011f\u0131t\u0131m zaman\u0131d\u0131r. CloudFormation konsolu \u00fczerinden \"Execute\" butonuna t\u0131klayarak veya AWS CLI kullanarak Change Set'i uygulayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">\n# CloudFormation Change Set'i uygulama komutu (\u00f6rnek)\naws cloudformation execute-change-set \\\n    --change-set-name MyWAFUpdate-IPBlock-YYYYMMDDHHMMSS \\\n    --stack-name MyExampleWAFStack\n\n<\/pre>\n<p><\/code><\/p>\n<p>CloudFormation, stack'i g\u00fcncelleme s\u00fcrecini ba\u015flatacakt\u0131r. Bu i\u015flem genellikle birka\u00e7 dakika s\u00fcrer. Bu s\u00fcre zarf\u0131nda, stack'inizin durumunu CloudFormation konsolunda \"UPDATE_IN_PROGRESS\" olarak g\u00f6receksiniz. G\u00fcncelleme tamamland\u0131\u011f\u0131nda durum \"UPDATE_COMPLETE\" olacakt\u0131r. Herhangi bir sorunla kar\u015f\u0131la\u015f\u0131l\u0131rsa, durum \"UPDATE_ROLLBACK_IN_PROGRESS\" veya \"UPDATE_ROLLBACK_COMPLETE\" olabilir, bu da CloudFormation'\u0131n \u00f6nceki ba\u015far\u0131l\u0131 duruma otomatik olarak geri d\u00f6nd\u00fc\u011f\u00fc anlam\u0131na gelir. Bu otomatik geri d\u00f6n\u00fc\u015f yetene\u011fi, CloudFormation'\u0131n sa\u011flad\u0131\u011f\u0131 en \u00f6nemli g\u00fcvenlik a\u011flar\u0131ndan biridir.<\/p>\n<div class=\"expert-tip\">\n    Uzman \u0130pucu: Da\u011f\u0131t\u0131m sonras\u0131 do\u011frulama \u00e7ok \u00f6nemlidir. Yeni WAF kurallar\u0131n\u0131z\u0131n yasal trafi\u011fi etkilemedi\u011finden emin olmak i\u00e7in web uygulaman\u0131za bir dizi test iste\u011fi g\u00f6nderin. Ayn\u0131 zamanda, engellemeniz gereken IP'lerden gelen isteklerin ger\u00e7ekten engellendi\u011fini kontrol edin. AWS WAF metriklerini ve g\u00fcnl\u00fcklerini (Amazon CloudWatch ve Amazon S3\/Kinesis Firehose arac\u0131l\u0131\u011f\u0131yla) izlemek, bu do\u011frulama s\u00fcrecinde size paha bi\u00e7ilmez bilgiler sa\u011flayacakt\u0131r.\n<\/div>\n<p>Do\u011frulama ad\u0131mlar\u0131:<\/p>\n<ul>\n<li>AWS WAF konsolunda Web ACL'nizi kontrol edin ve yeni IPSet ile kural\u0131n eklenip eklenmedi\u011fini do\u011frulay\u0131n.<\/li>\n<li>CloudWatch metriklerini (<code>WAFv2<\/code> namespace alt\u0131nda) ve g\u00fcnl\u00fcklerini (WAF loglar\u0131 etkinse) izleyerek yeni kural\u0131n do\u011fru bir \u015fekilde tetiklenip tetiklenmedi\u011fini ve beklenen IP'leri engelledi\u011fini kontrol edin.<\/li>\n<li>K\u00f6t\u00fc niyetli IP'lerden (e\u011fer test ortam\u0131nda sim\u00fcle edilebiliyorsa) veya bilinen test ara\u00e7lar\u0131yla uygulama katman\u0131 sald\u0131r\u0131lar\u0131 sim\u00fcle ederek yeni kural\u0131n etkinli\u011fini test edin.<\/li>\n<li>Uygulaman\u0131z\u0131n performans\u0131nda veya eri\u015filebilirli\u011finde herhangi bir olumsuz etki olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<\/li>\n<\/ul>\n<p>Bu ad\u0131mlar\u0131 izleyerek, CloudFormation arac\u0131l\u0131\u011f\u0131yla AWS WAF yap\u0131land\u0131rmalar\u0131n\u0131z\u0131 g\u00fcvenli, kontrol edilebilir ve tekrarlanabilir bir \u015fekilde g\u00fcncelleyebilirsiniz. Bu y\u00f6ntem, g\u00fcvenlik politikalar\u0131n\u0131z\u0131n \u00e7evikli\u011fini art\u0131r\u0131rken operasyonel riskleri de \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<\/p>\n<h2>Otomatik G\u00fcvenlik ve Geli\u015fmi\u015f Y\u00f6netim Stratejileri<\/h2>\n<p>CloudFormation ile AWS WAF'\u0131 y\u00f6netmek, temel seviyede bile \u00f6nemli avantajlar sunarken, baz\u0131 ileri d\u00fczey teknikler ve en iyi uygulamalarla bu s\u00fcreci daha da optimize edebilirsiniz. B\u00fcy\u00fck, karma\u015f\u0131k veya \u00e7oklu hesap ortamlar\u0131nda g\u00fcvenlik operasyonlar\u0131n\u0131 kolayla\u015ft\u0131rmak i\u00e7in mod\u00fcler yakla\u015f\u0131mlar, merkezi denetim ve CI\/CD entegrasyonu gibi stratejiler kritik \u00f6neme sahiptir.<\/p>\n<h3>Mod\u00fcler Yakla\u015f\u0131m ve Nested Stacks ile WAF Y\u00f6netimi<\/h3>\n<p>Tek bir CloudFormation \u015fablonu i\u00e7inde t\u00fcm WAF yap\u0131land\u0131rmas\u0131n\u0131 (IP Setleri, Kural Gruplar\u0131, Web ACL) y\u00f6netmek, basit durumlar i\u00e7in yeterli olabilir. Ancak, yap\u0131land\u0131rma b\u00fcy\u00fcd\u00fck\u00e7e veya farkl\u0131 bile\u015fenlerin farkl\u0131 ekipler taraf\u0131ndan y\u00f6netilmesi gerekti\u011finde, bu yakla\u015f\u0131m karma\u015f\u0131k ve y\u00f6netilemez hale gelebilir. \u0130\u015fte bu noktada, mod\u00fcler bir yakla\u015f\u0131m ve CloudFormation'\u0131n i\u00e7 i\u00e7e (nested) stack \u00f6zelli\u011fi devreye girer.<\/p>\n<p>Nested stack'ler, bir CloudFormation \u015fablonu i\u00e7inde ba\u015fka \u015fablonlar\u0131 referans vermenizi sa\u011flar. Bu, WAF yap\u0131land\u0131rman\u0131z\u0131 mant\u0131ksal olarak ayr\u0131lm\u0131\u015f, daha k\u00fc\u00e7\u00fck ve y\u00f6netilebilir birimlere b\u00f6lmenize olanak tan\u0131r:<\/p>\n<ul>\n<li><strong>IP Setleri i\u00e7in Ayr\u0131 Stack:<\/strong> T\u00fcm IP Set'lerinizi (k\u00f6t\u00fc niyetli IP'ler, g\u00fcvenilir IP'ler vb.) ayr\u0131 bir CloudFormation \u015fablonu ve stack'i olarak tan\u0131mlayabilirsiniz.<\/li>\n<li><strong>Kural Gruplar\u0131 i\u00e7in Ayr\u0131 Stack:<\/strong> \u00d6zel kural gruplar\u0131n\u0131z\u0131 ayr\u0131 stack'lerde y\u00f6netebilirsiniz. Bu, farkl\u0131 Web ACL'ler aras\u0131nda kural gruplar\u0131n\u0131 kolayca yeniden kullanman\u0131z\u0131 sa\u011flar.<\/li>\n<li><strong>Web ACL i\u00e7in Ana Stack:<\/strong> Ana Web ACL stack'iniz, bu alt stack'leri referans alarak Web ACL'nizi olu\u015fturur.<\/li>\n<\/ul>\n<p>Bu mod\u00fcler yap\u0131, kodun yeniden kullan\u0131labilirli\u011fini art\u0131r\u0131r, \u015fablonlar\u0131n okunabilirli\u011fini ve bak\u0131m\u0131n\u0131 kolayla\u015ft\u0131r\u0131r. Ayr\u0131ca, farkl\u0131 bile\u015fenler \u00fczerinde ba\u011f\u0131ms\u0131z olarak \u00e7al\u0131\u015fman\u0131za ve g\u00fcncellemeleri daha kontroll\u00fc bir \u015fekilde yapman\u0131za olanak tan\u0131r. \u00d6rne\u011fin, sadece IP Set'lerde bir de\u011fi\u015fiklik yapman\u0131z gerekti\u011finde, sadece ilgili IP Set stack'ini g\u00fcncellemeniz yeterli olur, bu da ana Web ACL stack'ini gereksiz yere riske atmaz.<\/p>\n<pre><code class=\"language-yaml\">\n# Ana Web ACL stack \u015fablonu \u00f6rne\u011fi, nested stack olarak IP Set'i referans al\u0131yor\nResources:\n  MyIPSetStack:\n    Type: AWS::CloudFormation::Stack\n    Properties:\n      TemplateURL: https:\/\/s3.amazonaws.com\/your-bucket\/waf-ip-set-template.yaml # IP Set \u015fablonunun S3 URL'si\n      Parameters:\n        IPAddresses: '192.0.2.44\/32,203.0.113.0\/24' # IP Set'e parametre ge\u00e7me \u00f6rne\u011fi\n\n  MyWebACL:\n    Type: AWS::WAFv2::WebACL\n    Properties:\n      # ... di\u011fer Web ACL \u00f6zellikleri ...\n      Rules:\n        - Name: BlockMaliciousIPsRule\n          Priority: 2\n          Statement:\n            IPSetReferenceStatement:\n              ARN: !GetAtt MyIPSetStack.Outputs.MaliciousIPSetArn # Nested stack'ten ARN'i alma\n          Action:\n            Block: {}\n          # ... di\u011fer kural \u00f6zellikleri ...\n\n<\/pre>\n<p><\/code><\/p>\n<h3>AWS Organizations ve Service Control Policies (SCP) ile Merkezi WAF Denetimi<\/h3>\n<p>B\u00fcy\u00fck kurulu\u015flar genellikle birden fazla AWS hesab\u0131na sahiptir (\u00f6rne\u011fin, geli\u015ftirme, test, \u00fcretim hesaplar\u0131 veya farkl\u0131 i\u015f birimleri i\u00e7in ayr\u0131 hesaplar). Bu senaryoda, WAF yap\u0131land\u0131rmalar\u0131n\u0131 tutarl\u0131 bir \u015fekilde y\u00f6netmek ve merkezi bir g\u00fcvenlik politikas\u0131 uygulamak zorla\u015fabilir. AWS Organizations ve Service Control Policies (SCP), bu sorunu \u00e7\u00f6zmek i\u00e7in g\u00fc\u00e7l\u00fc ara\u00e7lar sunar.<\/p>\n<ul>\n<li><strong>AWS Organizations:<\/strong> Hesaplar\u0131n\u0131z\u0131 mant\u0131ksal gruplara (Organizational Units - OU) ay\u0131rman\u0131za olanak tan\u0131r.<\/li>\n<li><strong>Service Control Policies (SCP):<\/strong> OU'lardaki veya bireysel hesaplardaki AWS hizmetlerine hangi izinlerin verilebilece\u011fini veya reddedilebilece\u011fini belirten ilkelere sahip olman\u0131z\u0131 sa\u011flar.<\/li>\n<\/ul>\n<p>SCP'leri kullanarak, belirli hesaplar\u0131n WAF kaynaklar\u0131n\u0131 olu\u015fturmas\u0131n\u0131, g\u00fcncellemesini veya silmesini engelleyebilir veya yaln\u0131zca \u00f6nceden onaylanm\u0131\u015f CloudFormation \u015fablonlar\u0131n\u0131n da\u011f\u0131t\u0131lmas\u0131na izin veren k\u0131s\u0131tlamalar getirebilirsiniz. Bu, g\u00fcvenlik ekibinizin t\u00fcm organizasyon genelindeki WAF politikalar\u0131 \u00fczerinde merkezi bir kontrol sa\u011flamas\u0131na olanak tan\u0131rken, lokal ekiplerin hala kendi uygulamalar\u0131 i\u00e7in g\u00fcvenlik kurallar\u0131n\u0131 \u00f6zelle\u015ftirmesine izin verir (belirli s\u0131n\u0131rlar i\u00e7inde).<\/p>\n<div class=\"expert-tip\">\n    Uzman \u0130pucu: SCP'ler, \"deny by default\" prensibiyle \u00e7al\u0131\u015f\u0131r ve bu da yanl\u0131\u015f yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda geni\u015f \u00e7apl\u0131 hizmet kesintilerine yol a\u00e7abilir. Bu nedenle, SCP'leri k\u00fc\u00e7\u00fck \u00f6l\u00e7ekte test etmek ve kapsaml\u0131 bir etki analizi yapmak kritik \u00f6neme sahiptir.\n<\/div>\n<h3>Otomatik G\u00fcncelleme ve CI\/CD Entegrasyonu<\/h3>\n<p>Ger\u00e7ekten dinamik ve \u00e7evik bir g\u00fcvenlik duru\u015fu i\u00e7in, CloudFormation tabanl\u0131 WAF g\u00fcncellemelerini bir S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m (CI\/CD) i\u015flem hatt\u0131na entegre etmek idealdir. Bu, her \u015fablon de\u011fi\u015fikli\u011finin otomatik olarak test edilmesini, bir de\u011fi\u015fiklik k\u00fcmesi olarak olu\u015fturulmas\u0131n\u0131 ve onayland\u0131ktan sonra da\u011f\u0131t\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Bir CI\/CD ak\u0131\u015f\u0131 genellikle \u015fu ad\u0131mlar\u0131 i\u00e7erir:<\/p>\n<ol>\n<li><strong>Kod Deposu (Source):<\/strong> WAF CloudFormation \u015fablonlar\u0131, Git tabanl\u0131 bir kod deposunda (AWS CodeCommit, GitHub, GitLab vb.) saklan\u0131r.<\/li>\n<li><strong>Derleme\/Do\u011frulama (Build\/Validate):<\/strong> \u015eablonda bir de\u011fi\u015fiklik yap\u0131ld\u0131\u011f\u0131nda, i\u015flem hatt\u0131 tetiklenir. Bu a\u015famada, \u015fablonun ge\u00e7erlili\u011fi (<code>cfn-lint<\/code> gibi ara\u00e7larla) kontrol edilir ve potansiyel sorunlar tespit edilir.<\/li>\n<li><strong>De\u011fi\u015fiklik K\u00fcmesi Olu\u015fturma (Create Change Set):<\/strong> Ge\u00e7erli \u015fablon kullan\u0131larak bir CloudFormation Change Set'i olu\u015fturulur.<\/li>\n<li><strong>Onay (Approval):<\/strong> Olu\u015fturulan Change Set, manuel veya otomatik bir onay a\u015famas\u0131na tabi tutulur. \u00d6zellikle \u00fcretim ortamlar\u0131 i\u00e7in manuel onay kritik bir ad\u0131md\u0131r.<\/li>\n<li><strong>Da\u011f\u0131t\u0131m (Deploy):<\/strong> Onayland\u0131ktan sonra, Change Set y\u00fcr\u00fct\u00fcl\u00fcr ve WAF stack'i g\u00fcncellenir.<\/li>\n<li><strong>Test ve Do\u011frulama (Test & Verify):<\/strong> Da\u011f\u0131t\u0131m sonras\u0131, WAF kurallar\u0131n\u0131n beklendi\u011fi gibi \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan ve yasal trafi\u011fi engellemedi\u011finden emin olmak i\u00e7in otomatik testler (\u00f6rne\u011fin, bir dizi web iste\u011fi g\u00f6nderen test senaryolar\u0131) \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.<\/li>\n<\/ol>\n<p>Bu entegrasyon, g\u00fcvenlik g\u00fcncellemelerinin h\u0131z\u0131n\u0131 art\u0131r\u0131r, insan hatas\u0131n\u0131 en aza indirir ve g\u00fcvenlik operasyonlar\u0131n\u0131 geli\u015ftirme s\u00fcrecinin ayr\u0131lmaz bir par\u00e7as\u0131 haline getirir. Yeni bir tehdit tespit edildi\u011finde, geli\u015ftiriciler veya g\u00fcvenlik analistleri, sadece \u015fablonda bir de\u011fi\u015fiklik yaparak ve bunu depoya push ederek dakikalar i\u00e7inde yeni bir g\u00fcvenlik \u00f6nlemini da\u011f\u0131tabilirler. Bu, g\u00fcvenlikte \"Shift Left\" yakla\u015f\u0131m\u0131n\u0131 benimsemenin ve g\u00fcvenli\u011fi geli\u015ftirme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn erken a\u015famalar\u0131na dahil etmenin harika bir yoludur.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryosu: Bir Web Uygulamas\u0131n\u0131n G\u00fcvenlik Duvar\u0131 G\u00fcncellemesi<\/h2>\n<p>CloudFormation ve AWS WAF'\u0131n birlikte nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 daha iyi anlamak i\u00e7in, bir finans uygulamas\u0131 \u00f6rne\u011fi \u00fczerinden ger\u00e7ek d\u00fcnya bir senaryo ele alal\u0131m. \"FinTechSolutions\" ad\u0131nda, m\u00fc\u015fterilerin hisse senedi al\u0131m sat\u0131m\u0131 yapabildi\u011fi ve hassas finansal verileri bar\u0131nd\u0131ran kritik bir web uygulamas\u0131 oldu\u011funu varsayal\u0131m. Bu uygulama, Amazon CloudFront da\u011f\u0131t\u0131m\u0131 arkas\u0131nda \u00e7al\u0131\u015f\u0131yor ve AWS WAF ile korunuyor. T\u00fcm WAF yap\u0131land\u0131rmalar\u0131, bir CloudFormation stack'i arac\u0131l\u0131\u011f\u0131yla y\u00f6netiliyor.<\/p>\n<h3>Bir Finans Uygulamas\u0131 \u0130\u00e7in Dinamik IP Engelleme<\/h3>\n<p>FinTechSolutions'\u0131n g\u00fcvenlik ekibi, son birka\u00e7 haftad\u0131r yo\u011fun ve s\u00fcrekli de\u011fi\u015fen IP adreslerinden gelen \"credential stuffing\" sald\u0131r\u0131lar\u0131n\u0131n artt\u0131\u011f\u0131n\u0131 g\u00f6zlemliyor. Bu sald\u0131r\u0131larda, s\u0131zd\u0131r\u0131lm\u0131\u015f kullan\u0131c\u0131 ad\u0131 ve \u015fifre kombinasyonlar\u0131 kullan\u0131larak m\u00fc\u015fteri hesaplar\u0131na eri\u015fim deneniyor. Manuel olarak IP engelleme yapmak, sald\u0131rganlar\u0131n IP adreslerini s\u00fcrekli de\u011fi\u015ftirmesi nedeniyle etkisiz kal\u0131yor ve operasyonel y\u00fck\u00fc art\u0131r\u0131yor.<\/p>\n<p><strong>Mevcut Durum:<\/strong><\/p>\n<ul>\n<li>Uygulama, bir AWS WAF Web ACL taraf\u0131ndan korunuyor.<\/li>\n<li>Web ACL, AWS Managed Rule Groups (Core Rule Set, IP Reputation List) ve baz\u0131 \u00f6zel kural gruplar\u0131n\u0131 kullan\u0131yor.<\/li>\n<li>T\u00fcm WAF kaynaklar\u0131 (Web ACL, kural gruplar\u0131, IP Setler) tek bir CloudFormation stack'i taraf\u0131ndan y\u00f6netiliyor.<\/li>\n<li>IP Setler \u015fu anda sadece g\u00fcvenilir partner IP'lerini i\u00e7eriyor, k\u00f6t\u00fc niyetli IP'ler manuel olarak eklenmiyordu.<\/li>\n<\/ul>\n<p><strong>Problem:<\/strong> Dinamik olarak de\u011fi\u015fen k\u00f6t\u00fc niyetli IP'leri s\u00fcrekli engellemek i\u00e7in daha otomatik ve \u00f6l\u00e7eklenebilir bir mekanizmaya ihtiya\u00e7 var. Mevcut CloudFormation \u015fablonunun s\u00fcrekli manuel olarak g\u00fcncellenmesi ve da\u011f\u0131t\u0131lmas\u0131 hem zaman al\u0131c\u0131 hem de hataya a\u00e7\u0131k.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong> G\u00fcvenlik ekibi, k\u00f6t\u00fc niyetli IP'leri otomatik olarak toplayan ve bunlar\u0131 CloudFormation arac\u0131l\u0131\u011f\u0131yla WAF IPSet'ine entegre eden bir \u00e7\u00f6z\u00fcm uygulamaya karar verir. Bu \u00e7\u00f6z\u00fcm \u015fu ad\u0131mlar\u0131 i\u00e7erir:<\/p>\n<ol>\n<li><strong>Tehdit Tespiti ve Toplama:<\/strong>\n<ul>\n<li>FinTechSolutions, \u015f\u00fcpheli oturum a\u00e7ma denemelerini tespit etmek i\u00e7in AWS GuardDuty, VPC Flow Logs ve uygulama g\u00fcnl\u00fcklerini (Amazon CloudWatch Logs arac\u0131l\u0131\u011f\u0131yla) izliyor.<\/li>\n<li>Tespit edilen k\u00f6t\u00fc niyetli IP adresleri, bir AWS Lambda fonksiyonu arac\u0131l\u0131\u011f\u0131yla Amazon DynamoDB'de tutulan bir listeye otomatik olarak ekleniyor.<\/li>\n<\/ul>\n<\/li>\n<li><strong>CloudFormation \u015eablonunun G\u00fcncellenmesi:<\/strong>\n<ul>\n<li>Mevcut CloudFormation \u015fablonu, DynamoDB'deki IP listesini dinamik olarak \u00e7ekebilen veya bir parametre arac\u0131l\u0131\u011f\u0131yla IP'leri alabilen bir yap\u0131ya d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr. Daha da iyisi, IP Set'i ayr\u0131 bir nested stack olarak y\u00f6netilir, b\u00f6ylece sadece IP Set stack'i g\u00fcncellenir.<\/li>\n<li><code>AWS::WAFv2::IPSet<\/code> kayna\u011f\u0131, bu IP'leri i\u00e7erecek \u015fekilde g\u00fcncellenir.<\/li>\n<li>Web ACL'deki engelleme kural\u0131, bu IP Set'i referans alacak \u015fekilde zaten yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r.<\/li>\n<\/ul>\n<pre><code class=\"language-yaml\">\n# waf-ip-set-template.yaml (Nested Stack)\nAWSTemplateFormatVersion: '2010-09-09'\nDescription: WAF IPSet for dynamic malicious IPs\n\nParameters:\n  MaliciousIPAddresses:\n    Type: CommaDelimitedList\n    Description: Comma-separated list of malicious IP addresses to block.\n\nResources:\n  DynamicMaliciousIPSet:\n    Type: AWS::WAFv2::IPSet\n    Properties:\n      Name: FinTechMaliciousIPSet\n      Scope: CLOUDFRONT # CloudFront da\u011f\u0131t\u0131m\u0131 arkas\u0131nda oldu\u011fu i\u00e7in GLOBAL\n      IPAddressVersion: IPV4\n      Addresses: !Ref MaliciousIPAddresses\n      Description: Dynamically updated list of malicious IP addresses\n      Tags:\n        - Key: Project\n          Value: FinTechSolutions\n          \nOutputs:\n  MaliciousIPSetArn:\n    Description: ARN of the Dynamic Malicious IPSet\n    Value: !GetAtt DynamicMaliciousIPSet.Arn\n\n<\/pre>\n<p><\/code><\/p>\n<p>Ana Web ACL \u015fablonu bu nested stack'i referans alacakt\u0131r:<\/p>\n<pre><code class=\"language-yaml\">\n# main-waf-stack.yaml\nResources:\n  FinTechMaliciousIPSetStack:\n    Type: AWS::CloudFormation::Stack\n    Properties:\n      TemplateURL: https:\/\/s3.amazonaws.com\/your-bucket\/waf-ip-set-template.yaml\n      Parameters:\n        MaliciousIPAddresses: !Join [\",\", [\"192.0.2.1\/32\", \"203.0.113.5\/32\"]] # Ba\u015flang\u0131\u00e7 IP'leri veya bir Lambda'dan gelen dinamik list\n\n  FinTechWebACL:\n    Type: AWS::WAFv2::WebACL\n    Properties:\n      # ... di\u011fer \u00f6zellikler ...\n      Rules:\n        # ... di\u011fer kurallar ...\n        - Name: BlockDynamicMaliciousIPs\n          Priority: 2\n          Statement:\n            IPSetReferenceStatement:\n              ARN: !GetAtt FinTechMaliciousIPSetStack.Outputs.MaliciousIPSetArn # Nested stack'ten IPSet ARN'ini al\n          Action:\n            Block: {}\n          VisibilityConfig:\n            SampledRequestsEnabled: true\n            CloudWatchMetricsEnabled: true\n            MetricName: DynamicMaliciousIPBlockMetric\n      # ...\n\n<\/pre>\n<p><\/code>\n    <\/li>\n<li><strong>Otomatik G\u00fcncelleme \u0130\u015flem Hatt\u0131:<\/strong>\n<ul>\n<li>Yeni bir k\u00f6t\u00fc niyetli IP tespit edildi\u011finde ve DynamoDB'ye eklendi\u011finde, ba\u015fka bir AWS Lambda fonksiyonu tetiklenir.<\/li>\n<li>Bu Lambda fonksiyonu, FinTechMaliciousIPSetStack i\u00e7in CloudFormation \u015fablonunu g\u00fcnceller (veya bir Change Set olu\u015fturur), <code>MaliciousIPAddresses<\/code> parametresini DynamoDB'deki g\u00fcncel IP listesiyle besler.<\/li>\n<li>Bu, CloudFormation stack'ini otomatik olarak g\u00fcnceller ve WAF'taki IP Set'i en son k\u00f6t\u00fc niyetli IP'lerle besler.<\/li>\n<\/ul>\n<pre><code class=\"language-python\">\n# Basit bir \u00f6rnek Lambda fonksiyonu (Python)\nimport boto3\nimport json\n\ncf_client = boto3.client('cloudformation')\ndynamodb = boto3.resource('dynamodb')\n\ndef lambda_handler(event, context):\n    table = dynamodb.Table('MaliciousIPsTable')\n    response = table.scan()\n    malicious_ips = [item['ip_address'] for item in response['Items']]\n    \n    # CloudFormation stack'ini g\u00fcncellemek i\u00e7in\n    stack_name = 'FinTechMaliciousIPSetStack'\n    template_url = 'https:\/\/s3.amazonaws.com\/your-bucket\/waf-ip-set-template.yaml' # \u015eablonun S3 URL'si\n    \n    try:\n        cf_client.update_stack(\n            StackName=stack_name,\n            TemplateURL=template_url,\n            Parameters=[\n                {\n                    'ParameterKey': 'MaliciousIPAddresses',\n                    'ParameterValue': ','.join(malicious_ips) # IP'leri virg\u00fclle ay\u0131rarak parametreye g\u00f6nder\n                },\n            ],\n            Capabilities=['CAPABILITY_NAMED_IAM'] # E\u011fer \u015fablon IAM rolleri olu\u015fturuyorsa\n        )\n        print(f\"CloudFormation stack '{stack_name}' update initiated successfully.\")\n    except cf_client.exceptions.ClientError as e:\n        if \"No updates are to be performed\" in str(e):\n            print(f\"Stack '{stack_name}' is already up-to-date. No update performed.\")\n        else:\n            print(f\"Error updating stack: {e}\")\n            raise e\n            \n    return {\n        'statusCode': 200,\n        'body': json.dumps('WAF IPSet update process initiated.')\n    }\n\n<\/pre>\n<p><\/code>\n    <\/li>\n<li><strong>\u0130zleme ve Do\u011frulama:<\/strong>\n<ul>\n<li>CloudFormation stack g\u00fcncellemeleri CloudWatch Events arac\u0131l\u0131\u011f\u0131yla izlenir ve herhangi bir hata durumunda g\u00fcvenlik ekibine bildirim g\u00f6nderilir.<\/li>\n<li>WAF'\u0131n CloudWatch metrikleri ve g\u00fcnl\u00fckleri, yeni eklenen IP'lerden gelen isteklerin ger\u00e7ekten engellenip engellenmedi\u011fini do\u011frulamak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li>Uygulama performans izleme ara\u00e7lar\u0131, bu dinamik g\u00fcncellemelerin me\u015fru trafi\u011fi etkilemedi\u011finden emin olmak i\u00e7in g\u00f6zlemlenir.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>Faydalar\u0131:<\/strong><\/p>\n<ul>\n<li><strong>H\u0131zl\u0131 Yan\u0131t S\u00fcresi:<\/strong> Yeni tehditler saniyeler i\u00e7inde tespit edilip WAF'a yans\u0131t\u0131labilir, bu da manuel m\u00fcdahaleye g\u00f6re \u00e7ok daha h\u0131zl\u0131d\u0131r.<\/li>\n<li><strong>Operasyonel Y\u00fck\u00fcn Azalmas\u0131:<\/strong> G\u00fcvenlik ekibinin k\u00f6t\u00fc niyetli IP'leri manuel olarak eklemesi veya \u015fablonu g\u00fcncellemesi gerekmez.<\/li>\n<li><strong>Tutarl\u0131l\u0131k ve Hata Azaltma:<\/strong> T\u00fcm g\u00fcncellemeler kod tabanl\u0131 oldu\u011fundan, insan hatas\u0131 riski minimuma iner ve farkl\u0131 ortamlarda tutarl\u0131l\u0131k sa\u011flan\u0131r.<\/li>\n<li><strong>Versiyon Kontrol\u00fc:<\/strong> CloudFormation \u015fablonlar\u0131 versiyon kontrol sistemlerinde sakland\u0131\u011f\u0131ndan, yap\u0131lan t\u00fcm de\u011fi\u015fiklikler izlenebilir ve gerekti\u011finde geri al\u0131nabilir.<\/li>\n<\/ul>\n<p>Bu senaryo, CloudFormation'\u0131n yaln\u0131zca statik WAF yap\u0131land\u0131rmalar\u0131n\u0131 y\u00f6netmekle kalmay\u0131p, ayn\u0131 zamanda dinamik tehditlere kar\u015f\u0131 otomatik ve \u00e7evik bir savunma mekanizmas\u0131 olu\u015fturmak i\u00e7in nas\u0131l kullan\u0131labilece\u011fini g\u00f6stermektedir. G\u00fcvenlik, art\u0131k ayr\u0131 bir \"operasyon\" olmaktan \u00e7\u0131k\u0131p, uygulaman\u0131n geli\u015ftirme ve da\u011f\u0131t\u0131m ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn do\u011fal bir par\u00e7as\u0131 haline gelmektedir.<\/p>\n<h2>G\u00fcvenli\u011fi Otomatikle\u015ftirme Yolculu\u011funda CloudFormation ve AWS WAF<\/h2>\n<p>Web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn s\u00fcrekli evrilen siber tehdit ortam\u0131nda asla bitmeyen bir yolculuktur. Manuel yap\u0131land\u0131rman\u0131n getirdi\u011fi zorluklar, zaman kayb\u0131 ve hata riskleri g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, AWS WAF gibi g\u00fc\u00e7l\u00fc bir g\u00fcvenlik hizmetini AWS CloudFormation gibi bir Altyap\u0131 Kod Olarak (IaC) arac\u0131yla entegre etmek, bu yolculukta at\u0131lacak en stratejik ad\u0131mlardan biridir.<\/p>\n<p>Bu makalede g\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, CloudFormation ile y\u00f6netilen AWS WAF g\u00fcncellemeleri, g\u00fcvenlik duru\u015funuzu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendirir. Bu entegrasyon, g\u00fcvenlik politikalar\u0131n\u0131zda <strong>tutarl\u0131l\u0131k<\/strong>, <strong>otomasyon<\/strong> ve <strong>versiyon kontrol\u00fc<\/strong> sa\u011flar. De\u011fi\u015fiklik K\u00fcmeleri (Change Sets) sayesinde, herhangi bir da\u011f\u0131t\u0131mdan \u00f6nce potansiyel etkileri \u00f6nizleyebilir, b\u00f6ylece \u00fcretim ortam\u0131ndaki riskleri minimuma indirebilirsiniz. Mod\u00fcler WAF \u015fablonlar\u0131 ve i\u00e7 i\u00e7e stack'ler, karma\u015f\u0131k yap\u0131land\u0131rmalar\u0131 daha y\u00f6netilebilir hale getirirken, CI\/CD entegrasyonu ve dinamik IP engelleme gibi ileri d\u00fczey teknikler, g\u00fcvenlik g\u00fcncellemelerinin h\u0131z\u0131n\u0131 ve tepki s\u00fcresini art\u0131rarak operasyonel y\u00fck\u00fc azalt\u0131r.<\/p>\n<p>Sonu\u00e7 olarak, AWS WAF ve CloudFormation ikilisi, modern DevOps ve SecDevOps yakla\u015f\u0131mlar\u0131n\u0131n temel ta\u015flar\u0131ndan birini olu\u015fturur. Bu ara\u00e7lar\u0131 etkili bir \u015fekilde kullanarak, web uygulamalar\u0131n\u0131z\u0131 yaln\u0131zca g\u00fcn\u00fcm\u00fcz\u00fcn tehditlerine kar\u015f\u0131 korumakla kalmaz, ayn\u0131 zamanda gelecekteki g\u00fcvenlik ihtiya\u00e7lar\u0131na kar\u015f\u0131 da \u00e7evik ve \u00f6l\u00e7eklenebilir bir savunma mimarisi in\u015fa edersiniz. G\u00fcvenli\u011finizi kod olarak y\u00f6netmek, sadece bir iyi uygulama de\u011fil, ayn\u0131 zamanda dijital varl\u0131klar\u0131n\u0131z\u0131 korumak i\u00e7in vazge\u00e7ilmez bir stratejidir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>CloudFormation ile WAF g\u00fcncellerken kesinti ya\u015fan\u0131r m\u0131?<\/strong><\/p>\n<p>Hay\u0131r, genellikle ya\u015fanmaz. CloudFormation, AWS WAF kaynaklar\u0131n\u0131 g\u00fcncellerken \"blue\/green\" tarz\u0131 bir da\u011f\u0131t\u0131m yapar veya mevcut kayna\u011f\u0131 do\u011frudan modify eder. \u00d6rne\u011fin, bir kural\u0131 de\u011fi\u015ftirdi\u011finizde, WAF hizmeti kesintisiz bir \u015fekilde g\u00fcncellenir ve mevcut ba\u011flant\u0131lar\u0131 etkilemez. Ancak, kural mant\u0131\u011f\u0131n\u0131zda yapt\u0131\u011f\u0131n\u0131z bir hata (\u00f6rne\u011fin, me\u015fru trafi\u011fi engelleyen bir kural) uygulaman\u0131zda kesintiye yol a\u00e7abilir. Bu nedenle Change Set'leri dikkatlice incelemek ve da\u011f\u0131t\u0131m sonras\u0131 testler yapmak hayati \u00f6nem ta\u015f\u0131r.<\/p>\n<p><strong>Managed Rule Group g\u00fcncellemelerini nas\u0131l takip etmeliyim?<\/strong><\/p>\n<p>AWS Managed Rule Groups, AWS taraf\u0131ndan d\u00fczenli olarak g\u00fcncellenir. CloudFormation \u015fablonunuzda bir Managed Rule Group kullan\u0131yorsan\u0131z ve otomatik g\u00fcncellemeleri almak istiyorsan\u0131z, belirli bir versiyon belirtmemek en iyi yakla\u015f\u0131md\u0131r. E\u011fer belirli bir versiyonu pin'lediyseniz, AWS yeni bir versiyon yay\u0131nlad\u0131\u011f\u0131nda, CloudFormation \u015fablonunuzu manuel olarak g\u00fcncellemeniz ve tekrar da\u011f\u0131tman\u0131z gerekir. AWS Security Hub ve CloudWatch Events, Managed Rule Group g\u00fcncellemelerini takip etmek i\u00e7in kullan\u0131labilir.<\/p>\n<p><strong>Farkl\u0131 AWS hesaplar\u0131ndaki WAF'lar\u0131 tek bir yerden y\u00f6netebilir miyim?<\/strong><\/p>\n<p>Evet, AWS Firewall Manager veya AWS Organizations ile entegre bir merkezi y\u00f6netim yakla\u015f\u0131m\u0131 kullanarak farkl\u0131 AWS hesaplar\u0131ndaki WAF'lar\u0131 tek bir yerden y\u00f6netebilirsiniz. Firewall Manager, g\u00fcvenlik politikalar\u0131n\u0131 (WAF kurallar\u0131 dahil) organizasyonunuzdaki t\u00fcm hesaplara da\u011f\u0131tman\u0131za olanak tan\u0131r. CloudFormation ile birlikte, merkezi bir CloudFormation \u015fablonu kullanarak Firewall Manager politikalar\u0131n\u0131 ve ard\u0131ndan bu politikalar arac\u0131l\u0131\u011f\u0131yla WAF yap\u0131land\u0131rmalar\u0131n\u0131 da\u011f\u0131tabilirsiniz.<\/p>\n<p><strong>WAF kurallar\u0131nda hata yapt\u0131\u011f\u0131mda geri d\u00f6n\u00fc\u015f\u00fcm nas\u0131l olur?<\/strong><\/p>\n<p>CloudFormation'\u0131n en b\u00fcy\u00fck avantajlar\u0131ndan biri, bir stack g\u00fcncellemesi ba\u015far\u0131s\u0131z oldu\u011funda veya manuel olarak iptal edildi\u011finde otomatik geri d\u00f6n\u00fc\u015f (rollback) yetene\u011fidir. E\u011fer bir WAF kural g\u00fcncellemesi sorun \u00e7\u0131kar\u0131rsa, CloudFormation stack'i otomatik olarak \u00f6nceki ba\u015far\u0131l\u0131 durumuna geri d\u00f6ner. Bu, uygulaman\u0131z\u0131n uzun s\u00fcre korumas\u0131z kalmas\u0131n\u0131 veya yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f bir WAF kural\u0131 nedeniyle \u00e7al\u0131\u015fmamas\u0131n\u0131 \u00f6nler. Ayr\u0131ca, Git gibi bir versiyon kontrol sistemi kullanarak eski \u015fablon s\u00fcr\u00fcmlerine kolayca d\u00f6nebilir ve manuel olarak da bir \u00f6nceki stack'i da\u011f\u0131tabilirsiniz.<\/p>\n<p><strong>CloudFormation ile WAF maliyetini optimize edebilir miyim?<\/strong><\/p>\n<p>Evet. CloudFormation'\u0131n kendisi ek bir maliyet yaratmaz; sadece y\u00f6netti\u011fi AWS kaynaklar\u0131n\u0131n maliyetini \u00f6dersiniz. CloudFormation ile WAF yap\u0131land\u0131rmas\u0131n\u0131 kod olarak y\u00f6neterek, gereksiz veya yinelenen kurallar\u0131 daha kolay tespit edebilir ve kald\u0131rabilirsiniz. Ayr\u0131ca, mod\u00fcler yap\u0131land\u0131rma ve kural gruplar\u0131n\u0131n yeniden kullan\u0131m\u0131, gereksiz kaynak olu\u015fturmay\u0131 \u00f6nleyerek maliyetleri optimize etmenize yard\u0131mc\u0131 olabilir. \u00d6zellikle Rate-based kurallar\u0131 do\u011fru yap\u0131land\u0131rarak DDoS sald\u0131r\u0131lar\u0131n\u0131n maliyetli etkilerini azaltabilirsiniz.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda tart\u0131\u015f\u0131lmaz bir \u00f6ncelik haline gelmi\u015ftir. Ancak bu g\u00fcvenli\u011fi sa\u011flamak, \u00f6zellikle h\u0131zla de\u011fi\u015fen&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1341],"tags":[],"class_list":{"0":"post-36230","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-cloud","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber<\/title>\n<meta name=\"description\" content=\"Web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda tart\u0131\u015f\u0131lmaz bir \u00f6ncelik haline gelmi\u015ftir. Ancak bu g\u00fcvenli\u011fi sa\u011flamak, \u00f6zellikle h\u0131zla de\u011fi\u015fen tehdit ortam\u0131nda, s\u00fcrekli bir m\u00fccadele gerektirir. Manuel olarak yap\u0131lan g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmalar\u0131 zaman al\u0131c\u0131, hataya a\u00e7\u0131k ve \u00f6l\u00e7eklendirilmesi zordur. Peki, g\u00fcvenlik duvar\u0131n\u0131z\u0131 kod olarak y\u00f6neterek hem tutarl\u0131l\u0131\u011f\u0131 hem de h\u0131z\u0131 nas\u0131l art\u0131rabilirsiniz? AWS WAF ve CloudFormation ikilisi, tam da bu noktada devreye girerek web uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini otomatik ve g\u00fcvenilir bir \u015fekilde g\u00fcncellemenizi sa\u011flar. Bu makale, CloudFormation stack&#039;leri arac\u0131l\u0131\u011f\u0131yla AWS WAF g\u00fcncellemelerini nas\u0131l y\u00f6netece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece g\u00fcvenlik altyap\u0131n\u0131z\u0131 daha verimli ve hatas\u0131z bir \u015fekilde s\u00fcrd\u00fcrebilmenize yard\u0131mc\u0131 olacakt\u0131r.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda tart\u0131\u015f\u0131lmaz bir \u00f6ncelik haline gelmi\u015ftir. Ancak bu g\u00fcvenli\u011fi sa\u011flamak, \u00f6zellikle h\u0131zla de\u011fi\u015fen tehdit ortam\u0131nda, s\u00fcrekli bir m\u00fccadele gerektirir. Manuel olarak yap\u0131lan g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmalar\u0131 zaman al\u0131c\u0131, hataya a\u00e7\u0131k ve \u00f6l\u00e7eklendirilmesi zordur. Peki, g\u00fcvenlik duvar\u0131n\u0131z\u0131 kod olarak y\u00f6neterek hem tutarl\u0131l\u0131\u011f\u0131 hem de h\u0131z\u0131 nas\u0131l art\u0131rabilirsiniz? AWS WAF ve CloudFormation ikilisi, tam da bu noktada devreye girerek web uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini otomatik ve g\u00fcvenilir bir \u015fekilde g\u00fcncellemenizi sa\u011flar. Bu makale, CloudFormation stack&#039;leri arac\u0131l\u0131\u011f\u0131yla AWS WAF g\u00fcncellemelerini nas\u0131l y\u00f6netece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece g\u00fcvenlik altyap\u0131n\u0131z\u0131 daha verimli ve hatas\u0131z bir \u015fekilde s\u00fcrd\u00fcrebilmenize yard\u0131mc\u0131 olacakt\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-10T20:31:08+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"29 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-12-10T20:31:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/\"},\"wordCount\":5165,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Cloud\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/\",\"name\":\"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-10T20:31:08+00:00\",\"description\":\"Web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda tart\u0131\u015f\u0131lmaz bir \u00f6ncelik haline gelmi\u015ftir. Ancak bu g\u00fcvenli\u011fi sa\u011flamak, \u00f6zellikle h\u0131zla de\u011fi\u015fen tehdit ortam\u0131nda, s\u00fcrekli bir m\u00fccadele gerektirir. Manuel olarak yap\u0131lan g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmalar\u0131 zaman al\u0131c\u0131, hataya a\u00e7\u0131k ve \u00f6l\u00e7eklendirilmesi zordur. Peki, g\u00fcvenlik duvar\u0131n\u0131z\u0131 kod olarak y\u00f6neterek hem tutarl\u0131l\u0131\u011f\u0131 hem de h\u0131z\u0131 nas\u0131l art\u0131rabilirsiniz? AWS WAF ve CloudFormation ikilisi, tam da bu noktada devreye girerek web uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini otomatik ve g\u00fcvenilir bir \u015fekilde g\u00fcncellemenizi sa\u011flar. Bu makale, CloudFormation stack'leri arac\u0131l\u0131\u011f\u0131yla AWS WAF g\u00fcncellemelerini nas\u0131l y\u00f6netece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece g\u00fcvenlik altyap\u0131n\u0131z\u0131 daha verimli ve hatas\u0131z bir \u015fekilde s\u00fcrd\u00fcrebilmenize yard\u0131mc\u0131 olacakt\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber","description":"Web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda tart\u0131\u015f\u0131lmaz bir \u00f6ncelik haline gelmi\u015ftir. Ancak bu g\u00fcvenli\u011fi sa\u011flamak, \u00f6zellikle h\u0131zla de\u011fi\u015fen tehdit ortam\u0131nda, s\u00fcrekli bir m\u00fccadele gerektirir. Manuel olarak yap\u0131lan g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmalar\u0131 zaman al\u0131c\u0131, hataya a\u00e7\u0131k ve \u00f6l\u00e7eklendirilmesi zordur. Peki, g\u00fcvenlik duvar\u0131n\u0131z\u0131 kod olarak y\u00f6neterek hem tutarl\u0131l\u0131\u011f\u0131 hem de h\u0131z\u0131 nas\u0131l art\u0131rabilirsiniz? AWS WAF ve CloudFormation ikilisi, tam da bu noktada devreye girerek web uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini otomatik ve g\u00fcvenilir bir \u015fekilde g\u00fcncellemenizi sa\u011flar. Bu makale, CloudFormation stack'leri arac\u0131l\u0131\u011f\u0131yla AWS WAF g\u00fcncellemelerini nas\u0131l y\u00f6netece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece g\u00fcvenlik altyap\u0131n\u0131z\u0131 daha verimli ve hatas\u0131z bir \u015fekilde s\u00fcrd\u00fcrebilmenize yard\u0131mc\u0131 olacakt\u0131r.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber","og_description":"Web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda tart\u0131\u015f\u0131lmaz bir \u00f6ncelik haline gelmi\u015ftir. Ancak bu g\u00fcvenli\u011fi sa\u011flamak, \u00f6zellikle h\u0131zla de\u011fi\u015fen tehdit ortam\u0131nda, s\u00fcrekli bir m\u00fccadele gerektirir. Manuel olarak yap\u0131lan g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmalar\u0131 zaman al\u0131c\u0131, hataya a\u00e7\u0131k ve \u00f6l\u00e7eklendirilmesi zordur. Peki, g\u00fcvenlik duvar\u0131n\u0131z\u0131 kod olarak y\u00f6neterek hem tutarl\u0131l\u0131\u011f\u0131 hem de h\u0131z\u0131 nas\u0131l art\u0131rabilirsiniz? AWS WAF ve CloudFormation ikilisi, tam da bu noktada devreye girerek web uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini otomatik ve g\u00fcvenilir bir \u015fekilde g\u00fcncellemenizi sa\u011flar. Bu makale, CloudFormation stack'leri arac\u0131l\u0131\u011f\u0131yla AWS WAF g\u00fcncellemelerini nas\u0131l y\u00f6netece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece g\u00fcvenlik altyap\u0131n\u0131z\u0131 daha verimli ve hatas\u0131z bir \u015fekilde s\u00fcrd\u00fcrebilmenize yard\u0131mc\u0131 olacakt\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-10T20:31:08+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"29 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber","datePublished":"2025-12-10T20:31:08+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/"},"wordCount":5165,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Cloud"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/","name":"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-10T20:31:08+00:00","description":"Web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda tart\u0131\u015f\u0131lmaz bir \u00f6ncelik haline gelmi\u015ftir. Ancak bu g\u00fcvenli\u011fi sa\u011flamak, \u00f6zellikle h\u0131zla de\u011fi\u015fen tehdit ortam\u0131nda, s\u00fcrekli bir m\u00fccadele gerektirir. Manuel olarak yap\u0131lan g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmalar\u0131 zaman al\u0131c\u0131, hataya a\u00e7\u0131k ve \u00f6l\u00e7eklendirilmesi zordur. Peki, g\u00fcvenlik duvar\u0131n\u0131z\u0131 kod olarak y\u00f6neterek hem tutarl\u0131l\u0131\u011f\u0131 hem de h\u0131z\u0131 nas\u0131l art\u0131rabilirsiniz? AWS WAF ve CloudFormation ikilisi, tam da bu noktada devreye girerek web uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini otomatik ve g\u00fcvenilir bir \u015fekilde g\u00fcncellemenizi sa\u011flar. Bu makale, CloudFormation stack'leri arac\u0131l\u0131\u011f\u0131yla AWS WAF g\u00fcncellemelerini nas\u0131l y\u00f6netece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece g\u00fcvenlik altyap\u0131n\u0131z\u0131 daha verimli ve hatas\u0131z bir \u015fekilde s\u00fcrd\u00fcrebilmenize yard\u0131mc\u0131 olacakt\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/cloudformation-ile-yonetilen-aws-waf-guncellemeleri-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CloudFormation ile Y\u00f6netilen AWS WAF G\u00fcncellemeleri: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36230"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36230\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}