Merhaba arkadaşlar,
Bulut hesabınızda yüzlerce kaynak varsa, "acaba bir yerde açık bir S3 bucket ya da fazla yetkili bir IAM kullanıcısı mı kaldı?" sorusunu elle cevaplamak imkansızdır. İşte bu noktada bulut güvenlik duruşu yönetimi (CSPM) araçları devreye girer. Prowler, AWS başta olmak üzere birçok sağlayıcıyı tarayan, açık kaynak ve ücretsiz bir CSPM aracıdır. Bu rehberde Prowler'ı resmi belgelerine dayanarak kurup kendi AWS hesabınızda nasıl güvenlik denetimi yapacağınızı, raporları nasıl okuyacağınızı ve bulguları nasıl önceliklendireceğinizi anlatıyorum. Tüm komutlar yalnızca kendi hesabınızda veya yazılı izniniz olan hesaplarda çalıştırılmalıdır.
Konuda Anlatılacaklar
- CSPM nedir, Prowler ne yapar?
- Kurulum ve kimlik doğrulama
- En az yetkili denetim kullanıcısı
- İlk tarama ve raporlar
- Uyumluluk çerçeveleriyle tarama
- Belirli servis/kontrol çalıştırma
- Bulguları önceliklendirme ve düzenli denetim
CSPM Nedir, Prowler Ne Yapar?
CSPM araçları, bulut yapılandırmanızı bilinen güvenlik en iyi uygulamaları ve uyumluluk çerçeveleriyle karşılaştırır; yanlış yapılandırmaları (açık bucket, şifresiz disk, MFA'sız kök hesap, aşırı geniş IAM) tespit eder. Prowler, resmi belgelerine göre AWS, Azure, GCP, Kubernetes, Microsoft 365, GitHub ve daha fazlasını destekler. Yüzlerce hazır kontrol ve CIS, NIST gibi uyumluluk çerçeveleriyle gelir.
Kurulum ve Kimlik Doğrulama
Prowler, Python ile kurulur (resmi belgelere göre Python 3.10-3.13):
pip install prowler
prowler -vProwler, komut çalıştırıldığında ortam değişkeni veya profil üzerinden AWS kimlik bilgilerini kullanır. Önce AWS CLI ile kimliğinizi doğrulayın:
aws sts get-caller-identityProwler sağlayıcıyı ilk argüman olarak alır (belirtmezseniz geriye dönük uyumluluk için AWS varsayılır):
prowler aws
prowler aws --profile kendi-profilimEn Az Yetkili Denetim Kullanıcısı
Prowler yalnızca okuma yapar; bu yüzden ona yazma yetkisi vermeyin. AWS'nin yönetilen SecurityAudit ve ViewOnlyAccess politikaları çoğu kontrol için yeterlidir. En az yetki ilkesine uygun olarak Prowler için ayrı bir IAM rolü/kullanıcısı oluşturun ve yalnızca bu salt okunur politikaları bağlayın. Kök hesapla veya AdministratorAccess ile tarama yapmak, gereksiz risktir.
İlk Tarama ve Raporlar
En basit haliyle tüm hesabı tüm bölgelerde tarayın:
prowler awsProwler resmi belgelerine göre varsayılan olarak CSV, JSON-OCSF ve HTML raporları üretir ve bunları output dizinine kaydeder. Çıktı formatını kendiniz de seçebilirsiniz:
prowler aws -M csv json-ocsf htmlBelirli bir profil ve bölgeyle sınırlamak:
prowler aws --profile kendi-profilim -f eu-central-1 eu-west-1HTML raporu tarayıcıda açıp bulguları önem (severity) ve servis bazında filtreleyebilirsiniz. İlk taramada yüzlerce bulgu görmek normaldir; panik yapmayın, önceliklendirin.
Uyumluluk Çerçeveleriyle Tarama
Prowler, taramayı bir uyumluluk çerçevesine göre yapabilir. Örneğin CIS AWS Benchmark'a göre:
prowler aws --compliance cis_3.0_awsMevcut çerçeveleri ve kontrolleri listelemek için:
prowler aws --list-compliance
prowler aws --list-checks
prowler aws --list-servicesUyumluluk modu, denetim raporlarına ve yönetime sunum yaparken özellikle değerlidir; her bulguyu bir çerçeve maddesiyle eşler.
Belirli Servis veya Kontrol Çalıştırma
Tüm hesabı taramak yerine tek bir servise odaklanabilirsiniz. Belgelerdeki örneklere göre:
prowler aws --services s3 ec2
prowler aws --checks s3_bucket_public_accessBelirli kontrolleri hariç tutmak da mümkündür:
prowler aws --excluded-checks s3_bucket_public_accessBöylece "önce S3'ü düzeltelim" gibi odaklı iyileştirme turları yapabilirsiniz.
Prowler Nasıl Tarar? Kontrol Mantığı
Prowler her kontrolü küçük, bağımsız bir modül olarak çalıştırır. Bir kontrol, ilgili AWS API'sini salt okunur biçimde çağırır (örneğin S3 için get-public-access-block, bucket politikası), sonucu beklenen güvenli duruma göre değerlendirir ve PASS/FAIL olarak işaretler. Bu yüzden Prowler hiçbir şeyi değiştirmez; yalnızca mevcut yapılandırmayı okur ve yorumlar. Her bulgu; kontrol kimliği, önem düzeyi, etkilenen kaynak, açıklama ve düzeltme (remediation) önerisiyle birlikte gelir. Bu alanlar HTML raporunda sütun olarak görünür ve JSON-OCSF çıktısında makine tarafından işlenebilir biçimde yer alır, böylece bulguları bir SIEM'e veya tablolama aracına aktarabilirsiniz.
İleri Seviye: Bulguları Önceliklendirme ve Düzenli Denetim
İlk taramadan sonra bir eylem planı çıkarın:
- Önce kritik ve yüksek (critical/high) bulgular: açık bucket, herkese açık güvenlik grubu (0.0.0.0/0), MFA'sız kök hesap, şifresiz veritabanı.
- Sonra orta (medium): loglama eksikleri, eski erişim anahtarları.
- Düzenli tekrar: Prowler'ı CI/CD veya zamanlanmış bir görev olarak çalıştırıp değişimi izleyin.
Taramayı tarih damgalı bir dizine kaydedip zamanla karşılaştırmak, duruşunuzun iyileşip iyileşmediğini gösterir:
prowler aws -M json-ocsf html \
--output-directory ./denetim-$(date +%F)Not: Çoklu hesap (AWS Organizations) ortamlarında Prowler'ı bir denetim rolüyle tüm hesaplarda çalıştırabilirsiniz; ancak bu, yalnızca bu hesapların sahibi veya yetkili yöneticisiyseniz yapılmalıdır. Prowler'ın yönetilen SaaS sürümü (Prowler Cloud) ve açık kaynak yerel paneli de sürekli izleme için kullanılabilir.
Sonuç
Prowler, kendi AWS hesabınızın güvenlik duruşunu ücretsiz ve hızlı biçimde ölçmenin en pratik yollarından biri. Salt okunur bir denetim kullanıcısıyla kurun, varsayılan CSV/JSON/HTML raporlarıyla başlayın, CIS gibi bir çerçeveye göre tarayın ve kritik bulgulardan başlayarak düzenli iyileştirme turları yapın. Siz hangi CSPM aracını kullanıyorsunuz, ilk taramada en çok hangi bulguyla karşılaştınız? Yorumlarda paylaşın.
Kaynakça
- Prowler belgeleri, Basic Usage: https://docs.prowler.com/getting-started...rowler-cli
- Prowler belgeleri, Installation: https://docs.prowler.com/getting-started...rowler-cli
- Prowler belgeleri, Reporting: https://docs.prowler.com/user-guide/cli/.../reporting
- Prowler belgeleri, Compliance: https://docs.prowler.com/user-guide/comp...compliance
- Prowler (PyPI): https://pypi.org/project/prowler/
- AWS CLI, get-caller-identity: https://docs.aws.amazon.com/cli/latest/r...ntity.html
- AWS, SecurityAudit yönetilen politikası: https://docs.aws.amazon.com/aws-managed-...Audit.html
Yasal Uyarı
Bu rehberdeki tarama komutları yalnızca kendi AWS hesabınızda veya yazılı olarak yetkilendirildiğiniz hesaplarda çalıştırılmalıdır. Başkasına ait bulut kaynaklarını izinsiz taramak veya bunlara erişmek 5237 sayılı Türk Ceza Kanunu'nun 243, 244 ve 245. maddeleri kapsamında suçtur. TurkTeam yalnızca savunma ve eğitim amaçlı paylaşımları destekler.
Görsel: TurkTeam özgün kapak ve diyagramları
Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).
