Bu proje, AltaySec Atölye platformunda eğitim ve güvenlik farkındalığı amacıyla kullanılmaktadır.
- AltaySec Atölye: https://atolye.altaysec.com.tr
- AltaySec Ana Site: https://altaysec.com.tr
AWS Security Scout, AWS hesaplarında güvenlik yanlış yapılandırmalarını (misconfiguration) tespit eden tam read-only çalışan bir güvenlik tarayıcısıdır. Araç, AWS hesabınızı tarar, kritik güvenlik risklerini belirler ve Türkçe veya İngilizce aksiyon odaklı raporlar sunar.
- AWS hesaplarında güvenlik yapılandırma hatalarını tespit eder
- Her bir bulgu için detaylı düzeltme adımları (AWS Console + AWS CLI) sunar
- 100 üzerinden güvenlik skoru hesaplar
- S3, IAM, EC2, CloudTrail, Secrets Manager, KMS servislerini tarar
- Markdown ve HTML formatında raporlar üretir
- Türkçe ve İngilizce rapor desteği sunar
- CI/CD pipeline'lara entegre edilebilir
- AWS kaynaklarında değişiklik yapmaz (tam read-only)
- Otomatik fix veya silme işlemi yapmaz
- Write/Delete/Modify API'lerini kullanmaz
- Sensitive data saklamaz veya dışarı aktarmaz
- Brute-force veya aktif saldırı yapmaz
- Yasal uyumluluk sertifikasyonu sağlamaz
- Public access kontrolü
- Bucket policy wildcard kontrolü
- Encryption (SSE-S3/SSE-KMS) kontrolü
- Versioning kontrolü
- AdministratorAccess kontrolü
- MFA devre dışı kullanıcılar
- 90+ gün eski access key'ler
- Wildcard (:) policy kontrolü
- Security Group 0.0.0.0/0 kontrolü (SSH, RDP, MySQL portları)
- IMDSv1 açık mı kontrolü
- EBS encryption kontrolü
- CloudTrail açık mı kontrolü
- Log'ların S3'e gitmesi kontrolü
- Retention policy kontrolü
- Secrets Manager kullanımı kontrolü
- KMS key rotation kontrolü
Araç şu kategorilerde güvenlik kontrolleri gerçekleştirir:
- İdare ve Erişim Yönetimi: MFA kullanımı, access key rotasyonu, overly permissive politikalar
- Veri Koruma: Şifreleme yapılandırması, versiyonlama
- Ağ Güvenliği: Security Group kuralları, açık portlar
- İzleme ve Günlükleme: CloudTrail aktifliği, CloudWatch logları
- Gizli Anahtar Yönetimi: Secrets Manager, KMS key rotation
Güvenlik skoru 100 üzerinden hesaplanır ve şu şekilde kategorize edilir:
- 80-100 (Güvenli): Kritik güvenlik açığı bulunamadı, yapılandırma optimal
- 50-79 (Orta Risk): Orta seviye güvenlik riskleri tespit edildi
- 0-49 (Yüksek Risk): Kritik güvenlik açıkları tespit edildi, acil düzeltme gerekli
Skorlama ağırlıkları:
- Critical: 25 puan
- High: 15 puan
- Medium: 8 puan
- Low: 3 puan
- Python 3.8 veya üzeri
- AWS CLI (opsiyonel)
- AWS hesabı ve IAM yetkileri
git clone https://github.com/koray-yolcu-sec/aws-security-scout.git
cd aws-security-scoutpython -m pip install -r requirements.txtSeçenek 1: AWS CLI ile
aws configureSeçenek 2: Environment Variables ile
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_DEFAULT_REGION=us-east-1Seçenek 3: Belirli Bir Profile ile
aws configure --profile my-profileAraç tam read-only çalışır. Aşağıdaki IAM policy'si kullanılabilir:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation",
"s3:GetBucketPolicy",
"s3:GetBucketAcl",
"s3:GetPublicAccessBlock",
"s3:GetEncryptionConfiguration",
"s3:GetBucketVersioning",
"iam:ListUsers",
"iam:ListAccessKeys",
"iam:ListMFADevices",
"iam:ListAttachedUserPolicies",
"iam:ListUserPolicies",
"iam:GetUserPolicy",
"iam:GetPolicy",
"iam:GetPolicyVersion",
"ec2:DescribeSecurityGroups",
"ec2:DescribeInstances",
"ec2:DescribeImages",
"ec2:DescribeVolumes",
"cloudtrail:DescribeTrails",
"cloudtrail:GetTrailStatus",
"logs:DescribeLogGroups",
"secretsmanager:ListSecrets",
"kms:ListKeys",
"kms:DescribeKey",
"sts:GetCallerIdentity"
],
"Resource": "*"
}
]
}python main.py scanVarsayılan çıktı: Terminal raporu (özet + hızlı aksiyonlar)
python main.py scan --output terminal --detailsDetaylı modda tüm bulguların açıklamaları ve düzeltme adımları gösterilir.
python main.py scan --output terminal --summarySadece özet istatistikleri ve hızlı aksiyonları gösterir.
python main.py scan --services s3 iampython main.py scan --profile production --region eu-central-1python main.py scan --lang enpython main.py fix-planAWS Security Scout terminal raporunu birincil çıktı olarak kullanır. Tarama sonuçlarını doğrudan terminalde görebilirsiniz:
python main.py scanTerminal Çıktısı İçerir:
- ✅ Güvenlik skoru ve risk durumu
- ✅ Servis bazlı özet (S3, IAM, EC2, vb.)
- ✅ Her servis için bulgu sayısı ve dağılımı
- ✅ "Hızlı Aksiyonlar" bölümü (en öncelikli düzeltmeler)
- ✅ Toplam risk puanları
AWS Security Scout 4 farklı çıktı formatı sunar:
python main.py scan
# Veya
python main.py scan --output terminal- Hızlı ve doğrudan terminalde görünür
- Özet ve hızlı aksiyonları gösterir
- Detaylı mod (
--details) ile tam bulguları gösterir - Özet mod (
--summary) ile sadece özeti gösterir
python main.py scan --output terminal --detailsTüm bulguların detayları, açıklamaları ve düzeltme adımları terminalde gösterilir.
python main.py scan --output terminal --summarySadece özet istatistikleri ve hızlı aksiyonları gösterir.
======================================================================
AWS Security Scout - Güvenlik Tarama Raporu
======================================================================
📋 Hesap ID: 123456789012
🌍 Bölge: eu-north-1
🔒 Güvenlik Skoru: 65/100
⚠️ Durum: ORTA RISK
----------------------------------------------------------------------
🪣 S3
----------------------------------------------------------------------
Toplam Bulgu: 5
● Kritik: 1
● Yüksek: 2
● Orta: 1
● Düşük: 1
💰 Risk Puanı: 56
⚡ HIZLI AKSİYONLAR (En Öncelikli Düzeltmeler)
======================================================================
1. S3 Bucket'ı Public Erişime Açık
Kaynak: my-bucket
Severity: KRİTİK (+25 puan)
Neden: Bucket my-bucket için public access kontrolü devre dışı...
🔧 Düzeltme:
**AWS Console:**
1. S3 konsoluna gidin
2. my-bucket bucket'ını seçin
...
======================================================================
✓ Rapor oluşturuldu
👤 Geliştirici: Koray Yolcu (kkyolcu@gmail.com)
🔗 GitHub: https://github.com/koray-yolcu-sec/aws-security-scout
⚠️ Bu araç tam READ-ONLY modunda çalışır, AWS kaynaklarınızda değişiklik yapmaz
Terminal raporu şu avantajları sunar:
- ✅ Hızlı: Dosya açmaya gerek yok, anında görünür
- ✅ Kopyalanabilir: Düzeltme komutlarını doğrudan kopyalayabilirsiniz
- ✅ Aramalı: Tüm bulgular tek ekranda
- ✅ Script Friendly: CI/CD pipeline'larına entegre edilebilir
- ✅ ANSI Renkleri: Okunabilirlik için renklendirme
aws-security-scout/
├── main.py # CLI giriş noktası (python main.py ...)
├── aws_scout/ # Ana uygulama paketi
│ ├── __init__.py
│ ├── cli.py # Argparse / CLI yönlendirme
│ ├── core/ # Çekirdek mantık
│ │ ├── __init__.py
│ │ ├── aws_auth.py # AWS kimlik doğrulama
│ │ ├── scanner.py # Tarama motoru
│ │ ├── scorer.py # Güvenlik skoru hesaplama
│ │ └── reporter.py # Rapor üretimi (MD / HTML)
│ ├── checks/ # Servis bazlı güvenlik kontrolleri
│ │ ├── __init__.py
│ │ ├── s3_checks.py # S3 kontrolleri
│ │ ├── iam_checks.py # IAM kontrolleri
│ │ ├── ec2_checks.py # EC2 kontrolleri
│ │ └── logging_checks.py # Logging kontrolleri
│ ├── locales/
│ │ ├── tr.json # Türkçe çeviri
│ │ └── en.json # İngilizce çeviri
│ └── templates/ # Rapor şablonları
├── docs/ # Dokümantasyon
│ ├── ARCHITECTURE.md
│ └── CHECKS.md
├── example_report.md # Örnek çıktı
├── requirements.txt # Python bağımlılıkları
└── README.md # Proje dokümantasyonu
Mimari prensipleri:
- Modüler ve genişletilebilir yapı
- Her servis için ayrı kontrol modülü
- Read-only erişim ile güvenli tarama
- Çoklu dil desteği (Türkçe ve İngilizce)
Bu araç:
- Tam read-only API'ler kullanır
- AWS Best Practices'e uygun çalışır
- Legal ve etik sınırlar içinde kalır
- Müşteri verilerini gizli tutar
- Detaylı audit log tutar
Yasal uyarı:
- Bu araç AWS kaynaklarını okumakla sınırlıdır. Kaynak oluşturma, silme veya değiştirme işlemleri yapmaz.
- Tarama sonuçları yerel ortamınızda saklanır. Veriler harici bir servise gönderilmez.
- Bu araç yasal uyumluluk sertifikasyonu sağlamaz. SOC2, ISO27001, PCI-DSS gibi sertifikasyonlar için ek denetimler gerekir.
- Kullanımınızdan kaynaklanan veri kaybından, iş kesintisinden veya diğer zararlardan aracı geliştiricileri sorumlu değildir.
- Cloud Security Engineer / Analyst
- DevOps Engineer
- Site Reliability Engineer (SRE)
- AWS Sertifika adayları
- Güvenlik öğrenmek isteyen öğrenciler
- KOBİ IT yöneticileri
- AWS temel bilgisi olmayan kullanıcılar
- Otomatik remediation aracı arayanlar
- Gerçek zamanlı tehdit algılama çözümü arayanlar
- Enterprise seviye SIEM çözümü arayanlar
Katkılarınızı bekliyoruz! Lütfen şu adımları izleyin:
- Fork bu repository
- Feature branch oluştur:
git checkout -b feature/amazing-feature - Değişikliklerini yap ve test et
- Commit yap:
git commit -m 'Add amazing feature' - Branch'i push et:
git push origin feature/amazing-feature - Pull Request aç
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
- Sorular: GitHub Issues
- Özellik istekleri: GitHub Issues
- Email: kkyolcu@gmail.com
Koray Yolcu — kkyolcu@gmail.com
⭐ Eğer projeyi beğendiyseniz, lütfen yıldız vermeyi unutmayın!
Made with ❤️ by Koray Yolcu