OpenStack ağ servislerini güvenli hale getirmek

Bu bölüm OpenStack kurulumunuzdaki proje ağ güvenliği için geçerli olan OpenStack Ağ yapılandırmasının en iyi uygulamalarını ele almaktadır.

Proje ağ servisi iş akışı

OpenStack Ağ, kullanıcılara ağ kaynaklarının ve yapılandırmalarının kendi kendine servis sunmaktadır. Bulut mimarlarının ve operatörlerinin, kullanıcılara mevcut ağ kaynaklarını oluşturma, güncelleme ve yok etme yeteneği kazandırmada tasarım kullanma durumlarını değerlendirmeleri önemlidir.

Ağ kaynak ilkesi motoru

OpenStack Ağında bir ilke motoru ve yapılandırma dosyası olan policy.json, proje ağları yöntemleri ve nesneleri üzerinde kullanıcıların daha hassas bir şekilde yetkilendirilmesini sağlamak için bir yöntem sağlar. OpenStack Ağ ilkesi tanımları, ağ kullanılabilirliği, ağ güvenliği ve genel OpenStack güvenliğini etkiler. Bulut mimarları ve operatörleri, kullanıcılara yönelik politika ve ağ kaynaklarının yönetimine proje erişimi açısından dikkatle değerlendirme yapmalıdır. OpenStack Ağ ilkesi tanımının daha ayrıntılı bir açıklaması için lütfen OpenStack Yönetici Kılavuzu’ndaki Kimlik doğrulama ve yetkilendirme bölümü sayfasına bakın.

Not

Varsayılan ağ kaynak ilkesini gözden geçirmeniz önemlidir, çünkü bu ilke güvenlik durumunuza göre değiştirilebilir.

OpenStack’ın dağıtımınız farklı güvenlik alanlarına birden fazla harici erişim noktası sağlıyorsa, projenin birden fazla vNIC’yi birden fazla harici erişim noktasına bağlama yeteneğini sınırlamanız önemlidir - bu güvenlik alanlarını köprülemekte ve öngörülemeyen güvenlik zorluğuna neden olabilmektedir. OpenStack Hesaplama tarafından sağlanan sunucu toplamaları işlevini kullanarak veya proje sanal makine birimlerini farklı sanal ağ yapılandırmalarına sahip birden çok proje projesine bölerek bu riski azaltmak mümkündür.

Güvenlik Grupları

OpenStack Ağ Servisi, OpenStack Hesaplama’da yerleşik güvenlik grubu yeteneklerinden daha esnek ve güçlü bir mekanizma kullanarak güvenlik grubu işlevselliğini sağlar. Bu nedenle, nova.conf, yerleşik güvenlik gruplarını daima devre dışı bırakmalı ve OpenStack Ağ’ı kullanırken tüm güvenlik grubu çağrılarını OpenStack Ağ API’sine yönlendirmelidir. Bunun yapılmaması, çakışan güvenlik politikalarının her iki servis tarafından aynı anda uygulanmasına neden olur. Güvenlik gruplarını OpenStack Ağ’a yönlendirmek için aşağıdaki yapılandırma değerlerini kullanın:

  • firewall_driver, nova.virt.firewall.NoopFirewallDriver olarak ayarlanmalıdır, böylece nova-compute iptables tabanlı filtrelemeyi kendisi gerçekleştirmez.

  • security_group_api, neutron olarak ayarlanmalıdır, böylece tüm güvenlik grubu istekleri OpenStack Ağ servisine yönlendirilir.

Güvenlik grubu, güvenlik grubu kuralları için bir kapsayıcıdır. Güvenlik grupları ve kuralları, yöneticilere ve projelere sanal bir arabirim bağlantı noktasından geçmesine izin verilen trafik ve yön türünü (giriş/çıkış) belirtme olanağı sağlar. OpenStack Ağında bir sanal arabirim bağlantı noktası oluşturulduğunda, bir güvenlik grubu ile ilişkilendirilir. Port güvenlik gruplarının varsayılan davranışları hakkında daha ayrıntılı bilgi için, Ağ Güvenlik Grubu Davranışı belgelerine bakın. Davranışları bir dağıtım temelinde değiştirmek için kurallar varsayılan güvenlik grubuna eklenebilir.

Güvenlik gruplarını değiştirmek için OpenStack Hesaplama API’yi kullanırken, güncellenmiş güvenlik grubu, bir örnekteki tüm sanal arabirim portlarına uygulanır. Bunun nedeni, OpenStack Ağında bulunan OpenStack Hesaplama güvenlik grubu API’larının port tabanlı değil örnek tabanlı olmasıdır.

Kotalar

Kotalar, projeler için mevcut ağ kaynaklarının sayısını sınırlama olanağı sağlar. Tüm projeler için varsayılan kotaları zorlayabilirsiniz. /etc/neutron/neutron.conf, kota için şu seçenekleri içerir:

[QUOTAS]
# resource name(s) that are supported in quota features
quota_items = network,subnet,port

# default number of resource allowed per tenant, minus for unlimited
#default_quota = -1

# number of networks allowed per tenant, and minus means unlimited
quota_network = 10

# number of subnets allowed per tenant, and minus means unlimited
quota_subnet = 10

# number of ports allowed per tenant, and minus means unlimited
quota_port = 50

# number of security groups allowed per tenant, and minus means unlimited
quota_security_group = 10

# number of security group rules allowed per tenant, and minus means unlimited
quota_security_group_rule = 100

# default driver to use for quota checks
quota_driver = neutron.quota.ConfDriver

OpenStack Ağ, kota genişletme API’si aracılığıyla proje başına kota sınırını da desteklemektedir. Proje başına kotaları etkinleştirmek için, neutron.conf dosyasındaki quota_driver seçeneğini ayarlamanız gerekir.

quota_driver = neutron.db.quota.driver.DbQuotaDriver

ARP aldatmayı azaltmak

Düz ağ kullanırken, aynı katman 2 şebekesini (veya yayın alanını) paylaşan projelerin birbirlerinden tamamen bağımsız olduğunu varsayamazsınız. Bu projeler, ARP sızdırma durumuna karşı savunmasız olabilir ve insan-içi saldırı olasılığını riske atabilir.

Open vSwitch’in ARP alan eşlemesini destekleyen bir sürümünü kullanıyorsanız, Open vSwitch aracı için prevent_arp_spoofing seçeneğini etkinleştirerek bu riski azaltabilirsiniz. Bu seçenek, örneklerin spoof saldırıları gerçekleştirmesini önler; onları parodi saldırılarından korumaz. Ocata’da bu ayarın kalıcı olarak aktif hale gelmesiyle birlikte kaldırılması bekleniyor.

Örneğin, /etc/neutron/plugins/ml2/openvswitch_agent.ini dosyasında:

prevent_arp_spoofing = True

Açık vSwitch dışındaki eklentiler de benzer azaltma önlemlerini içerebilir; uygunsa, bu özelliği etkinleştirmeniz önerilir.

Not

prevent_arp_spoofing özelliği etkinleştirilse bile, düz ağlar, tüm proje trafiği hala aynı VLAN’a gönderildiğinden, tam bir proje izolasyonu seviyesi sağlamaz.