Buluta geçmek tek başına güvenli olmak demek değildir. AWS'i KOBİ'ler için gerçekten güvenli kılan; kimlik, ağ, loglama, tehdit tespiti ve yedekleme kontrollerinin birlikte çalışmasıdır.
Bulutta Güvenlik Bir Ayar Değil, Sürekli Bir Süreçtir
AWS, küçük ve orta ölçekli işletmelere büyük şirketlerin kullandığı esneklik, ölçeklenebilirlik ve güvenlik servislerini erişilebilir hale getirir. Ancak buluta geçmek tek başına güvenli olmak anlamına gelmez. Yanlış yapılandırılmış bir IAM kullanıcısı, herkese açık bir S3 bucket, gereğinden fazla izin verilmiş bir Security Group veya kapalı olan CloudTrail logları ciddi güvenlik riskleri oluşturabilir.
Bu yüzden AWS güvenliği, kurulumdan sonra bir kez kontrol edilip bırakılacak bir liste değildir. Kimlik yönetimi, ağ izolasyonu, loglama, tehdit algılama, zafiyet tarama, yedekleme, web uygulama koruması ve maliyet kontrolü birlikte düşünülmelidir.
113SEC yaklaşımında AWS güvenliği önce temel mimarinin doğru kurulmasıyla başlar; ardından görünürlük, alarm, tehdit tespiti, aktif koruma ve düzenli raporlama katmanları eklenir. Aşağıdaki 10 kontrol, güvenli bir AWS ortamı için uygulanabilir bir başlangıç rehberi olarak kullanılabilir.
1. Root Hesabı Günlük Kullanmayın, MFA Zorunlu Olsun
AWS hesabındaki en kritik kimlik root hesaptır. Root; hesap kapatma, faturalama değişiklikleri, bazı üst seviye güvenlik işlemleri ve erişim kurtarma gibi konular için kullanılır. Bu nedenle günlük operasyonlarda kullanılmaması gerekir.
İlk kontrol çok nettir: root hesaba güçlü bir parola tanımlanmalı, MFA etkinleştirilmeli ve root access key oluşturulmamalıdır. Günlük işler için ayrı IAM kullanıcıları veya roller kullanılmalıdır. Böylece hem erişim izleri netleşir hem de risk tek bir hesap üzerinde toplanmaz.
Kontrol sorusu: Root hesapta MFA aktif mi, root access key var mı ve root hesap son 90 gün içinde gereksiz kullanılmış mı?
2. IAM, Roller ve En Az Yetki Prensibi
IAM, AWS güvenliğinin merkezidir. Kimin hangi servise, hangi kaynak üzerinde, hangi seviyede erişeceğini IAM belirler. Bu nedenle IAM tarafında en önemli prensip least privilege, yani en az yetki yaklaşımıdır.
Her kullanıcıya ve role yalnızca işini yapması için gereken minimum yetki verilmelidir. Teknik yönetici, fatura takibi yapan kullanıcı, raporlara bakan satış kullanıcısı ve servislerin kullandığı roller birbirinden ayrılmalıdır. EC2 gibi servislerin S3 veya CloudWatch Logs üzerinde erişime ihtiyacı varsa, access key yerine IAM Role atanmalıdır.
Kontrol sorusu: Her IAM kullanıcısında MFA aktif mi, yetkiler gereğinden geniş mi ve 90 günden eski access key var mı?
3. VPC, Subnet ve Security Group İzolasyonu
AWS ortamındaki güvenlik yalnızca kullanıcı yetkilerinden ibaret değildir; ağ mimarisi de doğru kurulmalıdır. Public subnet, private subnet, DMZ, backup subnet ve yönetim subnetleri farklı amaçlarla kurgulanmalıdır. Böylece bir servis ihlal edilse bile saldırganın doğrudan tüm altyapıya ilerlemesi engellenir.
Security Group'larda "Allow All" mantığından kaçınılmalı; SSH ve RDP erişimleri mümkün olduğunca VPN veya bastion üzerinden sınırlandırılmalıdır. Müşteri agent bağlantıları, yönetim erişimleri ve web trafiği ayrı kurallarla yönetilmelidir.
Kontrol sorusu: 0.0.0.0/0 ile açık yönetim portu var mı, gereksiz Security Group kuralları temizlenmiş mi ve VPC Flow Logs aktif mi?
4. S3 Bucket Güvenliği Bilinçli Yönetilmeli
S3; log arşivleme, yedekleme, müşteri raporları ve operasyonel dosyalar için çok güçlü bir depolama servisidir. Ancak yanlış yapılandırılmış S3 bucket'lar en yaygın bulut güvenliği hatalarından biridir.
Tüm bucket'larda Block Public Access etkin olmalı, server-side encryption varsayılan yapılmalı, kritik bucket'larda versioning açılmalı ve CloudTrail gibi değiştirilemez olması gereken loglar için Object Lock değerlendirilmelidir. Yedekleme veya rapor arşivleri için S3 Lifecycle kuralları maliyeti düşürmek adına kullanılmalıdır.
Kontrol sorusu: Public bucket var mı, kritik bucket'larda encryption ve versioning aktif mi, erişim sadece gerekli IAM rolleriyle sınırlı mı?
5. CloudTrail Tüm Bölgelerde Aktif Olmalı
CloudTrail, AWS hesabındaki API çağrılarını kaydeder. "Kim, ne zaman, hangi işlemi yaptı?" sorusunun cevabı CloudTrail sayesinde bulunur. Bu yüzden olay müdahalesi, uyumluluk ve denetim için temel servistir.
CloudTrail tüm bölgeler için aktif edilmeli, loglar S3'e yazılmalı, CloudWatch Logs'a da gönderilmeli ve log file validation etkinleştirilmelidir. Root login, IAM değişikliği, Security Group açılması, S3 public erişim ve CloudTrail durdurma gibi olaylar ayrıca alarm üretmelidir.
Kontrol sorusu: CloudTrail multi-region aktif mi, loglar değiştirilmeye karşı korunuyor mu ve kritik olaylar için alarm tanımlı mı?
6. GuardDuty ile Tehdit Algılama
GuardDuty, AWS ortamını sürekli izleyen yönetilen tehdit algılama servisidir. VPC Flow Logs, CloudTrail ve DNS logları üzerinden şüpheli davranışları analiz eder. Yetkisiz erişim denemeleri, port taramaları, kötü amaçlı DNS sorguları, S3 erişim anomalileri ve kripto madencilik gibi bulgular üretebilir.
GuardDuty'nin en büyük avantajı altyapı kurmadan hızlı görünürlük sağlamasıdır. Bulgular Security Hub'a aktarılabilir, SNS ile ekiplere bildirilebilir ve EventBridge/Lambda ile otomatik aksiyonlara bağlanabilir.
Kontrol sorusu: GuardDuty aktif mi, S3 Protection etkin mi ve high severity bulgular için bildirim/aksiyon akışı var mı?
7. Security Hub ile Bulgular Tek Merkezde
AWS ortamı büyüdükçe bulgular farklı servislerde dağılır: GuardDuty tehdit algılar, Inspector zafiyet bulur, IAM Access Analyzer dışa açık erişimleri gösterir, WAF trafik olaylarını üretir. Security Hub bu bulguları tek merkezi dashboard'da toplar.
Security Hub ayrıca AWS Foundational Security Best Practices ve CIS AWS Foundations Benchmark gibi standartlar üzerinden uyum skorunu takip etmeye yardımcı olur. Böylece yalnızca teknik bulgular değil, güvenlik duruşu da yönetici seviyesinde raporlanabilir.
Kontrol sorusu: Security Hub aktif mi, GuardDuty/Inspector/IAM Access Analyzer entegrasyonları bağlı mı ve failed controls düzenli takip ediliyor mu?
8. Inspector ile Zafiyetleri Görünür Kıl
EC2 sunucularında çalışan işletim sistemi paketleri ve container image'ları zaman içinde zafiyet barındırabilir. Inspector, EC2 instance'ları ve ECR container image'ları için CVE tabanlı zafiyet taraması sağlar.
Critical ve High bulgular hızlıca patch sürecine alınmalı, özellikle dışarıdan erişilebilir zafiyetli servisler önceliklendirilmelidir. Inspector bulguları Wazuh gibi agent tabanlı zafiyet tespitiyle birlikte değerlendirilirse daha kapsamlı görünürlük sağlanır.
Kontrol sorusu: Inspector kapsamı tüm EC2/ECR kaynaklarını görüyor mu, critical/high bulgular için SLA var mı ve eski bulgular kapanıyor mu?
9. WAF, ALB ve DMZ ile Kontrollü Web Trafiği
Web uygulamaları ve destek portalları gibi internetten erişilen servisler, doğrudan arka uç sunuculara açılmamalıdır. Application Load Balancer ve AWS WAF birlikte kullanılarak trafik kontrollü şekilde karşılanabilir.
WAF üzerinde AWS Managed Rules, SQLiRuleSet, KnownBadInputs, rate limit ve gerektiğinde IP whitelist/geo block kuralları kullanılabilir. İlk aşamada Count modunda gözlem yapmak, meşru trafiği yanlışlıkla engellememek için iyi bir yaklaşımdır. DMZ subnet yapısı da web servislerini Active Directory, dosya sunucusu, backup ve iç sistemlerden ayırır.
Kontrol sorusu: Dış trafik ALB üzerinden mi geliyor, WAF bypass edilemiyor mu ve web sunucusu sadece ALB'den trafik alacak şekilde sınırlı mı?
10. AWS Backup, Vault Lock ve Restore Testi
Güvenli bir AWS ortamı yalnızca saldırıyı engellemeye çalışmaz; olay gerçekleştiğinde geri dönebilmeyi de planlar. Bu yüzden AWS Backup, yedekleme planları, Backup Vault, KMS şifreleme, cross-region kopyalama ve restore testleri önemlidir.
Yedekler sadece alınmamalı, düzenli olarak geri yüklenebilmelidir. Vault Lock, yedeklerin belirli süre boyunca silinmesini veya değiştirilmesini engelleyerek fidye yazılımı senaryolarına karşı ek koruma sağlar. Kritik sistemler için aylık restore tatbikatı önerilir.
Kontrol sorusu: AWS Backup planı aktif mi, kritik kaynaklar tag bazlı plana dahil mi, Vault Lock değerlendirildi mi ve son restore testi başarılı mı?
Bonus: Maliyet Alarmı da Güvenliğin Parçasıdır
Bulutta güvenlik yalnızca saldırı riskini değil, kontrolsüz kaynak ve maliyet riskini de kapsar. Yanlış konfigürasyonla açık kalan NAT Gateway, kullanılmayan Elastic IP, bağlı olmayan EBS diskleri veya uzun süre saklanan loglar beklenmeyen maliyet oluşturabilir.
CloudWatch dashboard'a maliyet widget'ı eklemek, AWS Budgets kullanmak, billing alarm tanımlamak ve kullanılmayan kaynakları düzenli temizlemek gerekir. Güvenli ve sürdürülebilir bir bulut operasyonu, maliyeti de görünür tutmalıdır.
Sonuç: Kontrol Listesiyle Başlar, Sürekli İzlemeyle Olgunlaşır
AWS güvenliğinde en büyük hata, servislerin güvenli varsayıldığını düşünmektir. AWS güçlü güvenlik servisleri sunar; ancak bu servislerin doğru etkinleştirilmesi, yapılandırılması, izlenmesi ve raporlanması gerekir.
Root MFA, en az yetki IAM, VPC izolasyonu, S3 güvenliği, CloudTrail, GuardDuty, Security Hub, Inspector, WAF ve Backup kontrolleri uygulandığında AWS ortamı çok daha güvenli ve yönetilebilir hale gelir. 113SEC olarak amacımız AWS ortamlarınızı yalnızca kurmak değil; görünür, izlenebilir ve sürdürülebilir şekilde yönetmektir. Bulut altyapınızın güvenlik durumunu değerlendirmek için bizimle iletişime geçebilirsiniz.
