Güvenlik Grupları ve Anahtar Çiftleri
Güvenlik gruplarıyla gelen ve giden trafiği denetleyecek, EC2 anahtar çiftleriyle SSH kimlik doğrulamasını yöneteceksiniz.
Güvenlik Grupları ve Anahtar Çiftleri, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
Güvenlik Grupları Nedir?
Güvenlik grubu, bir EC2 bulut sunucusuna (veya RDS, Lambda, ELB gibi diğer AWS kaynaklarına) gelen ve giden trafiği denetleyen sanal, durum bilgili bir güvenlik duvarıdır. Güvenlik grupları bulut sunucusu düzeyinde çalışır; her kural bir protokolü (TCP/UDP/ICMP), bağlantı noktası aralığını ve kaynağı/hedefi (IP aralığı veya başka bir güvenlik grubu) belirtir. Geleneksel güvenlik duvarlarından farklı olarak güvenlik grupları durum bilgilidir: gelen trafiğe izin verirseniz, yanıt trafiğine açık bir kural olmadan otomatik olarak giden yönde izin verilir.
Gelen ve Giden Kurallar
Güvenlik gruplarının ayrı gelen ve giden kural kümeleri vardır. Gelen kurallar, bulut sunucusuna ulaşan trafiği denetler; varsayılan olarak tüm gelen trafik reddedilir. Giden kurallar, bulut sunucusundan ayrılan trafiği denetler; varsayılan olarak tüm giden trafiğe izin verilir. Açık İzin Ver kuralları eklersiniz; güvenlik gruplarında açık Reddet kuralları yoktur (açık ret işlemleri için Ağ ACL'lerini kullanın). Bir güvenlik grubundaki tüm kurallar mantıksal OR kullanılarak birlikte değerlendirilir; eşleşen herhangi bir İzin Ver kuralı trafiğe izin verir.
# Add an inbound SSH rule to a security group
aws ec2 authorize-security-group-ingress \
--group-id sg-12345678 \
--protocol tcp \
--port 22 \
--cidr 203.0.113.0/24
# Add an inbound HTTP rule
aws ec2 authorize-security-group-ingress \
--group-id sg-12345678 \
--protocol tcp \
--port 80 \
--cidr 0.0.0.0/0Güvenlik Grubu Zincirleme
Güvenlik grupları, IP aralıkları belirtmekten daha esnek ve güvenli olan kaynak/hedef güvenlik grubu başvurularını destekler. Örneğin, bir ALB güvenlik grubu 443 bağlantı noktasında 0.0.0.0/0'a izin verir. EC2 bulut sunucularının güvenlik grubu, gelen 8080 bağlantı noktasına yalnızca ALB güvenlik grubu ID üzerinden izin verir; herhangi bir IP üzerinden değil. Bir ALB değiştirilirse veya ölçeklendirilirse, IP değişikliklerine gerek kalmadan kural doğru şekilde uygulanmaya devam eder. Bu düzen, çok katmanlı mimariler için katmanlı ve dinamik bir savunma oluşturur.
# Allow inbound from another security group (not an IP)
aws ec2 authorize-security-group-ingress \
--group-id sg-ec2-instances \
--protocol tcp \
--port 8080 \
--source-group sg-load-balancerGüvenlik Grupları Durum Bilgilidir
Durum bilgili olması, güvenlik grubunun bağlantı durumunu takip ettiği anlamına gelir. Gelen kuralınız internetten TCP 80 bağlantı noktasına izin veriyorsa ve bir istemci istek gönderirse, yanıt paketlerinin (giden) istemciye geri dönmesine, 80 bağlantı noktası için giden kural olmasa bile otomatik olarak izin verilir. Bu durum, durum bilgisiz olan ve trafiğin her iki yönü için açık kurallar gerektiren Ağ ACL'lerinden temelde farklıdır. Durum bilgili yapı, tipik uygulama trafiği düzenlerinde güvenlik gruplarının yapılandırılmasını kolaylaştırır.
Bir Bulut Sunucusunda Birden Fazla Güvenlik Grubu
Tek bir EC2 bulut sunucusuna birden fazla güvenlik grubu ekleyebilirsiniz (varsayılan olarak en fazla 5, ayarlanabilir). Eklenen tüm güvenlik gruplarındaki kurallar birleşim kullanılarak (OR mantığı) bir araya getirilir; herhangi bir güvenlik grubu isteğe izin verirse istek kabul edilir. Bu, güvenlik gruplarının yalnızca izin ekleyebileceği, bunları asla kısıtlayamayacağı anlamına gelir; erişimi sıkılaştırmak istiyorsanız daha kısıtlayıcı bir güvenlik grubu eklemek yerine kuralları kaldırmalı veya değiştirmelisiniz. Erişim kısıtlamasıyla ilgili sınav sorularında bu eklemeli davranışı göz önünde bulundurun.
Varsayılan Güvenlik Grubu Davranışı
Her VPC, bir varsayılan güvenlik grubu içerir. Varsayılan kuralları şöyledir: Gelen yön, varsayılan güvenlik grubunda bulunan diğer bulut sunucularından gelen tüm trafiğe izin verir; giden yön ise her yere giden tüm trafiğe izin verir. Bu yapı, yeni bulut sunucularının varsayılan olarak iletişim kurabilmesi için kasıtlı olarak geniş izinlidir. Üretim ortamlarında, sıkılaştırılmış bir gelen kural kümesine sahip özel bir güvenlik grubu oluşturun ve yanlışlıkla açığa çıkmayı önlemek için bulut sunucularının varsayılan güvenlik grubuyla ilişkilerini kaldırın.
Anahtar Çiftleri: Nasıl Çalışır?
EC2 anahtar çiftleri, SSH kimlik doğrulaması için asimetrik şifreleme kullanır. AWS anahtar çiftini oluşturur (veya kendi açık anahtarınızı içe aktarırsınız): AWS açık anahtarı depolar ve başlatma sırasında bunu bulut sunucusuna ekler; siz ise özel anahtarı (.pem dosyası) indirip depolarsınız; AWS bunu asla depolamaz. SSH, parola iletmeden kimliğinizi sunucuya kanıtlamak için özel anahtarı kullanır. Özel anahtarın kısıtlayıcı izinlere sahip olması gerekir (chmod 400); aksi hâlde SSH onu kullanmayı reddeder.
# Create a key pair and save the private key
aws ec2 create-key-pair \
--key-name ProdKey \
--key-type rsa \
--key-format pem \
--query 'KeyMaterial' \
--output text > ProdKey.pem
chmod 400 ProdKey.pemAnahtar Çifti Olmadan Erişimi Kurtarma
Bir Linux EC2 bulut sunucusunun özel anahtarını kaybederseniz, geleneksel yöntemle SSH üzerinden bağlanamazsınız. Kurtarma seçenekleri şunlardır: Sistemler Yöneticisi Oturum Yöneticisi (SSM aracısı çalışıyorsa ve bir IAM rolü ekliyse anahtar gerekmez), EC2 Bulut Sunucusu Bağlantısı (tarayıcı veya CLI aracılığıyla geçici anahtar ekler; açık bir SSH bağlantı noktası ve EIC izinleri gerektirir) ya da bulut sunucusunu durdurmak, kök EBS birimini ayırmak, başka bir bulut sunucusuna bağlamak, authorized_keys dosyasını değiştirmek, yeniden bağlamak ve yeniden başlatmak. Windows için parolayı almak üzere Sistemler Yöneticisini kullanın.
# Connect using EC2 Instance Connect (temporary key injection)
aws ec2-instance-connect send-ssh-public-key \
--instance-id i-0abcdef1234567890 \
--instance-os-user ec2-user \
--ssh-public-key file://~/.ssh/id_rsa.pub
ssh -i ~/.ssh/id_rsa ec2-user@54.123.45.67En İyi Uygulama: SSH Erişimini Sınırlayın
SSH'yi (22. bağlantı noktası) 0.0.0.0/0 için açık bırakmak, bulut sunucunuzu internetteki her yerden kaba kuvvet ve kimlik bilgisi doldurma saldırılarına maruz bırakır. En iyi uygulamalar: SSH'yi belirli kurumsal IP aralığınızla sınırlayın veya sıkı denetlenen bir güvenlik grubuna sahip genel alt ağda bir atlama ana bilgisayarı kullanın; ardından atlama ana bilgisayarından özel bulut sunucularına SSH ile bağlanın. Daha da iyisi, SSH bağlantı noktası açığa çıkmasını tamamen ortadan kaldırmak için Sistemler Yöneticisi Oturum Yöneticisini kullanın; hiçbir gelen kurala gerek kalmaz.
# Example: restrict SSH to a corporate IP range
aws ec2 authorize-security-group-ingress \
--group-id sg-12345678 \
--protocol tcp \
--port 22 \
--cidr 198.51.100.0/24 # Your corporate CIDRGüvenlik Grubu Sınırları ve Kotaları
Güvenlik grupları için başlıca varsayılan sınırlar (Hizmet Kotaları aracılığıyla ayarlanabilir): VPC başına en fazla 2.500 güvenlik grubu, güvenlik grubu başına 60 gelen ve 60 giden kural ve ağ arabirimi başına 5 güvenlik grubu. Başka bir güvenlik grubuna kaynak olarak başvurulduğunda, başvurulan her güvenlik grubu-kural birleşimi bir kural sayılır. Kural sınırına ulaşırsanız, tek tek IP aralıkları yerine güvenlik grubu ID'lerine başvurarak kuralları birleştirin veya birden çok CIDR'yi yönetilebilir tek bir varlıkta gruplamak için önek listelerini kullanın.
Yönetilen Önek Listeleri
Yönetilen önek listesi, güvenlik grubu kurallarında veya yönlendirme tablolarında başvurabileceğiniz bir CIDR blokları kümesidir. AWS, S3 ve CloudFront gibi hizmetler için AWS tarafından yönetilen önek listelerini sürdürür; böylece IP aralıklarını kendiniz korumadan bu hizmetlere giden/gelen trafiğe izin verebilirsiniz (bu aralıklar zaman içinde değişir). Kurumsal IP aralıklarınızı gruplamak için müşteri tarafından yönetilen önek listeleri de oluşturabilirsiniz; önek listesini tek bir yerden güncellediğinizde, ona başvuran tüm güvenlik grupları değişikliği otomatik olarak devralır.
# Allow outbound HTTPS to Amazon S3 using the AWS-managed prefix list
aws ec2 authorize-security-group-egress \
--group-id sg-12345678 \
--ip-permissions '[{"IpProtocol":"tcp","FromPort":443,"ToPort":443,"PrefixListIds":[{"PrefixListId":"pl-63a5400a"}]}]'Hızlı Kontrol
Bu dersteki AWS Çözüm Mimarı (SAA-C03) kavramlarına ilişkin anlayışınızı sınayın.
Ders Özeti
Bu derste şunları öğrendiniz: güvenlik grupları, varsayılan olarak trafiği reddedip izin veren durum bilgili sanal güvenlik duvarlarıdır, güvenlik gruplarını ID ile zincirlemek, IP aralıklarını kullanmaktan daha güvenli ve esnektir ve anahtar çiftleri asimetrik SSH kimlik doğrulaması sağlarken Sistemler Yöneticisi Oturum Yöneticisi açık SSH bağlantı noktalarına duyulan gereksinimi ortadan kaldırır. Sırada EC2 depolama seçeneklerini ele alıyoruz: Instance Store ve EBS.
Sıkça Sorulan Sorular
“Güvenlik Grupları ve Anahtar Çiftleri” dersi ücretsiz mi?
Evet — “Güvenlik Grupları ve Anahtar Çiftleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
“Güvenlik Grupları ve Anahtar Çiftleri” dersinde ne öğreneceğim?
Güvenlik gruplarıyla gelen ve giden trafiği denetleyecek, EC2 anahtar çiftleriyle SSH kimlik doğrulamasını yöneteceksiniz. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Güvenlik Grupları ve Anahtar Çiftleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İlk EC2 Örneğinizi Başlatma
- Örnek Türleri ve Fiyatlandırma Modelleri
- Güvenlik Grupları ve Anahtar Çiftleri
- EC2 Depolaması: Instance Store ve EBS