Birden fazla EC2 güvenlik grubu - izinli veya kısıtlayıcı?


27

Bir örneğe birden fazla güvenlik grubu atarsam ne olur? Güvenlik gruplarından herhangi birinin izin vermesi durumunda, trafiğe izin verilmesi anlamında izin verilebilir mi? VEYA her güvenlik grubunun içeri girmesi için trafiğe izin vermesi gerektiği konusunda kısıtlayıcı mı?

Örneğin, aynı hesaptaki diğer örneklerle yalnızca konuşacak bir örnek sınıfım olduğunu varsayalım. Ayrıca yalnızca HTTP üzerinden trafiği kabul edecek bir örnek sınıfım var (bağlantı noktası 80).

İki güvenlik grubu oluşturarak ve uygulayarak iç örneklere ve yalnızca HTTP üzerinden erişimi kısıtlamak mümkün mü:

  1. Bir "iç" güvenlik grubu. Tüm aktarımlar için tüm bağlantı noktalarında bu güvenlik grubunun diğer üyelerinden gelen tüm trafiğe izin verin (TCP, UDP, ICMP)
  2. Bir "http" güvenlik grubu oluşturun. Herhangi bir kaynaktan TCP yoluyla bağlantı noktası 80'e tüm trafiğe izin verin.

VEYA kaynağın kendisi olduğu 80 numaralı bağlantı noktasından gelen trafiğe izin veren tek bir güvenlik grubu oluşturmak zorunda mıyım?

Yanıtlar:


5

Bir örnekte birden fazla güvenlik grubu varsa, çeşitli gruplardaki tüm kuralların toplamına sahiptir.

Örneğin, aynı hesaptaki diğer örneklerle yalnızca konuşacak bir örnek sınıfım olduğunu varsayalım. Ayrıca, yalnızca http (port 80) aracılığıyla trafiği kabul edecek bir örnek sınıfım da var.

Bu, AWS Sanal Özel Bulut için mükemmel bir durumdur. Dahili örnekleri özel alt ağlara ve halka açık örnekleri genel alt ağlara yerleştirin.


ceejayoz - Yani "kısıtlayıcı" durum? İki güvenlik grubu çözümü işe yarayacak mı? VPC çözümü hakkında anlaştılar; benim örneğim birden fazla grubun nasıl çalıştığını anlamaktı. Bu arada cevabı nerede buldun?
SFun28

Bir iç güvenlik grubu için bir güvenlik grubu ve diğer kamuya açık örnekler için bir güvenlik grubu istiyorsunuz. Kamuya açık olan 80: 0.0.0.0/0 grubunu iç örneklere eklemek, onları kamuya açık hale getirecektir.
ceejayoz

1
Sadece çok net olmak gerekirse, bireysel güvenlik gruplarından herhangi birinin izin vermesi durumunda trafiğe izin verildiğini mi söylüyorsunuz? "Tüm kuralların toplamı" hakkındaki yorumunuzdan dolayı atıldım, çünkü toplamı düşündüğümde VEYA yerine VE'yi düşünüyorum.
SFun28

2
Evet, bir örneğe uygulanan gruplardan herhangi biri izin veriyorsa, buna izin verilir. Grup kuralları birlikte ORed, ANDed değil.
ceejayoz

7
Neden insanlar ne yapılması gerektiği konusundaki fikirlerini eklemek yerine sadece sorulan soruyu cevaplayamıyorlar. Bunu yapacaksanız, en azından ilk önce soruyu doğru cevaplayın. Jeez
Bill Rosmus

28

Permissive.

Burada AWS'ye göre: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-rules

Belirli bir liman için birden fazla kural varsa, en izin verilen kuralı uygularız. Örneğin, IP adresi 203.0.113.1'den TCP bağlantı noktası 22'ye (SSH) erişime izin veren bir kuralınız ve herkesten TCP bağlantı noktası 22'ye erişime izin veren başka bir kuralınız varsa, herkesin TCP bağlantı noktası 22'ye erişimi vardır.


3

İşte AWS dokümantasyon desteğinin cevabı. Dokümanları güncelleyeceklerini söylediler:

Bir veya daha fazla güvenlik grubunda birbiriyle çelişen kurallarla benzer sorunları ele alan birkaç tartışma forumu buldum:

https://forums.aws.amazon.com/thread.jspa?messageID=221768

https://forums.aws.amazon.com/thread.jspa?messageID=349244吼

Bir örneğe birden fazla güvenlik grubu uygulandığında, kurallar büyük bir kural kümesi oluşturmak için toplanır. EC2'de, güvenlik grubu kurallarına yalnızca izin verilir, başka bir deyişle DENY kurallarını ekleyemezsiniz. Bunun anlamı, en izin verilen kuralın her zaman geçerli olacağıdır. Örneğin, 10.10.10.10 numaralı IP adresinden 22 numaralı bağlantı noktasına erişime izin veren bir güvenlik grubunuz ve herkesten 22 numaralı bağlantı noktasına erişime izin veren başka bir güvenlik grubunuz varsa, herkes bu örnekte 22 numaralı bağlantı noktasına erişebilir.


0

Bir kural için kaynak veya hedef olarak bir güvenlik grubu belirttiğinizde, kural güvenlik grubuyla ilişkili tüm örnekleri etkiler. Kaynak güvenlik grubuyla ilişkili örneklerin özel IP adreslerine (genel IP veya Elastik IP adreslerine değil) dayalı olarak gelen trafiğe izin verilir. IP adresleri hakkında daha fazla bilgi için, bkz. Amazon EC2 Örneği IP Adresleme. Güvenlik grubu kuralınız eş VPC'deki bir güvenlik grubuna başvuruyorsa ve başvurulan güvenlik grubu veya VPC eşleştirme bağlantısı silinirse, kural eski olarak işaretlenir. Daha fazla bilgi için, bkz. Amazon VPC Eşleştirme Kılavuzunda Eski Güvenlik Grubu Kuralları ile Çalışma.

Belirli bir liman için birden fazla kural varsa, en izin verilen kuralı uygularız. Örneğin, IP adresi 203.0.113.1'den TCP bağlantı noktası 22'ye (SSH) erişime izin veren bir kuralınız ve herkesten TCP bağlantı noktası 22'ye erişime izin veren başka bir kuralınız varsa, herkesin TCP bağlantı noktası 22'ye erişimi vardır.

Birden fazla güvenlik grubunu bir örnekle ilişkilendirdiğinizde, her bir güvenlik grubunun kuralları bir kural kümesi oluşturmak için etkin bir şekilde toplanır. Erişime izin verilip verilmeyeceğini belirlemek için bu kural kümesini kullanırız.

Dikkat Bir örneğe birden fazla güvenlik grubu atayabileceğiniz için, bir örneğin geçerli olan yüzlerce kuralı olabilir. Bu, örneğe eriştiğinizde sorunlara neden olabilir. Bu nedenle, kurallarınızı mümkün olduğunca sıkılaştırmanızı tavsiye ederiz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.