{"id":41822,"date":"2026-05-16T09:12:56","date_gmt":"2026-05-16T06:12:56","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/"},"modified":"2026-05-16T09:13:22","modified_gmt":"2026-05-16T06:13:22","slug":"azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/","title":{"rendered":"Azure&#8217;da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber"},"content":{"rendered":"<h2>Azure&#8217;da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber<\/h2>\n<p>Azure bulut ortam\u0131n\u0131z\u0131n g\u00fcvenlik duru\u015funu g\u00fc\u00e7lendirmek mi istiyorsunuz? Prowler, a\u00e7\u0131k kaynakl\u0131 bir bulut g\u00fcvenlik denetim arac\u0131 olarak, Azure kaynaklar\u0131n\u0131zdaki potansiyel zafiyetleri ve uyumluluk sorunlar\u0131n\u0131 tespit etmenize yard\u0131mc\u0131 olur. Bu makalede, Prowler&#8217;\u0131 Azure&#8217;da ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve etkili bir \u015fekilde kullanaca\u011f\u0131n\u0131z\u0131 ke\u015ffedeceksiniz.<\/p>\n<h3>Prowler Nedir ve Azure G\u00fcvenli\u011fi \u0130\u00e7in Neden Bu Kadar \u00d6nemlidir?<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dijital d\u00fcnyas\u0131nda, bulut altyap\u0131lar\u0131 i\u015fletmeler i\u00e7in vazge\u00e7ilmez hale gelmi\u015ftir. \u00d6zellikle Microsoft Azure gibi kapsaml\u0131 bir bulut platformu, esneklik ve \u00f6l\u00e7eklenebilirlik sunarken, beraberinde ciddi g\u00fcvenlik sorumluluklar\u0131n\u0131 da getirir. Bu noktada, manuel g\u00fcvenlik kontrolleri hem zaman al\u0131c\u0131 hem de hata yapmaya a\u00e7\u0131k bir s\u00fcre\u00e7tir. \u0130\u015fte tam da bu y\u00fczden Prowler gibi otomatize edilmi\u015f ara\u00e7lar devreye girer.<\/p>\n<p>Prowler, a\u00e7\u0131k kaynakl\u0131 bir Bulut G\u00fcvenlik Duru\u015fu Y\u00f6netimi (Cloud Security Posture Management &#8211; CSPM) arac\u0131d\u0131r. Ba\u015flang\u0131\u00e7ta AWS i\u00e7in geli\u015ftirilmi\u015f olsa da, g\u00fcn\u00fcm\u00fczde Azure ve GCP gibi di\u011fer b\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131 da desteklemektedir. Temel amac\u0131, bulut ortam\u0131n\u0131zdaki yap\u0131land\u0131rma hatalar\u0131n\u0131, g\u00fcvenlik zafiyetlerini ve uyumluluk standartlar\u0131na ayk\u0131r\u0131l\u0131klar\u0131 otomatik olarak taramak ve raporlamakt\u0131r. Azure ba\u011flam\u0131nda Prowler, Azure aboneliklerinizdeki sanal makinelerden (VM), depolama hesaplar\u0131na, a\u011f g\u00fcvenlik gruplar\u0131ndan (NSG) kimlik ve eri\u015fim y\u00f6netimi (IAM) ayarlar\u0131na kadar geni\u015f bir yelpazede denetimler ger\u00e7ekle\u015ftirir. \u00d6rne\u011fin, herkese a\u00e7\u0131k b\u0131rak\u0131lm\u0131\u015f bir depolama hesab\u0131 (storage account) veya zay\u0131f parola politikalar\u0131 gibi yayg\u0131n g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 h\u0131zla tespit edebilir.<\/p>\n<p>Prowler&#8217;\u0131n Azure g\u00fcvenli\u011fi i\u00e7in bu kadar \u00f6nemli olmas\u0131n\u0131n birka\u00e7 temel nedeni bulunmaktad\u0131r. \u0130lk olarak, Azure&#8217;\u0131n sundu\u011fu hizmet \u00e7e\u015fitlili\u011fi ve karma\u015f\u0131kl\u0131\u011f\u0131, g\u00fcvenlik yap\u0131land\u0131rmalar\u0131n\u0131n do\u011fru yap\u0131lmas\u0131n\u0131 zorla\u015ft\u0131r\u0131r. Binlerce farkl\u0131 ayar ve politika aras\u0131nda bir hata yapmak olduk\u00e7a kolayd\u0131r. Prowler, bu karma\u015f\u0131kl\u0131\u011f\u0131 basitle\u015ftirerek, \u00f6nceden tan\u0131mlanm\u0131\u015f g\u00fcvenlik kontrolleri (\u00f6rne\u011fin, CIS Benchmarks, GDPR, HIPAA gibi uyumluluk standartlar\u0131) arac\u0131l\u0131\u011f\u0131yla otomatik denetimler yapar. \u0130kinci olarak, &#8220;payla\u015f\u0131lan sorumluluk modeli&#8221; gere\u011fi, bulut sa\u011flay\u0131c\u0131s\u0131 altyap\u0131n\u0131n g\u00fcvenli\u011finden sorumluyken, kullan\u0131c\u0131lar bulutta bar\u0131nd\u0131rd\u0131klar\u0131 verilerin ve uygulamalar\u0131n g\u00fcvenli\u011finden sorumludur. Prowler, bu kullan\u0131c\u0131 sorumlulu\u011fu alan\u0131ndaki miskonfig\u00fcrasyonlar\u0131 bulmada kritik bir rol oynar. \u00dc\u00e7\u00fcnc\u00fc olarak, s\u00fcrekli de\u011fi\u015fen tehdit ortam\u0131nda, g\u00fcvenlik duru\u015funun anl\u0131k olarak izlenmesi ve de\u011ferlendirilmesi hayati \u00f6nem ta\u015f\u0131r. Prowler, d\u00fczenli aral\u0131klarla \u00e7al\u0131\u015ft\u0131r\u0131larak g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n ortaya \u00e7\u0131kt\u0131\u011f\u0131 anda tespit edilmesine olanak tan\u0131r, b\u00f6ylece proaktif bir g\u00fcvenlik yakla\u015f\u0131m\u0131 benimsenir. Son olarak, Prowler&#8217;\u0131n a\u00e7\u0131k kaynak olmas\u0131, topluluk deste\u011fiyle s\u00fcrekli geli\u015fti\u011fi ve \u00f6zelle\u015ftirilebilir oldu\u011fu anlam\u0131na gelir, bu da onu farkl\u0131 g\u00fcvenlik ihtiya\u00e7lar\u0131na uyum sa\u011flayabilen esnek bir ara\u00e7 yapar.<\/p>\n<h3>Azure Ortam\u0131nda G\u00fcvenlik Denetimlerinin Zorluklar\u0131 Nelerdir?<\/h3>\n<p>Azure gibi geni\u015f ve dinamik bir bulut platformunda g\u00fcvenlik denetimleri yapmak, kendine \u00f6zg\u00fc bir dizi zorlukla birlikte gelir. Bu zorluklar, hem teknik karma\u015f\u0131kl\u0131klardan hem de organizasyonel s\u00fcre\u00e7lerden kaynaklanabilir. Her \u015feyden \u00f6nce, Azure&#8217;\u0131n sundu\u011fu hizmet yelpazesi o kadar geni\u015ftir ki, her bir hizmetin g\u00fcvenlik best practice&#8217;lerini ve potansiyel zafiyetlerini takip etmek ba\u015fl\u0131 ba\u015f\u0131na bir i\u015ftir. Sanal makineler, depolama hesaplar\u0131, veritabanlar\u0131, a\u011f bile\u015fenleri, konteynerler, sunucusuz i\u015flevler ve daha fazlas\u0131; her birinin kendine \u00f6zg\u00fc g\u00fcvenlik ayarlar\u0131 ve risk profili vard\u0131r. Bu \u00e7e\u015fitlilik, manuel denetimlerin neredeyse imkans\u0131z hale gelmesine neden olur.<\/p>\n<p>Bir di\u011fer \u00f6nemli zorluk, bulut ortamlar\u0131n\u0131n s\u00fcrekli de\u011fi\u015fen do\u011fas\u0131d\u0131r. Geli\u015ftiriciler ve operasyon ekipleri, uygulamalar\u0131n\u0131 ve altyap\u0131lar\u0131n\u0131 s\u00fcrekli olarak da\u011f\u0131t\u0131r, g\u00fcnceller ve \u00f6l\u00e7eklendirir. Bu dinamizm, g\u00fcvenlik duru\u015funun anl\u0131k olarak de\u011fi\u015febilece\u011fi anlam\u0131na gelir. Bug\u00fcn g\u00fcvenli olan bir yap\u0131land\u0131rma, yar\u0131n yap\u0131lan bir de\u011fi\u015fiklik sonucu bir zafiyete yol a\u00e7abilir. Bu nedenle, anl\u0131k (snapshot) g\u00fcvenlik denetimleri yeterli de\u011fildir; s\u00fcrekli ve otomatik denetim mekanizmalar\u0131na ihtiya\u00e7 duyulur. Ayr\u0131ca, Azure&#8217;\u0131n Kimlik ve Eri\u015fim Y\u00f6netimi (IAM) mekanizmalar\u0131, \u00f6zellikle b\u00fcy\u00fck organizasyonlarda, karma\u015f\u0131k bir hal alabilir. Farkl\u0131 roller, izinler, y\u00f6netim gruplar\u0131 ve abonelikler aras\u0131nda do\u011fru eri\u015fim politikalar\u0131n\u0131 uygulamak ve bunlar\u0131 d\u00fczenli olarak denetlemek b\u00fcy\u00fck bir meydan okumad\u0131r. Yanl\u0131\u015f verilen bir izin, \u00f6nemli bir veri s\u0131z\u0131nt\u0131s\u0131na veya yetkisiz eri\u015fime kap\u0131 aralayabilir.<\/p>\n<p>Uyumluluk (compliance) da Azure g\u00fcvenlik denetimlerinin \u00f6nemli bir par\u00e7as\u0131d\u0131r ve kendine has zorluklar\u0131 vard\u0131r. GDPR, HIPAA, PCI DSS, ISO 27001 gibi uluslararas\u0131 ve sekt\u00f6rel standartlara uyum sa\u011flamak, sadece teknik yap\u0131land\u0131rmalar\u0131 de\u011fil, ayn\u0131 zamanda s\u00fcre\u00e7leri ve belgelemeyi de gerektirir. Bu standartlar genellikle y\u00fczlerce farkl\u0131 kontrol noktas\u0131n\u0131 i\u00e7erir ve her birinin Azure ortam\u0131nda nas\u0131l uyguland\u0131\u011f\u0131n\u0131 g\u00f6stermek, denetimler s\u0131ras\u0131nda b\u00fcy\u00fck bir \u00e7aba gerektirir. Azure Policy ve Azure Security Center gibi yerel ara\u00e7lar bu konuda yard\u0131mc\u0131 olsa da, Prowler gibi \u00fc\u00e7\u00fcnc\u00fc taraf ara\u00e7lar, farkl\u0131 bir perspektif sunarak ve bazen daha derinlemesine kontroller yaparak eksik kalan noktalar\u0131 tamamlayabilir. Son olarak, insan fakt\u00f6r\u00fc de \u00f6nemli bir zorluktur. G\u00fcvenlik fark\u0131ndal\u0131\u011f\u0131 eksikli\u011fi, yanl\u0131\u015f yap\u0131land\u0131rmalar veya aceleci de\u011fi\u015fiklikler, en iyi g\u00fcvenlik ara\u00e7lar\u0131 ve politikalar\u0131 olsa bile g\u00fcvenlik a\u00e7\u0131klar\u0131na yol a\u00e7abilir. Bu nedenle, g\u00fcvenlik denetim ara\u00e7lar\u0131n\u0131n kullan\u0131m\u0131, ayn\u0131 zamanda g\u00fcvenlik k\u00fclt\u00fcr\u00fc ve e\u011fitimle de desteklenmelidir. Prowler, bu karma\u015f\u0131k ve zorlu ortamda, otomatik ve kapsaml\u0131 denetimler yaparak g\u00fcvenlik ekiplerinin y\u00fck\u00fcn\u00fc hafifletir ve kritik zafiyetleri g\u00f6zden ka\u00e7\u0131rma riskini azalt\u0131r.<\/p>\n<h3>Prowler&#8217;\u0131 Azure&#8217;da Kurulum \u00d6ncesi Haz\u0131rl\u0131klar: Ad\u0131m Ad\u0131m Rehber<\/h3>\n<p>Prowler&#8217;\u0131 Azure ortam\u0131n\u0131zda etkin bir \u015fekilde kullanabilmek i\u00e7in, belirli \u00f6n haz\u0131rl\u0131k ad\u0131mlar\u0131n\u0131 tamamlaman\u0131z gerekmektedir. Bu ad\u0131mlar, Prowler&#8217;\u0131n Azure kaynaklar\u0131n\u0131za eri\u015febilmesini ve gerekli denetimleri yapabilmesini sa\u011flamak i\u00e7in kritik \u00f6neme sahiptir. Do\u011fru yap\u0131land\u0131rma olmadan Prowler d\u00fczg\u00fcn \u00e7al\u0131\u015fmayacak veya eksik sonu\u00e7lar verecektir.<\/p>\n<p>\u0130lk olarak, yerel makinenizde veya Prowler&#8217;\u0131 \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z sunucuda gerekli temel yaz\u0131l\u0131mlar\u0131n kurulu oldu\u011fundan emin olmal\u0131s\u0131n\u0131z. Prowler bir Python uygulamas\u0131 oldu\u011fu i\u00e7in, Python&#8217;\u0131n kurulu olmas\u0131 \u015fartt\u0131r. Genellikle Python 3.x s\u00fcr\u00fcm\u00fc \u00f6nerilir. Python ile birlikte gelen pip (Python paket y\u00f6neticisi) de Prowler&#8217;\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kurmak i\u00e7in gereklidir. Bu iki bile\u015fenin g\u00fcncel oldu\u011fundan emin olun.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Python ve pip y\u00fckl\u00fc m\u00fc kontrol edin\npython3 --version\npip3 --version\n      <\/code><\/pre>\n<\/p><\/div>\n<p>E\u011fer y\u00fckl\u00fc de\u011fillerse, i\u015fletim sisteminize uygun \u015fekilde kurulumlar\u0131n\u0131 ger\u00e7ekle\u015ftirmelisiniz. \u00d6rne\u011fin, Ubuntu&#8217;da:<\/p>\n<div class=\"code-container\">\n<pre><code>\nsudo apt update\nsudo apt install python3 python3-pip\n      <\/code><\/pre>\n<\/p><\/div>\n<p>\u0130kinci \u00f6nemli ad\u0131m, Azure CLI&#8217;\u0131n (Command Line Interface) kurulumudur. Prowler, Azure kaynaklar\u0131na eri\u015fmek ve denetimleri ger\u00e7ekle\u015ftirmek i\u00e7in Azure CLI&#8217;\u0131 kullan\u0131r. Azure CLI&#8217;\u0131n y\u00fckl\u00fc olmas\u0131 ve Azure hesab\u0131n\u0131zla oturum a\u00e7m\u0131\u015f olman\u0131z gerekmektedir. Azure CLI&#8217;\u0131 kurduktan sonra, a\u015fa\u011f\u0131daki komutla Azure hesab\u0131n\u0131za giri\u015f yap\u0131n:<\/p>\n<div class=\"code-container\">\n<pre><code>\naz login\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut sizi bir web taray\u0131c\u0131s\u0131na y\u00f6nlendirecek ve Azure kimlik bilgilerinizle oturum a\u00e7man\u0131z\u0131 isteyecektir. Oturum a\u00e7t\u0131ktan sonra, Azure CLI&#8217;\u0131n do\u011fru aboneli\u011fi kulland\u0131\u011f\u0131ndan emin olmak i\u00e7in:<\/p>\n<div class=\"code-container\">\n<pre><code>\naz account show\n      <\/code><\/pre>\n<\/p><\/div>\n<p>komutunu kullanabilirsiniz. E\u011fer Prowler&#8217;\u0131 birden fazla abonelikte \u00e7al\u0131\u015ft\u0131rmay\u0131 planl\u0131yorsan\u0131z veya belirli bir abonelikte \u00e7al\u0131\u015ft\u0131rmak istiyorsan\u0131z, <code>az account set --subscription \"YourSubscriptionNameOrID\"<\/code> komutuyla hedef aboneli\u011fi ayarlayabilirsiniz.<\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc ve belki de en kritik haz\u0131rl\u0131k ad\u0131m\u0131, Prowler&#8217;\u0131n Azure kaynaklar\u0131n\u0131za eri\u015fimi i\u00e7in gerekli izinleri sa\u011flamakt\u0131r. Prowler&#8217;\u0131n g\u00fcvenlik denetimlerini yapabilmesi i\u00e7in Azure kaynaklar\u0131n\u0131 okuma yetkisine sahip olmas\u0131 gerekir. Bunun i\u00e7in genellikle bir Hizmet Sorumlusu (Service Principal) olu\u015fturmak ve ona uygun rol\u00fc atamak en g\u00fcvenli ve \u00f6nerilen y\u00f6ntemdir. Bir Hizmet Sorumlusu, Azure AD&#8217;de bir uygulama kimli\u011fi olarak i\u015flev g\u00f6r\u00fcr ve Prowler&#8217;\u0131n kimlik do\u011frulamas\u0131 i\u00e7in kullan\u0131l\u0131r. Minimum ayr\u0131cal\u0131k ilkesini (principle of least privilege) uygulayarak, Hizmet Sorumlusu&#8217;na yaln\u0131zca okuma (Reader) rol\u00fc ataman\u0131z yeterlidir. Bu, Prowler&#8217;\u0131n kaynaklar\u0131 de\u011fi\u015ftirmesini veya silmesini engeller.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Bir Hizmet Sorumlusu olu\u015fturun ve okuyucu rol\u00fc atay\u0131n\n# --name: Hizmet Sorumlusu'nun ad\u0131 (genellikle bir URI format\u0131nda)\n# --role: Atanacak rol (\u00f6rne\u011fin \"Reader\")\n# --scopes: Rol\u00fcn atanaca\u011f\u0131 kapsam (abonelik, kaynak grubu vb.)\n\n# \u00d6rnek: T\u00fcm abonelik i\u00e7in okuyucu rol\u00fc atama\naz ad sp create-for-rbac --name \"http:\/\/ProwlerSP\" --role \"Reader\" --scopes \"\/subscriptions\/YOUR_SUBSCRIPTION_ID\"\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut size <code>appId<\/code> (client ID), <code>password<\/code> (client secret) ve <code>tenant<\/code> (tenant ID) bilgilerini i\u00e7eren bir JSON \u00e7\u0131kt\u0131s\u0131 verecektir. Bu bilgileri g\u00fcvenli bir \u015fekilde saklay\u0131n, \u00e7\u00fcnk\u00fc Prowler&#8217;\u0131 \u00e7al\u0131\u015ft\u0131r\u0131rken bu kimlik bilgilerini kullanacaks\u0131n\u0131z. Alternatif olarak, e\u011fer Prowler&#8217;\u0131 Azure VM&#8217;i veya Azure Function gibi bir Azure kayna\u011f\u0131 \u00fczerinde \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, Y\u00f6netilen Kimlikler&#8217;i (Managed Identities) kullanabilirsiniz. Y\u00f6netilen Kimlikler, kimlik bilgilerini kodunuzda veya yap\u0131land\u0131rma dosyalar\u0131n\u0131zda saklama ihtiyac\u0131n\u0131 ortadan kald\u0131rarak g\u00fcvenli\u011fi art\u0131r\u0131r.<\/p>\n<p>Son olarak, Prowler&#8217;\u0131n raporlar\u0131n\u0131 depolamak i\u00e7in bir depolama hesab\u0131na ihtiyac\u0131n\u0131z olabilir. \u00d6zellikle b\u00fcy\u00fck denetimler veya d\u00fczenli \u00e7al\u0131\u015ft\u0131rmalar i\u00e7in, \u00e7\u0131kt\u0131lar\u0131 kal\u0131c\u0131 bir yere kaydetmek \u00f6nemlidir. Azure Depolama Hesab\u0131 (Storage Account) bu ama\u00e7la kullan\u0131labilir. Hen\u00fcz bir depolama hesab\u0131n\u0131z yoksa, bir tane olu\u015fturmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz:<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Kaynak grubu olu\u015fturma (e\u011fer yoksa)\naz group create --name ProwlerResourceGroup --location eastus\n\n# Depolama hesab\u0131 olu\u015fturma\naz storage account create --name prowlerstorageaccount --resource-group ProwlerResourceGroup --location eastus --sku Standard_LRS\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu haz\u0131rl\u0131k ad\u0131mlar\u0131 tamamland\u0131\u011f\u0131nda, Prowler&#8217;\u0131 Azure ortam\u0131n\u0131zda kurmaya ve denetimleri ba\u015flatmaya haz\u0131rs\u0131n\u0131z demektir. Her ad\u0131m\u0131n dikkatlice uyguland\u0131\u011f\u0131ndan ve gerekli izinlerin do\u011fru \u015fekilde verildi\u011finden emin olun, zira bu, Prowler&#8217;\u0131n ba\u015far\u0131s\u0131 i\u00e7in temel te\u015fkil eder.<\/p>\n<h3>Azure Ortam\u0131nda Prowler Kurulumu: Uygulamal\u0131 Ad\u0131mlar<\/h3>\n<p>\u00d6n haz\u0131rl\u0131klar\u0131m\u0131z\u0131 tamamlad\u0131ktan sonra, art\u0131k Prowler&#8217;\u0131 Azure ortam\u0131m\u0131za kurma ve yap\u0131land\u0131rma a\u015famas\u0131na ge\u00e7ebiliriz. Bu b\u00f6l\u00fcm, Prowler&#8217;\u0131n kaynak kodunu almak, ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kurmak ve Azure ile entegre etmek i\u00e7in izlemeniz gereken ad\u0131mlar\u0131 detayland\u0131racakt\u0131r. Bu ad\u0131mlar\u0131 dikkatlice takip ederek, g\u00fcvenlik denetim arac\u0131n\u0131z\u0131 kullan\u0131ma haz\u0131r hale getireceksiniz.<\/p>\n<p>\u0130lk ad\u0131m, Prowler&#8217;\u0131n GitHub deposunu yerel makinenize veya Prowler&#8217;\u0131 \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z sunucuya klonlamakt\u0131r. Bu, arac\u0131n t\u00fcm komut dosyalar\u0131n\u0131 ve yap\u0131land\u0131rma dosyalar\u0131n\u0131 edinmenizi sa\u011flar. Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<div class=\"code-container\">\n<pre><code>\ngit clone https:\/\/github.com\/prowler-cloud\/prowler.git\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut, <code>prowler<\/code> ad\u0131nda yeni bir dizin olu\u015fturacak ve t\u00fcm proje dosyalar\u0131n\u0131 bu dizine kopyalayacakt\u0131r. Klonlama i\u015flemi tamamland\u0131ktan sonra, yeni olu\u015fturulan Prowler dizinine ge\u00e7i\u015f yapman\u0131z gerekmektedir:<\/p>\n<div class=\"code-container\">\n<pre><code>\ncd prowler\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Dizine girdikten sonra, Prowler&#8217;\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan Python ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kurman\u0131z gerekmektedir. Prowler projesi, t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 listeleyen bir <code>requirements.txt<\/code> dosyas\u0131 i\u00e7erir. Bu ba\u011f\u0131ml\u0131l\u0131klar\u0131 pip kullanarak kolayca kurabilirsiniz:<\/p>\n<div class=\"code-container\">\n<pre><code>\npip install -r requirements.txt\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut, Prowler&#8217;\u0131n ihtiya\u00e7 duydu\u011fu t\u00fcm Python k\u00fct\u00fcphanelerini indirecek ve kuracakt\u0131r. Kurulumun sorunsuz tamamland\u0131\u011f\u0131ndan emin olun. Herhangi bir hata al\u0131rsan\u0131z, genellikle Python veya pip kurulumunuzla ilgili bir sorun olabilir.<\/p>\n<p>\u015eimdi Prowler&#8217;\u0131 Azure ortam\u0131n\u0131zla ili\u015fkilendirme zaman\u0131. Daha \u00f6nce olu\u015fturdu\u011funuz Hizmet Sorumlusu (Service Principal) kimlik bilgilerini Prowler&#8217;a sa\u011flaman\u0131z gerekmektedir. Bu bilgileri ortam de\u011fi\u015fkenleri olarak ayarlayarak Prowler&#8217;\u0131n Azure&#8217;a kimlik do\u011frulamas\u0131 yapmas\u0131n\u0131 sa\u011flayabilirsiniz. Ortam de\u011fi\u015fkenlerini ayarlamak, hassas bilgileri kod i\u00e7inde tutmaktan daha g\u00fcvenli bir yakla\u015f\u0131md\u0131r:<\/p>\n<div class=\"code-container\">\n<pre><code>\nexport AZURE_CLIENT_ID=\"<Hizmet Sorumlusu App ID'niz>\"\nexport AZURE_CLIENT_SECRET=\"<Hizmet Sorumlusu Parolan\u0131z>\"\nexport AZURE_TENANT_ID=\"<Azure Kirac\u0131 ID'niz>\"\nexport AZURE_SUBSCRIPTION_ID=\"<Denetlenecek Azure Abonelik ID'niz>\"\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu de\u011fi\u015fkenleri kendi Hizmet Sorumlusu bilgilerinizle ve denetlemek istedi\u011finiz Azure abonelik ID&#8217;si ile de\u011fi\u015ftirdi\u011finizden emin olun. Bu de\u011fi\u015fkenler, terminal oturumunuz s\u00fcresince ge\u00e7erli olacakt\u0131r. E\u011fer kal\u0131c\u0131 olmas\u0131n\u0131 isterseniz, bu komutlar\u0131 <code>.bashrc<\/code> veya <code>.zshrc<\/code> gibi kabuk yap\u0131land\u0131rma dosyan\u0131za ekleyebilirsiniz. Ancak g\u00fcvenlik nedeniyle, hassas bilgileri bu t\u00fcr dosyalara kal\u0131c\u0131 olarak kaydetmeden \u00f6nce dikkatli olmal\u0131s\u0131n\u0131z; \u00f6zellikle payla\u015f\u0131lan sistemlerde.<\/p>\n<p>T\u00fcm kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131 tamamland\u0131ktan sonra, Prowler&#8217;\u0131 Azure&#8217;da \u00e7al\u0131\u015ft\u0131rmaya haz\u0131rs\u0131n\u0131z. Prowler&#8217;\u0131 Azure i\u00e7in \u00e7al\u0131\u015ft\u0131rmak olduk\u00e7a basittir. <code>prowler.py<\/code> beti\u011fini <code>azure<\/code> parametresiyle \u00e7a\u011f\u0131rman\u0131z yeterlidir:<\/p>\n<div class=\"code-container\">\n<pre><code>\npython3 prowler.py azure\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut, Prowler&#8217;\u0131n Azure modunu ba\u015flatacak ve tan\u0131mlanm\u0131\u015f t\u00fcm Azure g\u00fcvenlik kontrollerini denetlemeye ba\u015flayacakt\u0131r. Denetim s\u00fcresi, Azure aboneli\u011finizdeki kaynaklar\u0131n say\u0131s\u0131na ve karma\u015f\u0131kl\u0131\u011f\u0131na ba\u011fl\u0131 olarak de\u011fi\u015febilir. Prowler, varsay\u0131lan olarak sonu\u00e7lar\u0131 terminale yazd\u0131racakt\u0131r. Ancak, bu \u00e7\u0131kt\u0131y\u0131 farkl\u0131 formatlarda (HTML, JSON, CSV) bir dosyaya kaydetmek genellikle daha kullan\u0131\u015fl\u0131d\u0131r. \u00d6rne\u011fin, HTML format\u0131nda bir rapor olu\u015fturmak i\u00e7in:<\/p>\n<div class=\"code-container\">\n<pre><code>\npython3 prowler.py azure --output-modes html --output-filename prowler_azure_report\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut, <code>prowler_azure_report.html<\/code> ad\u0131nda kapsaml\u0131 bir HTML raporu olu\u015fturacakt\u0131r. Bu rapor, tespit edilen t\u00fcm g\u00fcvenlik bulgular\u0131n\u0131, bunlar\u0131n \u00f6nem derecelerini ve d\u00fczeltme ad\u0131mlar\u0131n\u0131 i\u00e7erecektir. Prowler&#8217;\u0131n sundu\u011fu \u00e7e\u015fitli komut sat\u0131r\u0131 se\u00e7eneklerini ke\u015ffetmek i\u00e7in <code>python3 prowler.py --help<\/code> veya <code>python3 prowler.py azure --help<\/code> komutlar\u0131n\u0131 kullanabilirsiniz. Bu se\u00e7enekler, belirli kontrolleri \u00e7al\u0131\u015ft\u0131rman\u0131za, belirli kaynak gruplar\u0131n\u0131 hedeflemenize veya \u00e7\u0131kt\u0131 format\u0131n\u0131 \u00f6zelle\u015ftirmenize olanak tan\u0131r. Uygulamal\u0131 ad\u0131mlar\u0131 bu \u015fekilde tamamlayarak, Azure ortam\u0131n\u0131z\u0131n g\u00fcvenlik duru\u015funu d\u00fczenli olarak denetleyebilecek g\u00fc\u00e7l\u00fc bir araca sahip olacaks\u0131n\u0131z.<\/p>\n<h3>Prowler ile Azure Kaynaklar\u0131n\u0131 Denetleme ve Raporlama<\/h3>\n<p>Prowler&#8217;\u0131 Azure ortam\u0131n\u0131zda ba\u015far\u0131yla kurduktan sonraki en \u00f6nemli ad\u0131m, arac\u0131 kullanarak kaynaklar\u0131n\u0131z\u0131 denetlemek ve elde edilen raporlar\u0131 do\u011fru bir \u015fekilde yorumlamakt\u0131r. Prowler, geni\u015f bir kontrol yelpazesi sunarak Azure&#8217;daki g\u00fcvenlik zafiyetlerini ve uyumluluk sorunlar\u0131n\u0131 tespit etme konusunda olduk\u00e7a yeteneklidir. Bu b\u00f6l\u00fcmde, Prowler&#8217;\u0131 farkl\u0131 senaryolarda nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131, \u00e7\u0131kt\u0131 formatlar\u0131n\u0131 nas\u0131l y\u00f6netece\u011finizi ve raporlardan nas\u0131l anlaml\u0131 i\u00e7g\u00f6r\u00fcler \u00e7\u0131karaca\u011f\u0131n\u0131z\u0131 ele alaca\u011f\u0131z.<\/p>\n<p>Prowler&#8217;\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in temel komut <code>python3 prowler.py azure<\/code> \u015feklindedir. Ancak, bu komut varsay\u0131lan olarak t\u00fcm kontrolleri \u00e7al\u0131\u015ft\u0131r\u0131r ve \u00e7\u0131kt\u0131lar\u0131 terminale g\u00f6nderir. Daha hedefe y\u00f6nelik denetimler ve daha kullan\u0131\u015fl\u0131 raporlar elde etmek i\u00e7in Prowler&#8217;\u0131n sundu\u011fu \u00e7e\u015fitli se\u00e7enekleri kullanmak \u00f6nemlidir. \u00d6rne\u011fin, belirli bir g\u00fcvenlik standard\u0131na (\u00f6rne\u011fin CIS Benchmark) g\u00f6re denetim yapmak isterseniz, <code>--checks<\/code> veya <code>--compliance<\/code> parametrelerini kullanabilirsiniz. Prowler&#8217;\u0131n Azure i\u00e7in destekledi\u011fi uyumluluk \u00e7er\u00e7evelerini g\u00f6rmek i\u00e7in <code>python3 prowler.py azure --list-compliances<\/code> komutunu \u00e7al\u0131\u015ft\u0131rabilirsiniz. Ard\u0131ndan, belirli bir uyumluluk \u00e7er\u00e7evesini hedeflemek i\u00e7in:<\/p>\n<div class=\"code-container\">\n<pre><code>\npython3 prowler.py azure --compliance CIS_1.4 --output-modes html json --output-filename cis_azure_report\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut, CIS Azure Benchmark 1.4&#8217;e g\u00f6re denetim yapacak ve sonu\u00e7lar\u0131 hem HTML hem de JSON format\u0131nda <code>cis_azure_report<\/code> adl\u0131 dosyalara kaydedecektir. HTML raporu, insan taraf\u0131ndan okunabilir bir formatta g\u00f6rselle\u015ftirilmi\u015f sonu\u00e7lar sunarken, JSON \u00e7\u0131kt\u0131s\u0131, sonu\u00e7lar\u0131 ba\u015fka bir sisteme (\u00f6rne\u011fin bir SIEM &#8211; G\u00fcvenlik Bilgileri ve Olay Y\u00f6netimi) entegre etmek veya otomatize edilmi\u015f i\u015f ak\u0131\u015flar\u0131nda kullanmak i\u00e7in idealdir.<\/p>\n<p>Prowler, denetim sonu\u00e7lar\u0131n\u0131 \u00e7e\u015fitli \u00e7\u0131kt\u0131 formatlar\u0131nda sunar. En yayg\u0131n kullan\u0131lanlar \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>HTML:<\/strong> En kullan\u0131c\u0131 dostu formatt\u0131r. Bulgular\u0131 renk kodlu olarak (ge\u00e7ti\/kald\u0131\/dikkat) g\u00f6sterir ve her kontrol i\u00e7in detayl\u0131 bilgi, etki derecesi ve d\u00fczeltme ad\u0131mlar\u0131 sunar. G\u00fcvenlik ekipleri ve y\u00f6neticiler i\u00e7in h\u0131zl\u0131 bir genel bak\u0131\u015f sa\u011flar.<\/li>\n<li><strong>JSON:<\/strong> Makine taraf\u0131ndan okunabilir bir formatt\u0131r. Otomasyon, entegrasyon ve programatik analiz i\u00e7in idealdir.<\/li>\n<li><strong>CSV:<\/strong> Verilerin tablo format\u0131nda sunuldu\u011fu basit bir formatt\u0131r. Elektronik tablolarla analiz yapmak veya raporlar\u0131 filtrelemek i\u00e7in kullan\u0131labilir.<\/li>\n<li><strong>TXT:<\/strong> Ham metin \u00e7\u0131kt\u0131s\u0131d\u0131r, genellikle h\u0131zl\u0131 kontrol veya loglama i\u00e7in kullan\u0131l\u0131r.<\/li>\n<\/ul>\n<p>Birden fazla \u00e7\u0131kt\u0131 format\u0131n\u0131 ayn\u0131 anda kullanmak i\u00e7in <code>--output-modes<\/code> parametresine virg\u00fclle ayr\u0131lm\u0131\u015f de\u011ferler verebilirsiniz. Raporlama yaparken, <code>--output-directory<\/code> parametresiyle \u00e7\u0131kt\u0131 dosyalar\u0131n\u0131n kaydedilece\u011fi bir dizin belirlemek de iyi bir uygulamad\u0131r, bu sayede raporlar\u0131n\u0131z d\u00fczenli kal\u0131r.<\/p>\n<div class=\"code-container\">\n<pre><code>\npython3 prowler.py azure --output-modes html json --output-directory .\/reports --output-filename daily_azure_scan\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Prowler raporlar\u0131n\u0131 yorumlarken, \u00f6ncelikle &#8220;FAILED&#8221; (Ba\u015far\u0131s\u0131z) olarak i\u015faretlenmi\u015f kontroller \u00fczerine odaklanmal\u0131s\u0131n\u0131z. Bu kontroller, Azure ortam\u0131n\u0131zda potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 veya uyumluluk ihlallerini g\u00f6sterir. Her bir bulgu i\u00e7in Prowler, genellikle bir a\u00e7\u0131klama, etki derecesi (risk seviyesi) ve sorunu nas\u0131l d\u00fczeltece\u011finize dair rehberlik (remediation steps) sunar. Bu d\u00fczeltme ad\u0131mlar\u0131n\u0131 takip ederek, tespit edilen zafiyetleri gidermelisiniz. \u00d6rne\u011fin, bir depolama hesab\u0131n\u0131n genel eri\u015fime a\u00e7\u0131k oldu\u011funu belirten bir bulgu varsa, Prowler size bu eri\u015fimi nas\u0131l k\u0131s\u0131tlayaca\u011f\u0131n\u0131z\u0131 veya depolama hesab\u0131n\u0131n eri\u015fim politikalar\u0131n\u0131 nas\u0131l g\u00fc\u00e7lendirece\u011finizi s\u00f6yleyecektir. Bazen &#8220;INFO&#8221; veya &#8220;WARNING&#8221; olarak i\u015faretlenmi\u015f bulgular da olabilir; bunlar do\u011frudan bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olmasa da, potansiyel riskleri veya en iyi uygulamalardan sapmalar\u0131 g\u00f6sterebilir.<\/p>\n<p>Denetim ve raporlama s\u00fcre\u00e7lerini otomatikle\u015ftirmek, Prowler&#8217;\u0131n de\u011ferini art\u0131rman\u0131n \u00f6nemli bir yoludur. Azure DevOps Pipelines, GitHub Actions veya Azure Logic Apps gibi ara\u00e7lar\u0131 kullanarak Prowler&#8217;\u0131 d\u00fczenli aral\u0131klarla (\u00f6rne\u011fin, her gece veya her hafta) \u00e7al\u0131\u015ft\u0131rabilir ve raporlar\u0131 otomatik olarak belirlenen bir depolama alan\u0131na kaydedebilir veya ilgili ekiplere e-posta ile g\u00f6nderebilirsiniz. Bu s\u00fcrekli izleme yakla\u015f\u0131m\u0131, yeni g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n h\u0131zla tespit edilmesini ve giderilmesini sa\u011flar, b\u00f6ylece Azure ortam\u0131n\u0131z\u0131n g\u00fcvenlik duru\u015fu her zaman g\u00fcncel kal\u0131r. Raporlar\u0131 d\u00fczenli olarak g\u00f6zden ge\u00e7irmek ve d\u00fczeltme eylemlerini takip etmek, g\u00fc\u00e7l\u00fc bir g\u00fcvenlik program\u0131n\u0131n temelini olu\u015fturur. Prowler, bu s\u00fcreci basitle\u015ftirerek g\u00fcvenlik ekiplerinin daha proaktif olmas\u0131na olanak tan\u0131r.<\/p>\n<h3>Prowler&#8217;\u0131 Daha Etkin Kullanmak \u0130\u00e7in \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h3>\n<p>Prowler&#8217;\u0131 Azure ortam\u0131n\u0131zda kurmak ve temel denetimleri \u00e7al\u0131\u015ft\u0131rmak harika bir ba\u015flang\u0131\u00e7t\u0131r, ancak arac\u0131n tam potansiyelini ortaya \u00e7\u0131karmak i\u00e7in baz\u0131 ileri d\u00fczey ipu\u00e7lar\u0131 ve en iyi uygulamalar\u0131 benimsemek \u00f6nemlidir. Bu yakla\u015f\u0131mlar, Prowler&#8217;\u0131 sadece bir denetim arac\u0131 olmaktan \u00e7\u0131kar\u0131p, s\u00fcrekli bir g\u00fcvenlik izleme ve iyile\u015ftirme s\u00fcrecinin ayr\u0131lmaz bir par\u00e7as\u0131 haline getirecektir.<\/p>\n<p><strong>1. Otomasyon ve S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m (CI\/CD) Entegrasyonu:<\/strong> Prowler&#8217;\u0131 manuel olarak \u00e7al\u0131\u015ft\u0131rmak yerine, CI\/CD i\u015flem hatlar\u0131n\u0131za entegre ederek otomatikle\u015ftirmek, en \u00f6nemli ad\u0131mlardan biridir. Azure DevOps Pipelines, GitHub Actions veya Jenkins gibi ara\u00e7lar\u0131 kullanarak, yeni kod da\u011f\u0131t\u0131mlar\u0131ndan veya altyap\u0131 de\u011fi\u015fikliklerinden sonra Prowler&#8217;\u0131 otomatik olarak tetikleyebilirsiniz. Bu sayede, g\u00fcvenlik denetimleri geli\u015ftirme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn erken a\u015famalar\u0131nda ger\u00e7ekle\u015fir ve g\u00fcvenlik a\u00e7\u0131klar\u0131 \u00fcretime ula\u015fmadan tespit edilebilir. \u00d6rne\u011fin, bir Azure Resource Manager (ARM) \u015fablonu veya Terraform kodu da\u011f\u0131t\u0131lmadan \u00f6nce Prowler \u00e7al\u0131\u015ft\u0131r\u0131larak, bu \u015fablonlar\u0131n g\u00fcvenlik best practice&#8217;lerine uygun olup olmad\u0131\u011f\u0131 kontrol edilebilir. Bu proaktif yakla\u015f\u0131m, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n maliyetini ve d\u00fczeltme s\u00fcresini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<\/p>\n<p><strong>2. \u00d6zel Kontroller (Custom Checks) Geli\u015ftirme:<\/strong> Prowler, geni\u015f bir haz\u0131r kontrol setiyle gelir, ancak her organizasyonun kendine \u00f6zg\u00fc g\u00fcvenlik gereksinimleri ve dahili politikalar\u0131 olabilir. Bu durumda, Prowler&#8217;\u0131n esnek yap\u0131s\u0131ndan faydalanarak kendi \u00f6zel kontrollerinizi (custom checks) yazabilirsiniz. \u00d6zel kontroller, Python dilinde yaz\u0131l\u0131r ve Prowler&#8217;\u0131n mevcut kontrol yap\u0131s\u0131na entegre edilebilir. Bu, \u00f6rne\u011fin, \u015firketinizin belirli bir adland\u0131rma standard\u0131na uyulup uyulmad\u0131\u011f\u0131n\u0131 veya belirli bir etiketleme politikas\u0131n\u0131n uygulan\u0131p uygulanmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in kullan\u0131labilir. \u00d6zel kontroller olu\u015fturmak, Prowler&#8217;\u0131 organizasyonunuzun g\u00fcvenlik ihtiya\u00e7lar\u0131na tam olarak uyarlaman\u0131za olanak tan\u0131r ve denetim kapsam\u0131n\u0131z\u0131 geni\u015fletir.<\/p>\n<p><strong>3. S\u00fcrekli \u0130zleme ve Uyar\u0131 Mekanizmalar\u0131:<\/strong> Prowler&#8217;\u0131 d\u00fczenli aral\u0131klarla \u00e7al\u0131\u015ft\u0131rmak \u00f6nemlidir, ancak bulgular\u0131n an\u0131nda fark edilmesi ve d\u00fczeltilmesi daha da kritiktir. Prowler raporlar\u0131n\u0131 Azure Logic Apps veya Azure Functions ile entegre ederek, yeni &#8220;FAILED&#8221; bulgular tespit edildi\u011finde otomatik uyar\u0131lar (e-posta, Microsoft Teams bildirimi, ServiceNow bileti vb.) olu\u015fturabilirsiniz. \u00d6rne\u011fin, Prowler&#8217;\u0131n JSON \u00e7\u0131kt\u0131s\u0131n\u0131 bir Azure Depolama hesab\u0131na kaydedip, bu depolama hesab\u0131ndaki de\u011fi\u015fiklikleri izleyen bir Azure Function tetikleyebilirsiniz. Bu Function, kritik bir bulgu tespit etti\u011finde ilgili g\u00fcvenlik ekibine bildirim g\u00f6nderir. Bu t\u00fcr bir entegrasyon, g\u00fcvenlik ekibinin s\u00fcrekli tetikte olmas\u0131n\u0131 ve olaylara h\u0131zla m\u00fcdahale etmesini sa\u011flar.<\/p>\n<p><strong>4. G\u00fcvenlik Bilgileri ve Olay Y\u00f6netimi (SIEM) Entegrasyonu:<\/strong> Prowler&#8217;\u0131n JSON \u00e7\u0131kt\u0131s\u0131n\u0131 Azure Sentinel gibi bir SIEM \u00e7\u00f6z\u00fcm\u00fcne entegre etmek, g\u00fcvenlik olaylar\u0131n\u0131 merkezi bir yerden y\u00f6netmenize ve korelasyon kurman\u0131za olanak tan\u0131r. Prowler&#8217;dan gelen bulgular, di\u011fer g\u00fcvenlik loglar\u0131 ve olay verileriyle birle\u015ftirilerek daha kapsaml\u0131 bir g\u00fcvenlik g\u00f6r\u00fcn\u00fcm\u00fc elde edilebilir. Bu entegrasyon, anormallikleri tespit etmek, tehdit avc\u0131l\u0131\u011f\u0131 yapmak ve uyumluluk raporlamas\u0131n\u0131 kolayla\u015ft\u0131rmak i\u00e7in g\u00fc\u00e7l\u00fc analitik yetenekler sunar. SIEM&#8217;e g\u00f6nderilen veriler, uzun vadeli trend analizi ve denetim ge\u00e7mi\u015fi i\u00e7in de kullan\u0131labilir.<\/p>\n<p><strong>5. Minimum Ayr\u0131cal\u0131k Prensibi ve G\u00fcvenli Kimlik Bilgisi Y\u00f6netimi:<\/strong> Prowler&#8217;\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kulland\u0131\u011f\u0131n\u0131z Hizmet Sorumlusu&#8217;na her zaman en az ayr\u0131cal\u0131k ilkesi (principle of least privilege) do\u011frultusunda izinler atay\u0131n. Genellikle &#8220;Reader&#8221; (Okuyucu) rol\u00fc yeterlidir. Prowler&#8217;\u0131n kaynaklar\u0131 de\u011fi\u015ftirmesine veya silmesine izin veren rollerden ka\u00e7\u0131n\u0131n. Ayr\u0131ca, Hizmet Sorumlusu kimlik bilgilerini (Client ID, Client Secret) g\u00fcvenli bir \u015fekilde y\u00f6netin. Azure Key Vault gibi bir \u00e7\u00f6z\u00fcm kullanarak bu hassas bilgileri saklamak ve Prowler&#8217;\u0131 \u00e7al\u0131\u015ft\u0131ran sistemin Key Vault&#8217;a eri\u015fimini sa\u011flamak, kimlik bilgilerinin g\u00fcvenli\u011fini art\u0131r\u0131r. Ortam de\u011fi\u015fkenleri ge\u00e7ici \u00e7\u00f6z\u00fcmler olsa da, \u00fcretim ortamlar\u0131nda daha sa\u011flam bir kimlik bilgisi y\u00f6netimi stratejisi benimsemek \u00f6nemlidir.<\/p>\n<p>Bu ileri d\u00fczey ipu\u00e7lar\u0131 ve en iyi uygulamalar\u0131 benimseyerek, Prowler&#8217;\u0131 Azure g\u00fcvenlik duru\u015fu y\u00f6netiminizin vazge\u00e7ilmez bir par\u00e7as\u0131 haline getirebilir, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 proaktif bir \u015fekilde tespit edebilir ve bulut ortam\u0131n\u0131z\u0131n genel g\u00fcvenlik seviyesini s\u00fcrekli olarak y\u00fckseltebilirsiniz. Unutmay\u0131n, g\u00fcvenlik s\u00fcrekli bir yolculuktur ve Prowler bu yolculukta g\u00fc\u00e7l\u00fc bir m\u00fcttefiktir.<\/p>\n<h3>Ger\u00e7ek D\u00fcnya Senaryosu: Bir \u015eirketin Prowler ile G\u00fcvenlik A\u00e7\u0131klar\u0131n\u0131 Kapatma Hikayesi<\/h3>\n<p>Bir\u00e7ok kurulu\u015f gibi, &#8220;Bulut \u00c7\u00f6z\u00fcmleri A.\u015e.&#8221; de dijital d\u00f6n\u00fc\u015f\u00fcm\u00fcn\u00fc h\u0131zland\u0131rmak amac\u0131yla altyap\u0131s\u0131n\u0131n b\u00fcy\u00fck bir k\u0131sm\u0131n\u0131 Azure&#8217;a ta\u015f\u0131m\u0131\u015ft\u0131. Pazarlama, sat\u0131\u015f ve Ar-Ge departmanlar\u0131n\u0131n dinamik ihtiya\u00e7lar\u0131 do\u011frultusunda s\u00fcrekli yeni kaynaklar olu\u015fturuluyor, mevcut kaynaklar g\u00fcncelleniyordu. Ancak bu h\u0131zl\u0131 geli\u015fim, beraberinde g\u00fcvenlik endi\u015felerini de getiriyordu. G\u00fcvenlik ekibi, Azure ortam\u0131n\u0131n giderek karma\u015f\u0131kla\u015ft\u0131\u011f\u0131n\u0131 ve manuel denetimlerle t\u00fcm g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 takip etmenin imkans\u0131z hale geldi\u011fini fark etti. \u00d6zellikle, hassas m\u00fc\u015fteri verilerinin bulundu\u011fu depolama hesaplar\u0131n\u0131n yap\u0131land\u0131rmas\u0131 ve a\u011f g\u00fcvenlik gruplar\u0131n\u0131n (NSG) izinleri konusunda endi\u015feler vard\u0131.<\/p>\n<p>G\u00fcvenlik ekibi lideri Ay\u015fe Han\u0131m, bu sorunu \u00e7\u00f6zmek i\u00e7in a\u00e7\u0131k kaynakl\u0131 bir bulut g\u00fcvenlik denetim arac\u0131 aray\u0131\u015f\u0131na girdi ve Prowler ile kar\u015f\u0131la\u015ft\u0131. Prowler&#8217;\u0131n Azure deste\u011fi ve kapsaml\u0131 kontrol listeleri, ekibin dikkatini \u00e7ekti. \u0130lk olarak, Prowler&#8217;\u0131 bir Azure Sanal Makinesi (VM) \u00fczerine kurmaya karar verdiler. Gerekli Python ve Azure CLI kurulumlar\u0131n\u0131 tamamlad\u0131lar. Ard\u0131ndan, Prowler&#8217;\u0131n t\u00fcm Azure aboneliklerini okuyabilmesi i\u00e7in, minimum ayr\u0131cal\u0131k ilkesine uygun olarak bir Hizmet Sorumlusu olu\u015fturdular ve bu Hizmet Sorumlusu&#8217;na t\u00fcm abonelikler \u00fczerinde &#8220;Reader&#8221; (Okuyucu) rol\u00fcn\u00fc atad\u0131lar. Kimlik bilgilerini Azure Key Vault&#8217;ta g\u00fcvenli bir \u015fekilde saklad\u0131lar ve VM&#8217;in Y\u00f6netilen Kimli\u011fi (Managed Identity) arac\u0131l\u0131\u011f\u0131yla Key Vault&#8217;a eri\u015fim sa\u011flad\u0131lar.<\/p>\n<p>\u0130lk Prowler taramas\u0131, beklendi\u011fi gibi bir\u00e7ok &#8220;FAILED&#8221; bulgusu ortaya \u00e7\u0131kard\u0131. Raporda dikkat \u00e7eken baz\u0131 kritik noktalar \u015funlard\u0131:<\/p>\n<ol>\n<li><strong>Genel Eri\u015fime A\u00e7\u0131k Depolama Hesaplar\u0131:<\/strong> Pazarlama departman\u0131n\u0131n kulland\u0131\u011f\u0131 birka\u00e7 Azure Blob depolama hesab\u0131, yanl\u0131\u015fl\u0131kla herkese a\u00e7\u0131k (public access) olarak yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131. Bu hesaplardan birinde, potansiyel m\u00fc\u015fteri listeleri ve kampanyalara ait hassas veriler bulunuyordu. Prowler, <code>azure_storage_account_public_access_is_disabled<\/code> kontrol\u00fcn\u00fc ba\u015far\u0131s\u0131z olarak i\u015faretlemi\u015fti.<\/li>\n<li><strong>Zay\u0131f Parola Politikalar\u0131:<\/strong> Baz\u0131 Azure Active Directory (AAD) kullan\u0131c\u0131lar\u0131 i\u00e7in parola karma\u015f\u0131kl\u0131k ve s\u00fcre politikalar\u0131n\u0131n yeterince g\u00fc\u00e7l\u00fc olmad\u0131\u011f\u0131 tespit edildi. \u00d6zellikle eski uygulamalarla entegrasyon i\u00e7in kullan\u0131lan servis hesaplar\u0131nda bu durum yayg\u0131nd\u0131. Prowler, <code>azure_aad_password_policy_is_strong<\/code> kontrol\u00fcnde uyar\u0131 vermi\u015fti.<\/li>\n<li><strong>A\u011f G\u00fcvenlik Gruplar\u0131nda Geni\u015f \u0130zinler:<\/strong> Ar-Ge ekibinin test ortam\u0131nda kullan\u0131lan baz\u0131 sanal makinelerin (VM) a\u011f g\u00fcvenlik gruplar\u0131nda (NSG), <code>0.0.0.0\/0<\/code> (herhangi bir IP adresinden) gelen RDP (3389) ve SSH (22) trafi\u011fine izin veren kurallar bulunuyordu. Bu durum, potansiyel brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 ortam\u0131 savunmas\u0131z b\u0131rak\u0131yordu. Prowler, <code>azure_nsg_inbound_rule_allows_all_ports<\/code> ve <code>azure_nsg_inbound_rule_allows_rdp_from_internet<\/code> gibi kontrolleri ba\u015far\u0131s\u0131z olarak i\u015faretlemi\u015fti.<\/li>\n<li><strong>Etiketleme Eksikli\u011fi:<\/strong> Bir\u00e7ok kaynakta maliyet takibi ve envanter y\u00f6netimi i\u00e7in kritik olan etiketlerin (tags) eksik oldu\u011fu g\u00f6r\u00fcld\u00fc. Bu, do\u011frudan bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olmasa da, kaynaklar\u0131n sahipli\u011fini ve amac\u0131n\u0131 belirlemeyi zorla\u015ft\u0131rarak g\u00fcvenlik y\u00f6netimini karma\u015f\u0131kla\u015ft\u0131r\u0131yordu.<\/li>\n<\/ol>\n<p>Ay\u015fe Han\u0131m ve ekibi, Prowler&#8217;\u0131n HTML raporunu kullanarak bulgular\u0131 \u00f6nceliklendirdi. En kritik olan depolama hesab\u0131 ve NSG sorunlar\u0131na odakland\u0131lar. Pazarlama ekibiyle ileti\u015fime ge\u00e7erek, herkese a\u00e7\u0131k depolama hesaplar\u0131n\u0131n eri\u015fim politikalar\u0131n\u0131 derhal k\u0131s\u0131tlad\u0131lar ve hassas verileri daha g\u00fcvenli bir konuma ta\u015f\u0131d\u0131lar. Ar-Ge ekibiyle i\u015f birli\u011fi yaparak, test ortam\u0131ndaki NSG kurallar\u0131n\u0131 yaln\u0131zca belirli IP adreslerinden (VPN veya \u015firket i\u00e7i a\u011f) eri\u015fime izin verecek \u015fekilde daraltt\u0131lar. AAD parola politikalar\u0131n\u0131 g\u00fc\u00e7lendirmek i\u00e7in BT departman\u0131yla birlikte \u00e7al\u0131\u015ft\u0131lar ve t\u00fcm kullan\u0131c\u0131lara \u00e7ok fakt\u00f6rl\u00fc kimlik do\u011frulama (MFA) uygulamas\u0131n\u0131 zorunlu hale getirdiler.<\/p>\n<p>Bulut \u00c7\u00f6z\u00fcmleri A.\u015e., Prowler&#8217;\u0131 g\u00fcnl\u00fck olarak \u00e7al\u0131\u015ft\u0131racak bir Azure Logic App kurdu. Bu Logic App, Prowler&#8217;\u0131 tetikliyor, HTML raporunu bir Azure Depolama hesab\u0131na y\u00fckl\u00fcyor ve yeni &#8220;FAILED&#8221; bulgular tespit edildi\u011finde g\u00fcvenlik ekibine Microsoft Teams \u00fczerinden otomatik bildirim g\u00f6nderiyordu. Bu otomasyon sayesinde, yeni g\u00fcvenlik a\u00e7\u0131klar\u0131 h\u0131zla tespit ediliyor ve d\u00fczeltiliyordu. Bir ay i\u00e7inde, &#8220;Bulut \u00c7\u00f6z\u00fcmleri A.\u015e.&#8221; Azure ortam\u0131n\u0131n g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirdi. Prowler, sadece mevcut a\u00e7\u0131klar\u0131 kapatmakla kalmad\u0131, ayn\u0131 zamanda s\u00fcrekli bir g\u00fcvenlik iyile\u015ftirme k\u00fclt\u00fcr\u00fc olu\u015fturmalar\u0131na da yard\u0131mc\u0131 oldu. Bu deneyim, Prowler&#8217;\u0131n modern bulut g\u00fcvenli\u011fi stratejilerinde ne kadar de\u011ferli bir ara\u00e7 olabilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6sterdi.<\/p>\n<h3>Sonu\u00e7 ve Gelecek Perspektifleri<\/h3>\n<p>Bu makale boyunca, Prowler&#8217;\u0131n Azure bulut ortamlar\u0131ndaki g\u00fcvenlik denetimleri i\u00e7in ne kadar g\u00fc\u00e7l\u00fc ve esnek bir ara\u00e7 oldu\u011funu detayl\u0131 bir \u015fekilde inceledik. Prowler&#8217;\u0131 Azure&#8217;a kurma s\u00fcrecinden, \u00f6n haz\u0131rl\u0131k ad\u0131mlar\u0131ndan, uygulaman\u0131n \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131na ve raporlar\u0131n yorumlanmas\u0131na kadar ad\u0131m ad\u0131m ilerledik. Ayr\u0131ca, bir vaka analiziyle Prowler&#8217;\u0131n ger\u00e7ek d\u00fcnya senaryolar\u0131nda nas\u0131l somut faydalar sa\u011flayabilece\u011fini ve g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n tespit edilip kapat\u0131lmas\u0131nda ne kadar etkili olabilece\u011fini g\u00f6rd\u00fck. Bulut \u00c7\u00f6z\u00fcmleri A.\u015e.&#8217;nin hikayesi, Prowler&#8217;\u0131n sadece bir ara\u00e7 olmad\u0131\u011f\u0131n\u0131, ayn\u0131 zamanda proaktif bir g\u00fcvenlik duru\u015fu olu\u015fturma yolunda kritik bir m\u00fcttefik oldu\u011funu kan\u0131tlad\u0131.<\/p>\n<p>Azure&#8217;\u0131n s\u00fcrekli geli\u015fen ve karma\u015f\u0131kla\u015fan yap\u0131s\u0131 g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, g\u00fcvenlik denetimlerinin otomasyonu ve s\u00fcrekli hale getirilmesi art\u0131k bir l\u00fcks de\u011fil, bir zorunluluktur. Prowler, a\u00e7\u0131k kaynakl\u0131 olmas\u0131, geni\u015f kontrol seti ve farkl\u0131 uyumluluk \u00e7er\u00e7evelerini desteklemesiyle bu ihtiyac\u0131 kar\u015f\u0131lamak i\u00e7in ideal bir \u00e7\u00f6z\u00fcm sunar. Kurulu\u015flar, Prowler&#8217;\u0131 CI\/CD i\u015flem hatlar\u0131na entegre ederek, \u00f6zel kontroller geli\u015ftirerek ve SIEM \u00e7\u00f6z\u00fcmleriyle birle\u015ftirerek g\u00fcvenlik programlar\u0131n\u0131 daha da g\u00fc\u00e7lendirebilirler. Minimum ayr\u0131cal\u0131k ilkesini benimsemek ve kimlik bilgilerini g\u00fcvenli bir \u015fekilde y\u00f6netmek, Prowler&#8217;\u0131n etkinli\u011fini art\u0131r\u0131rken g\u00fcvenlik risklerini en aza indirmek i\u00e7in temel prensiplerdir.<\/p>\n<p>Gelecekte, bulut g\u00fcvenli\u011fi tehditleri ve uyumluluk gereksinimleri daha da karma\u015f\u0131k hale gelecektir. Bu nedenle, Prowler gibi ara\u00e7lar\u0131n \u00f6nemi artmaya devam edecektir. Yapay zeka (AI) ve makine \u00f6\u011frenimi (ML) destekli g\u00fcvenlik analizi, tehdit istihbarat\u0131yla entegrasyon ve daha geli\u015fmi\u015f otomasyon yetenekleri, Prowler&#8217;\u0131n gelecekteki geli\u015fim alanlar\u0131ndan baz\u0131lar\u0131 olabilir. Kurulu\u015flar\u0131n, Prowler&#8217;\u0131 sadece bir g\u00fcvenlik denetim arac\u0131 olarak de\u011fil, ayn\u0131 zamanda s\u00fcrekli bir g\u00fcvenlik iyile\u015ftirme yolculu\u011funun kritik bir bile\u015feni olarak g\u00f6rmeleri gerekmektedir. Bu sayede, Azure ortamlar\u0131ndaki g\u00fcvenlik duru\u015flar\u0131n\u0131 s\u00fcrekli olarak g\u00fc\u00e7lendirebilir, riskleri azaltabilir ve dijital varl\u0131klar\u0131n\u0131 daha iyi koruyabilirler.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<dl>\n<dt>Prowler sadece Azure i\u00e7in mi ge\u00e7erlidir?<\/dt>\n<dd>Hay\u0131r, Prowler ba\u015flang\u0131\u00e7ta AWS i\u00e7in geli\u015ftirilmi\u015f olsa da, g\u00fcn\u00fcm\u00fczde Azure ve GCP (Google Cloud Platform) gibi di\u011fer b\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131 da desteklemektedir. Tek bir ara\u00e7la farkl\u0131 bulut ortamlar\u0131n\u0131z\u0131n g\u00fcvenlik duru\u015funu denetleyebilirsiniz.<\/dd>\n<dt>Prowler&#8217;\u0131 Azure&#8217;da \u00e7al\u0131\u015ft\u0131rmak i\u00e7in hangi izinlere ihtiyac\u0131m var?<\/dt>\n<dd>Prowler&#8217;\u0131n Azure kaynaklar\u0131n\u0131z\u0131 denetleyebilmesi i\u00e7in genellikle en az &#8220;Reader&#8221; (Okuyucu) rol\u00fcne sahip bir Hizmet Sorumlusu&#8217;na veya Y\u00f6netilen Kimli\u011fe ihtiyac\u0131 vard\u0131r. Bu rol, Prowler&#8217;\u0131n kaynaklar\u0131 okumas\u0131na izin verir ancak de\u011fi\u015ftirmesine veya silmesine izin vermez, bu da minimum ayr\u0131cal\u0131k ilkesine uygundur.<\/dd>\n<dt>Prowler&#8217;\u0131 otomatikle\u015ftirebilir miyim?<\/dt>\n<dd>Kesinlikle! Prowler, komut sat\u0131r\u0131 aray\u00fcz\u00fc (CLI) tabanl\u0131 bir ara\u00e7 oldu\u011fu i\u00e7in otomasyona olduk\u00e7a uygundur. Azure DevOps Pipelines, GitHub Actions, Azure Logic Apps veya Azure Functions gibi ara\u00e7larla entegre edilerek d\u00fczenli aral\u0131klarla otomatik olarak \u00e7al\u0131\u015ft\u0131r\u0131labilir ve raporlar\u0131 belirlenen depolama alanlar\u0131na kaydedebilir veya bildirimler g\u00f6nderebilirsiniz.<\/dd>\n<dt>Prowler hangi g\u00fcvenlik standartlar\u0131n\u0131 destekler?<\/dt>\n<dd>Prowler, CIS Benchmarks, GDPR, HIPAA, PCI DSS, ISO 27001 gibi bir\u00e7ok uluslararas\u0131 ve sekt\u00f6rel g\u00fcvenlik ve uyumluluk standard\u0131n\u0131 destekler. <code>python3 prowler.py azure --list-compliances<\/code> komutu ile Azure i\u00e7in desteklenen uyumluluk \u00e7er\u00e7evelerini listeleyebilirsiniz.<\/dd>\n<dt>Prowler&#8217;\u0131n buldu\u011fu g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 nas\u0131l d\u00fczeltmeliyim?<\/dt>\n<dd>Prowler raporlar\u0131, tespit edilen her bulgu i\u00e7in genellikle detayl\u0131 bir a\u00e7\u0131klama, etki derecesi ve sorunu nas\u0131l d\u00fczeltece\u011finize dair &#8220;d\u00fczeltme ad\u0131mlar\u0131&#8221; (remediation steps) sunar. Bu ad\u0131mlar\u0131 takip ederek veya Azure portal\u0131, Azure CLI\/PowerShell arac\u0131l\u0131\u011f\u0131yla ilgili kaynaklar\u0131n yap\u0131land\u0131rmas\u0131n\u0131 g\u00fcncelleyerek zafiyetleri giderebilirsiniz. D\u00fczeltme sonras\u0131 yeni bir tarama yaparak sorunun \u00e7\u00f6z\u00fcld\u00fc\u011f\u00fcn\u00fc do\u011frulaman\u0131z \u00f6nerilir.<\/dd>\n<\/dl>\n<p>#Prowler #Azure #BulutG\u00fcvenli\u011fi #CSPM #G\u00fcvenlikDenetimi #AzureG\u00fcvenlik #SiberG\u00fcvenlik #DevSecOps<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/azure-storage-public-access-check\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/azure-storage-public-access-check<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Azure bulut ortam\u0131n\u0131z\u0131n g\u00fcvenlik duru\u015funu g\u00fc\u00e7lendirmek mi istiyorsunuz?","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":[1405],"tags":[],"class_list":{"0":"post-41822","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-azure","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>Azure&#039;da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\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\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azure&#039;da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Azure bulut ortam\u0131n\u0131z\u0131n g\u00fcvenlik duru\u015funu g\u00fc\u00e7lendirmek mi istiyorsunuz?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-16T06:12:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-16T06:13:22+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=\"11 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Azure&#8217;da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber\",\"datePublished\":\"2026-05-16T06:12:56+00:00\",\"dateModified\":\"2026-05-16T06:13:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/\"},\"wordCount\":5264,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Azure\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/\",\"name\":\"Azure'da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-05-16T06:12:56+00:00\",\"dateModified\":\"2026-05-16T06:13:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azure&#8217;da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik 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":"Azure'da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","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\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Azure'da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber","og_description":"Azure bulut ortam\u0131n\u0131z\u0131n g\u00fcvenlik duru\u015funu g\u00fc\u00e7lendirmek mi istiyorsunuz?","og_url":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-05-16T06:12:56+00:00","article_modified_time":"2026-05-16T06:13:22+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Azure&#8217;da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber","datePublished":"2026-05-16T06:12:56+00:00","dateModified":"2026-05-16T06:13:22+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/"},"wordCount":5264,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Azure"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/","name":"Azure'da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-05-16T06:12:56+00:00","dateModified":"2026-05-16T06:13:22+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/azureda-prowler-kurulumu-guvenlik-denetiminde-pratik-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Azure&#8217;da Prowler Kurulumu: G\u00fcvenlik Denetiminde Pratik 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\/41822","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=41822"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41822\/revisions"}],"predecessor-version":[{"id":41823,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41822\/revisions\/41823"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=41822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=41822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=41822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}