Rehberler Uzun Okuma Aws

Security group'larınız güvenli mi?

Stateful firewall ve en iyi uygulamalar.

30 Mart 2026 18 dk okuma
Paylaş
X in

Giriş

Security Group (SG) EC2 instance'larının sanal firewall'ıdır. Stateful'dır: dönüş trafiği otomatik izinlidir. Inbound ve outbound kurallar ayrı tanımlanır.

Varsayılan SG genelde yalnızca aynı SG'den trafiğe izin verir; üretimde özel SG'ler oluşturun.

Bu rehberde tiered mimari, least privilege ve audit stratejilerini inceliyoruz.

Temel Kavramlar

SG kuralları: Type, Protocol, Port, Source/Destination. 0.0.0.0/0 tüm internete açık demektir; SSH/RDP için kaçının.

Bir instance birden fazla SG'ye bağlanabilir; kurallar birleşim (union) olarak uygulanır.

aws ec2 describe-security-groups --group-ids sg-0123456789abcdef0
aws ec2 authorize-security-group-ingress \
  --group-id sg-xxx --protocol tcp --port 443 --cidr 10.0.0.0/8

Tiered Security Group Mimarisi

Web tier SG: 80/443 from ALB SG only. App tier: uygulama portu from Web SG. DB tier: 5432 from App SG only.

ALB kendi SG'sine sahiptir; internetten ALB'ye, ALB'den instance'lara trafik akar.

  • sg-alb: internet → ALB
  • sg-web: ALB → web
  • sg-app: web → app
  • sg-db: app → database
# Web tier - yalnızca ALB'den
Type: HTTP, Source: sg-alb-web
Type: HTTPS, Source: sg-alb-web

# App tier - yalnızca Web'den
Type: Custom TCP 8000, Source: sg-web

Least Privilege Prensipleri

Her kural için en dar CIDR veya SG referansı kullanın. Port aralığı yerine tek port tercih edin.

Outbound'u da kısıtlayın; varsayılan tüm trafik açık olabilir. Yalnızca gerekli endpoint'lere izin verin.

# Kötü: SSH tüm internete
Source: 0.0.0.0/0, Port 22

# İyi: SSH yalnızca bastion SG
Source: sg-bastion, Port 22

Yaygın Hatalar

0.0.0.0/0 ile SSH/RDP açmak en yaygın hatadır. Database portunu internete açmak ikinci büyük hatadır.

SG değişikliği anında etkilidir; staging'de test edin. Eski kuralları temizlemeyi unutmayın.

Source olarak CIDR yerine SG referansı kullanın; IP değişse bile kural geçerli kalır.

Audit ve Otomasyon

AWS Config security-group-attached-to-ec2 kuralı. VPC Flow Logs trafik analizi. Security Hub bulguları.

Terraform/aws_security_group ile SG'leri kod olarak yönetin; drift önleyin.

resource "aws_security_group" "web" {
  name_prefix = "web-"
  vpc_id      = aws_vpc.main.id
  ingress {
    from_port       = 443
    to_port         = 443
    protocol        = "tcp"
    security_groups = [aws_security_group.alb.id]
  }
}

Sonuç

Security Group'lar AWS ağ güvenliğinin birincil savunmasıdır. Tiered mimari, SG referansları ve least privilege uygulayın.

Düzenli audit ve infrastructure-as-code ile kuralları yönetin.