ECS örneklerine doğrudan genel IP adresleri atamak yerine NAT ağ geçidi, SLB veya oturum yönetimi hizmetlerini kullanın.
Güvenlik riskleri
Bir EIP veya statik genel IP adresi gibi bir genel IP adresini doğrudan bir ECS örneğine atamak, saldırı yüzeyini genişletir ve aşağıdaki riskleri ortaya çıkarır:
Pasif tarama ve keşif: Açıkta kalan hizmet bağlantı noktaları tarayıcılar tarafından tespit edilir; bu durum DDoS saldırılarına veya ana bilgisayarı tehlikeye atabilecek uzak güvenlik açıklarının istismar edilmesine yol açar.
Güvenlik açığı bulunan bağlantı noktalarına yönelik saldırılar: Yanlış yapılandırılmış güvenlik grupları, SSH (bağlantı noktası 22), RDP (bağlantı noktası 3389) ve SMB (bağlantı noktası 445) gibi yönetim bağlantı noktalarının İnternet'e açık hale gelmesine neden olabilir. Bu bağlantı noktaları kaba kuvvet saldırılarına, parola tahminine ve kimlik bilgisi hırsızlığına karşı son derece savunmasızdır; bu da sunucuların ele geçirilmesine ve veri ihlallerine yol açar.
Yönetim karmaşıklığının artması: Her örnek için genel IP adreslerini ve erişim kontrol ilkelerini yönetmek, işletme ve bakım (O&M) karmaşıklığını artırır, yapılandırma hataları riskini yükseltir ve tek hata noktaları oluşturur.
Sınıflandırılmış koruma gereksinimlerine uyumsuzluk: MLPS 2.0 gibi standartlar, tüm genel ağ erişiminin güvenli, kontrol edilebilir ve denetlenebilir olmasını şart koşar. Örnekleri doğrudan açığa çıkarmak yerine genel ağ erişim kontrolünü merkezileştirmek için SLB, NAT ağ geçidi veya Bastionhost kullanın.
En iyi uygulamalar
Güvenlik gruplarını yapılandırın
Güvenlik grubu, ECS örnekleri için gelen ve giden trafiği kontrol eden sanal bir güvenlik duvarıdır. Doğru güvenlik grubu yapılandırması, ECS ağ savunmasının temelidir.
Temel ilke: En az ayrıcalık. Tüm gelen ve giden kurallar için en az ayrıcalık ilkesini uygulayın:
Yetkilendirme nesnelerini belirtin: Şirketinizin giden IP'si veya diğer cloud kaynaklarının özel IP adresleri gibi belirli IP adreslerini veya CIDR bloklarını kullanın. Hizmetin web hizmetleri (80/443 bağlantı noktaları) gibi herkese açık olması gerekmediği sürece 0.0.0.0/0 kullanımından kaçının.
Yetkili bağlantı noktalarını belirtin: Yalnızca gerekli bağlantı noktalarını açın. Uzaktan yönetim veya veritabanı bağlantı noktalarını asla İnternet'e açmayın.
Kötü örnek:
Bir kullanıcı bir ECS örneğine genel bir IP adresi bağladı ve güvenlik grubunda SSH (22) ve Redis (6379) için kaynak adresini 0.0.0.0/0 olarak ayarladı. Kök kullanıcının zayıf bir parolası vardı ve Redis'in parolası yoktu. 5 dakika içinde otomatik bir tarayıcı sunucuyu ele geçirdi ve verileri çaldı.
Bağlantı noktası 22'yi şirketin IP adresine ve bağlantı noktası 6379'u VPC dahili ağına kısıtlamak, zayıf parola olsa bile doğrudan İnternet üzerinden istismarı engellerdi.
Yaygın olarak güvenlik açığı bulunan bağlantı noktaları. Aşağıdaki bağlantı noktaları için her zaman kaynak IP adresi aralığını kısıtlayın:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ECS örneklerine güvenli şekilde bağlanın
SSH (bağlantı noktası 22) veya RDP (bağlantı noktası 3389) bağlantı noktalarını İnternet'e açmak, örnekleri kaba kuvvet saldırılarına karşı savunmasız bırakır. Bunun yerine aşağıdaki Alibaba Cloud O&M araçlarını kullanın.
|
|
|
|
|
|
|
|
|
|
|
|
Workbench ile bağlanın
Workbench tarayıcınızda güvenli bir kabuk veya RDP oturumu açar. Günlük yönetim için önerilir.
Nasıl çalışır: İstekler örneğe ulaşmadan önce Workbench hizmet kümesi üzerinden kimlik doğrulamasından geçer ve yönlendirilir. Güvenlik grubunun yalnızca yönetim bağlantı noktasında Workbench hizmet IP adresi aralığına izin vermesi gerekir; bu da saldırı yüzeyini en aza indirir.
-
Nasıl kullanılır:
Oturum yönetimi ile bağlanın
Oturum yönetimi esnek örnek yönetimi için sıfır bağlantı noktası açığa çıkarma sağlar.
Nasıl çalışır: Cloud Assistant Agent, Cloud Assistant hizmetine şifreli bir ters bağlantı kurar. Tüm O&M işlemleri bu tünel üzerinden geçtiği için örnek herhangi bir gelen bağlantı noktasında dinleme yapmaz.
-
Nasıl kullanılır:
Giden İnternet erişimini güvence altına alın
ECS örnekleri genellikle paket indirmek, sistemleri güncellemek veya üçüncü taraf API'leri çağırmak için giden İnternet erişimine ihtiyaç duyar.
NAT ağ geçidi kullanın
-
Nasıl çalışır:
Bir VPC içindeki ECS örneklerinde genel IP adresleri bulunmaz.
VPC rotaları tüm giden trafiği NAT ağ geçidine yönlendirir.
NAT ağ geçidi, istekleri İnternet'e göndermeden önce özel IP adreslerini kendi genel IP adresine çevirir.
-
Temel avantajlar:
Arka uç örneklerini gizleyin: İnternet'ten yalnızca NAT ağ geçidinin genel IP adresi görünür. Arka uç ECS örnekleri keşfedilemez veya doğrudan erişilemez.
Merkezi yönetim: Giden trafiği tek bir VPC giden noktası üzerinden yönetin.
Genel IP adreslerinden tasarruf edin: Birden fazla ECS örneği bir veya daha fazla genel IP adresini paylaşır.
Bkz. İnternet NAT ağ geçidinin SNAT özelliğini kullanarak İnternet'e erişim.
Giden güvenlik grubu kurallarını yapılandırın
Yalnızca giden erişim olsa bile, ele geçirilmiş bir örnek harici komuta ve kontrol (C&C) sunucularına bağlanabilir. Giden güvenlik grubu kuralları bu tür kötü amaçlı bağlantıları engeller.
Varsayılan reddetme ilkesi ayarlayın. En düşük öncelikte (örneğin 100) bir giden kuralı ekleyin: ilke "Reddet", hedef 0.0.0.0/0, bağlantı noktası aralığı tümü.
-
Gerekli Alibaba Cloud hizmetlerine izin verin. Temel Alibaba Cloud hizmet adresleri için yüksek öncelikli izin kuralları ekleyin. Örneğin:
Security Center Agent: 100.100.0.0/16, 106.11.0.0/16 ve diğerleri, 80/443 bağlantı noktalarında.
Cloud Assistant Agent: 100.100.100.200:80 ve her bölge için Cloud Assistant hizmet alan adları.
Alibaba Cloud yansı kaynağı/OSS/SLS: Bölgesel alan adlarını çözümleyin ve IP adreslerini ekleyin.
İş hedeflerine izin verin. Belirli bir alana (örneğin github.com) erişmek için
digveyanslookupile IP adreslerini çözümleyin ve bunları giden izin kurallarına ekleyin.
Gelen İnternet erişimini güvence altına alın
ECS örnekleri İnternet kullanıcılarına web siteleri, uygulama arka uçları veya API'ler sunduğunda, doğrudan genel IP adresleri bağlamaktan kaçının.
SLB kullanın
Bir ECS örneğine doğrudan genel bir IP adresi bağlamak, arka uç sunucusunu açığa çıkarır ve yüksek kullanılabilirlik sağlamaz. Üretim ortamlarında Application Load Balancer (ALB) veya Network Load Balancer (NLB) gibi Server Load Balancer (SLB) kullanın.
-
Nasıl çalışır:
Kullanıcı istekleri SLB genel uç noktasına ulaşır.
SLB, yönlendirme kurallarına ve sağlık kontrollerine dayanarak istekleri sağlıklı arka uç ECS örneklerine dağıtır.
Arka uç ECS örnekleri SLB ile yalnızca dahili ağ üzerinden iletişim kurar.
-
Temel avantajlar:
Arka uç sunucularını gizleyin: SLB örneği, kullanıcıya yönelik uç nokta olarak hizmet verir ve arka uç ECS örneklerinin IP adreslerini gizler.
Yüksek kullanılabilirlik: SLB, sağlıksız örnekleri otomatik olarak kaldırır ve yük devretme işlemi gerçekleştirir.
Yük dağıtımı: SLB, yatay ölçeklendirme için trafiği birden fazla ECS örneği arasında dağıtır.
Entegre güvenlik: Uygulama katmanı saldırılarına karşı korunmak için SLB'yi WAF ve diğer güvenlik ürünleriyle entegre edin.
Bkz. IPv4 hizmetleri için hızlı yük dengeleme uygulama.
Arka uç örnekleri için güvenlik gruplarını yapılandırın
Arka uç ECS örneklerinin güvenlik gruplarını aşağıdaki gibi yapılandırın:
Gelen kurallarda, 80/443 gibi hizmet bağlantı noktalarına SLB hizmet IP adresi aralığından gelen trafiğe izin verin.
Diğer tüm kaynak IP adreslerini reddedin.
Yerel erişim için Cloud Assistant bağlantı noktası yönlendirmesini kullanın
Ağ kalitesi gereksinimlerinin düşük olduğu ve genel bant genişliği maliyetlerinden kaçınılması gereken, özel ağ erişimi olan veya geçici denemeler yapılan küçük sayıda ECS örneği için Cloud Assistant bağlantı noktası yönlendirmesini kullanın. Tam bir güvenlik savunma sistemi kurulmadan önce küçük ölçekli testler veya uzak hizmet çağrıları için uygundur.
Örnek: Yerel makineden bir ECS örneğindeki PostgreSQL hizmetine erişim
Bir ECS örneğindeki PostgreSQL hizmeti 5432 bağlantı noktasında dinleme yapar. Genel bir IP adresi bağlamadan veya güvenlik grubunda 5432 numaralı bağlantı noktasını açmadan buna yerel olarak erişebilirsiniz.
Oturum yönetimi CLI aracılığıyla bağlantı noktası yönlendirme uzak bir bağlantı noktasını (örneğin 5432) yerel bir bağlantı noktasına (örneğin 8080) eşler. 127.0.0.1:8080 adresine yönelik trafik, şifreli bir Cloud Assistant kanalı üzerinden ECS örneğine yönlendirilir.
-
Hedef ECS örneğinin
5432bağlantı noktasını yerel makinenizdeki8080bağlantı noktasına eşleyin:ali-instance-cli.exe portforward -i <instance_id> -r <target_port> -l <local_port>instance_id: Örneğin ID'si.target_port: Hedef örneğin bağlantı noktası.local_port: Yerel bağlantı noktası. -
pgAdmin'i başlatın ve
127.0.0.1:8080adresine bağlanın. İstekler, Cloud Assistant kanalı üzerinden ECS örneğindeki5432bağlantı noktasına yönlendirilir.
Uyumluluk yetenekleri
Kontrol etme
Genel IP adresine sahip ECS örneklerini sorgulama
Security Center konsoluna gidin.
-
Sol gezinme bölmesinde seçeneğini belirleyin. Cloud Product Configuration Risk sekmesinde Use SSH key pairs for logon öğesini bulun ve Operation sütununda Scan seçeneğine tıklayın.
Başarısız durumu, anahtar çifti kimlik doğrulaması kullanmayan Linux örneklerini gösterir. Bunları görüntülemek için Details seçeneğine tıklayın.
Güvenlik açığı bulunan bağlantı noktaları açıkta olan güvenlik gruplarını kontrol etme
ECS Insight sayfasına gidin.
Security sekmesinde, güvenlik açığı bulunan bağlantı noktalarına kısıtlamasız erişimi olan örnekleri görüntülemek için Unrestricted Access to Specific Security Group Ports seçeneğine tıklayın.
Engelleme
ECS örneklerine genel IP adresleri bağlamayı yasaklama
-
Kurumsal kullanıcılar için:
-
Resource Directory konsoluna giriş yapın. Sol gezinme bölmesinde Control Policies seçeneğine tıklayın. Aşağıdaki JSON içeriğiyle özel bir ilke oluşturun.
{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": [ "ecs:RunInstances", "ecs:CreateInstance", "ecs:ModifyInstanceSpec", "ecs:ModifyInstanceNetworkSpec" ], "Resource": "*", "Condition": { "Bool": { "ecs:AssociatePublicIpAddress": [ "true" ] } } }, { "Effect": "Deny", "Action": [ "vpc:AllocateEipAddress", "vpc:AllocateEipAddressPro", "vpc:AllocateEipSegmentAddress", "eipanycast:AllocateAnycastEipAddress" ], "Resource": "*" } ] } İlkeyi uygun resource directory düğümüne ekleyin. İlke, bu düğüm altındaki tüm hesaplar için belirtilen işlemleri engeller.
-
-
Kurumsal olmayan kullanıcılar için:
RAM konsoluna giriş yapın. Sol gezinme bölmesinde Permission Policy seçeneğine tıklayın ve aynı içerikle özel bir ilke oluşturun.
İlkeyi bir RAM kullanıcısına, RAM kullanıcı grubuna veya RAM rolüne atamak için erişim ilkesi yetkilendirme yönetimini kullanın.
Herhangi bir adresten güvenlik açığı bulunan bağlantı noktalarına erişimi kısıtlama
-
Kurumsal kullanıcılar için:
-
Resource Directory konsoluna giriş yapın. Sol gezinme bölmesinde Control Policies seçeneğine tıklayın. Aşağıdaki JSON içeriğiyle özel bir ilke oluşturun.
{ "Version": "1", "Statement": [ { "Effect": "Deny", # Deny "Action": [ "ecs:AuthorizeSecurityGroup", # Add an inbound security group rule "ecs:ConfigureSecurityGroupPermissions", # Add or modify security group rules "ecs:ModifySecurityGroupRule" # Modify a security group rule ], "Resource": "acs:ecs:*:*:securitygroup/*", # For all security groups "Condition": { "StringEquals": { "ecs:SecurityGroupSourceCidrIps": [ # Source IP for access "0.0.0.0/0", "::/0" ] }, "ForAllValue:StringEquals": { "ecs:SecurityGroupPort" : [ # Includes the following destination port numbers "22", "3389", "445" ] } } } ] } İlkeyi uygun resource directory düğümüne ekleyin. İlke, bu düğüm altındaki tüm hesaplar için belirtilen işlemleri engeller.
-
-
Kurumsal olmayan kullanıcılar için:
RAM konsoluna giriş yapın. Sol gezinme bölmesinde Permission Policy seçeneğine tıklayın ve aynı içerikle özel bir ilke oluşturun.
İlkeyi bir RAM kullanıcısına, RAM kullanıcı grubuna veya RAM rolüne atamak için erişim ilkesi yetkilendirme yönetimini kullanın.
Düzeltme
Statik genel IP adresini ayırın: Otomatik olarak serbest bırakmak için bant genişliğini 0 Mbps olarak ayarlayın. Bkz. Abonelik örneğinin bant genişliğini değiştirme ve Kullandıkça öde örneğinin bant genişliğini değiştirme.
EIP'yi ayırın: Bkz. EIP'yi bir ECS örneğinden ayırma.