AWS EC2 sunucularını yönetirken güvenlik, en kritik unsurlardan biridir.
AWS EC2 sunucularını yönetirken güvenlik, en kritik unsurlardan biridir. Güvenlik Grupları (Security Groups), EC2 instance’larının ağ trafiğini kontrol eden sanal firewall’lar olarak işlev görür. Bu gruplar, inbound (gelen) ve outbound (giden) trafik kurallarını tanımlayarak yetkisiz erişimleri engeller ve yalnızca gerekli bağlantılara izin verir. EC2 sunucularınıza güvenlik grupları ayarlamak, veri güvenliğinizi güçlendirirken operasyonel verimliliği artırır. Bu makalede, güvenlik gruplarının temel prensiplerini, uygulama adımlarını ve en iyi uygulamaları adım adım ele alacağız. Böylece, AWS ortamınızda güvenli bir yapı kurabilirsiniz.
Güvenlik Grupları, AWS VPC (Virtual Private Cloud) içinde çalışır ve her EC2 instance’ına varsayılan olarak atanır. Durumful (stateful) bir firewall oldukları için, izin verilen inbound trafiğe otomatik olarak outbound yanıt trafiğini sağlarlar. Örneğin, SSH bağlantısı için inbound 22 numaralı TCP portunu açtığınızda, sunucunuzun yanıt paketi için outbound kural eklemenize gerek kalmaz. Bu özellik, yönetim yükünü azaltır ve hataları önler.
Her güvenlik grubu, benzersiz bir tanımlayıcıya sahiptir ve birden fazla instance’a atanabilir. Varsayılan grup, aynı grup içindeki instance’lar arası trafiğe izin verir ancak dışarıdan tüm trafiği reddeder. Yeni kurallar eklerken, kaynak IP aralıklarını (CIDR), belirli güvenlik gruplarını veya any (0.0.0.0/0) gibi geniş kapsamları belirtebilirsiniz. Protokol (TCP, UDP, ICMP) ve port aralıklarını hassas şekilde ayarlamak, güvenlik katmanını güçlendirir.
Inbound kurallar, EC2 instance’ınıza ulaşmaya çalışan trafiği filtreler. Örneğin, web sunucusu için HTTP (port 80) ve HTTPS (port 443) inbound kurallarını yalnızca belirli IP’lerden açmak, DDoS saldırılarını minimize eder. Outbound kurallar ise sunucunuzun dışarıya gönderdiği trafiği kontrol eder; varsayılan olarak tüm outbound trafiğe izin verir, ancak veritabanı güncellemeleri için belirli endpoint’lere kısıtlamak idealdir. Bu ayrım, mikro segmentasyon sağlar ve lateral hareket riskini azaltır.
AWS, bir güvenlik grubuna en fazla 60 inbound ve 60 outbound kuralı izin verir; grup başına 5 güvenlik grubu atanabilir. En iyi uygulama olarak, least privilege prensibini benimseyin: yalnızca zorunlu portları açın ve kaynakları IP bazında sınırlayın. Düzenli denetimler yaparak eski kuralları temizleyin. Örneğin, geliştirme ortamında geniş kurallar kullanmayın; üretimde ise bastion host üzerinden erişim sağlayın.
AWS Management Console üzerinden güvenlik grubu oluşturmak ve EC2 instance’ına atamak oldukça basittir. Öncelikle, VPC dashboard’una gidin ve Security Groups bölümünü seçin. “Create security group” butonuna tıklayarak yeni bir grup tanımlayın: isim verin (örneğin, “web-server-sg”), açıklama ekleyin ve ilişkili VPC’yi seçin. Ardından, inbound/outbound kurallarını ekleyin.
CLI ile de yönetebilirsiniz: aws ec2 create-security-group komutuyla grup oluşturun, authorize-security-group-ingress ile kuralları tanımlayın ve aws ec2 modify-instance-attribute ile instance’a bağlayın. Bu işlem, instance yeniden başlatmadan uygulanır ve anında etki gösterir. Değişiklikleri test etmek için telnet veya nc komutlarıyla port erişimini doğrulayın.
Apache veya Nginx tabanlı bir web sunucusu için güvenlik grubu kurun: Inbound’da HTTP/HTTPS’yi dünya geneline (0.0.0.0/0) açın, SSH’yi yönetim IP’nize sınırlayın. Outbound’da, yazılım güncellemeleri için port 80/443’ü Amazon update sunucularına (örneğin, dnf.amazon.com/0.0.0.0/0) yönlendirin. Bu yapı, yüksek erişilebilirlik sağlar ve gereksiz trafiği bloke eder. Ek olarak, RDP (3389) gibi gereksiz portları kapatın.
MySQL/PostgreSQL için inbound’ı yalnızca uygulama sunucularının güvenlik grubuna açın (örneğin, sg-12345). Port 3306’yı belirli gruba referanslayın; bu, katmanlı güvenlik yaratır. Outbound’ı yedekleme servislerine (S3 endpoint’leri) sınırlayın. Monitoring için CloudWatch ile kural değişikliklerini izleyin ve AWS Config ile uyumu sağlayın.
Güvenlik Gruplarını etkin yönetmek, AWS ortamınızın dayanıklılığını artırır. Düzenli incelemeler yapın, IAM politikalarıyla erişimi kısıtlayın ve Auto Scaling gruplarında tutarlılık sağlayın. Bu yaklaşımla, ölçeklenebilir ve güvenli EC2 altyapısı kurarak iş sürekliliğinizi güvence altına alırsınız. Uygulamaya hemen başlayın ve güvenlik duruşunuzu sürekli geliştirin.