Hipervizör seçimi

OpenStack’te Hipervizörler

OpenStack, ister özel veri merkezlerinde, isterse bir genel bulut hizmeti olarak dağıtılan olsun, temel sanallaştırma teknolojisi ölçeklenebilirlik, kaynak verimliliği ve çalışma süresi alanlarında kurumsal düzeyde yetenekler sunar. Bu tür üst düzey faydalar genelde birçok OpenStack destekli hipervizör teknolojisinde bulunurken, özellikle de esnek OpenStack ortamlarına özgü güvenlik tehdit vektörleri göz önüne alındığında, her bir üst düzey yönetici için güvenlik mimarisinde ve özelliklerinde önemli farklılıklar vardır. Uygulamalar tek bir dönem halinde birleştirildiğinde: “Hizmet Olarak Altyapı (IaaS)” platformları, hipervizör seviyesindeki örnek izolasyonu çok önemli hale gelir. Güvenli tecrit şartı ticari, hükümet ve askeri topluluklarda geçerlidir.

Bulut ortamınızı optimize etmek için OpenStack çatısında birçok hipervizör platformundan ve bunlara karşılık gelen OpenStack eklentilerinden birini seçebilirsiniz. Bu kılavuz bağlamında, güvenlik açısından kritik olan özellik kümeleri ile ilgili oldukları için, denetimci seçimi ile ilgili önemli hususlar vurgulanır. Bununla birlikte, bu düşüncelerin belirli denetleyicilerin artıları ve eksileri üzerinde kapsamlı bir araştırma yapılması gerekmiyor. NIST, Özel Yayın 800-125, “* Tam Sanallaştırma Teknolojileri için Güvenlik Kılavuzu*” nda ek rehberlik sağlar.

Seçim kriteri

Hipervizör seçim sürecinizin bir parçası olarak, güvenlik durumunuzu artırmanıza yardımcı olması için bir dizi önemli faktörü düşünmelisiniz. Özellikle, bu alanlarla aşina olmalısınız:

  • Takım uzmanlığı

  • Ürün ya da proje olgunluğu

  • Yaygın kıstaslar

  • Sertifikalar ve onaylamalar

  • Donanım endişeleri

  • Hipervizör mü düz mü

  • Ek güvenlik özellikleri

Ayrıca, aşağıdaki güvenlikle ilgili ölçütlerin, OpenStack dağıtımları için bir hypervisor seçerken değerlendirilmesi cesaretlendirilir: * Hypervisor, Yaygın Kıstas sertifikasına girdi mi? Eğer öyleyse, hangi seviyelere kadar? * Altta yatan kriptografi bir üçüncü şahıs tarafından onaylandı mı?

Takım uzmanlığı

Büyük olasılıkla, hipervizör seçiminde en önemli husus, personelinizin belirli bir hipervizör platformunu yönetme ve yönetme konusundaki uzmanlığıdır. Ekibinizin belli bir ürün, yapılandırma ve dışmerkezlikleri ile daha fazla tanıdıkça, yapılandırma hataları o kadar az olur. Ek olarak, belirli bir hipervizör üzerinde bir organizasyona yayılmış personel uzmanlığına sahip olmak, sistemlerinizin kullanılabilirliğini artırır, görevlerin ayrımlaşmasını sağlar ve bir ekip üyesinin kullanılamaması durumunda sorunları azaltır.

Ürün ya da proje olgunluğu

Belirli bir hipervizör ürününün veya projenin olgunluğu güvenlik durumunuz için de kritik önem taşır. Bulutunuzu yayına aldıktan sonra ürün olgunluğunun bir takım etkileri vardır:

  • Uzmanlığın mevcutluğu

  • Etkin geliştirici ve kullanıcı kitlesi

  • Güncellemelerin zamanlaması ve kullanılabilirliği

  • Olay yanıtı

Bir hipervizörün olgunluğunun en büyük göstergelerinden biri, onu çevreleyen topluluğun boyut ve canlılığıdır. Bu güvenlikle ilgiliyken topluluğun kalitesi, ek bulut operatörlerine gereksinim duyarsanız, uzmanlığın kullanılabilirliğini etkiler. Aynı zamanda, hipervizörün ne kadar yaygın olarak konuşlandırıldığının bir işaretidir, bu da referans mimarilerinin ve en iyi uygulamaların savaşa hazır hale gelmesine neden olur.

Dahası, topluluğun kalitesi, KVM veya Xen gibi açık kaynak kodlu bir üst düzey denetleyiciyi çevrelediğinden, hata düzeltmelerinin ve güvenlik güncellemelerinin geçerliliğini doğrudan etkilemektedir. Hem ticari hem de açık kaynaklı üst düzey denetleyicileri araştırırken, bir hata bildirimi veya güvenlik sorunu ile bir düzeltme eki veya yanıt arasındaki zaman deltasının yanı sıra sürüm ve destek döngülerine de bakmanız gerekir. Son olarak, OpenStack hesaplamasının desteklenen özellikleri, seçilen üst yöneticiye bağlı olarak değişir. Hipervizör tarafından OpenStack hesaplama özelliği desteği için OpenStack Hipervizör Destek Matrisi’ne <https://wiki.openstack.org/wiki/HypervisorSupportMatrix> _ bakın.

Sertifikalar ve onaylamalar

Bir hipervizör seçerken ek bir düşünce, çeşitli resmi sertifikaların ve tasdiklerin bulunmasıdır. Organizasyonunuz için şartlar olmasa da, bu sertifikalar ve teyitler, belirli bir hipervizör platformunun testinin vade, üretim hazırlığı ve kapsamlılığıyla ilgilidir.

Yaygın kıstaslar

Ortak Ölçütler, hükümetler ve ticari şirketler tarafından yazılım teknolojilerinin reklamını yaptığını doğrulamak için kullanılan, uluslararası düzeyde standartlaştırılmış bir yazılım değerlendirme sürecidir. Devlet sektöründe NSTISSP No. 11, ABD Devlet kurumlarının yalnızca Temmuz 2002’den beri yürürlükte olan bir politika olan Ortak Ölçütler sertifikalı bir yazılım tedarik etmesini zorunlu kılar.

Not

OpenStack, Yaygın Kıstas sertifikasına girmedi, ancak kullanılabilir hipervizörlerin birçoğu var.

Bir teknolojilerin yeteneklerini doğrulamaya ek olarak, Yaygın Kıstas süreci, teknolojilerin nasıl geliştirildiğini değerlendirir.

  • Kaynak kodu yönetimi nasıl gerçekleştirilir?

  • Kullanıcıların inşa sistemlerine izni nasıl sağlanır?

  • Teknoloji, dağıtımdan önce kriptografik olarak imzalanıyor mu?

KVM hipervizör, ABD Hükümeti ve ticari dağıtımları aracılığıyla Yaygın Kriter sertifikasına sahiptir. Bunlar, sanal makinelerin çalışma zamanı ortamını birbirinden ayırmak, örnek izolasyonunu zorunlu kılmak için temel teknolojiyi sağlamak için doğrulandı. Sanal makine izolasyonuna ek olarak, KVM, Yaygın Kriter sertifikasına sahiptir …:

"...provide system-inherent separation mechanisms to the resources of virtual
machines. This separation ensures that large software component used for
virtualizing and simulating devices executing for each virtual machine
cannot interfere with each other. Using the SELinux multi-category
mechanism, the virtualization and simulation software instances are
isolated. The virtual machine management framework configures SELinux
multi-category settings transparently to the administrator."

Red Hat, Microsoft ve VMware gibi birçok üst düzey yönetici satıcısı, Yaygın Kriter Sertifikasını elde ettiyse de, altta bulunan sertifikalı özellik kümesi farklıdır; Satıcı taleplerini, aşağıdaki gereksinimleri en azından karşılamak için değerlendirmelerini öneririz:

Tanımlama ve Kimlik Doğrulama

Kullanıcı parolalarına dayanan takılabilir kimlik doğrulama modülleri (PAM) kullanarak tanımlama ve kimlik doğrulama. Kullanılan parolaların kalitesi yapılandırma seçenekleri aracılığıyla uygulanabilir.

Denetim

Sistem, bireysel sistem çağrıları ve güvenilir süreçler tarafından üretilen olaylar da dahil olmak üzere çok sayıda olayı denetleme olanağı sağlar. Denetim verileri normal dosyalarda ASCII formatında toplanır. Sistem, denetim kayıtlarını aramak amacıyla bir program sunmaktadır. Sistem yöneticisi, denetimi ilgilendikleri olaylarla sınırlamak için bir kural tabanını tanımlayabilir. Bu, denetlemeyi belirli olaylara, belirli kullanıcılara, belirli nesneler veya bunların hepsinin bir birleşimi ile sınırlama becerisini içerir. Denetim kayıtları uzaktan denetim masasına aktarılabilir.

İsteğe Bağlı Erişim Kontrolü

Discretionary Access Control (DAC) restricts access to file system objects based on ACL that include the standard UNIX permissions for user, groups, and others. Access control mechanisms also protect IPC objects from unauthorized access. The system includes the ext4 file system, which supports POSIX ACLs. This allows defining access rights to files within this type of file system down to the granularity of a single user.

Zorunlu Erişim Kontrolü

Zorunlu Erişim Kontrolü (MAC), nesnelere ve nesnelere atanmış etiketler temelinde erişimi sınırlar. Duyarlılık etiketleri, süreçlere ve nesnelere otomatik olarak eklenir. Bu etiketleri kullanarak uygulanan erişim kontrolü politikası :term:`”Bell-LaPadula modeli`nden türetilmiştir. SELinux kategorileri sanal makinelere ve kaynaklarına bağlıdır. Bu kategorileri kullanarak uygulanan erişim denetimi ilkesi, sanal makinenin kategorisi erişilen kaynak kategorisine eşitse, sanal makinelere kaynaklara erişim hakkı verir. TOE, sanal makinelere erişimi kontrol etmek için hiyerarşik olmayan kategoriler uygular.

Rol-Tabanlı Erişim Kontrolü

Rol tabanlı erişim kontrolü (RBAC), güçlü bir sistem yöneticisine olan ihtiyacı ortadan kaldırmak için rollerin ayrılmasına izin verir.

Nesne Yeniden Kullanımı

Dosya sistemi nesneleri, bellek ve IPC nesneleri, farklı bir kullanıcıya ait bir işlem tarafından kullanılmadan önce temizlenir.

Güvenlik Yönetimi

Sistemin güvenlik kritik parametrelerinin yönetimi idari kullanıcılar tarafından gerçekleştirilir. Sistem yönetimi için kök ayrıcalıkları (veya RBAC kullanıldığında belirli roller) gerektiren bir dizi komut kullanılır. Güvenlik parametreleri, sistemin erişim kontrol mekanizmaları tarafından, yönetimsel kullanıcılar olmayan kullanıcılar tarafından yetkisiz erişime karşı korunan belirli dosyalarda saklanır.

Güvenli İletişim

Sistem, SSH’yi kullanarak güvenilir kanalların tanımını desteklemektedir. Parola tabanlı kimlik doğrulama desteklenmektedir. Değerlendirilen yapılandırmada bu protokoller için sınırlı sayıda şifreleme grubu desteklenmektedir.

Depolama Şifreleme

Sistem, dm_crypt yoluyla depolama gizliliği sağlamak için şifreli blok aygıtlarını desteklemektedir.

TSF Koruma

Operasyon sırasında, çekirdek yazılımı ve verileri donanım belleği koruma mekanizmaları tarafından korunmaktadır. Çekirdeğin bellek ve süreç yönetimi bileşenleri, bir kullanıcı işleminin çekirdek depolama birimine veya diğer işlemlere ait depolama alanına erişememesini sağlar. Çekirdeksiz TSF yazılımı ve verileri, DAC ve süreç yalıtım mekanizmaları tarafından korunmaktadır. Değerlendirilen yapılandırmada, ayrılmış kullanıcı kimliği kökü, TSF yapılandırmasını tanımlayan dizinleri ve dosyaları bulundurur. Genel olarak, yapılandırma dosyaları ve toplu iş kuyrukları gibi dahili TSF verilerini içeren dosyalar ve dizinler, DAC izinleri tarafından okunmaya karşı korunmaktadır. Sistem ve donanım ve bellenim bileşenleri, yetkisiz erişimden fiziksel olarak korunmalıdır. Sistem çekirdeği, programın görülebilen CPU yönerge işlevleri dışındaki tüm donanım mekanizmalarına kendilerinin erişimine aracılık eder. Buna ek olarak, yığın taşma saldırılarına karşı koruma mekanizmaları sağlanmaktadır.

Kriptografi standartları

OpenStack içinde tanımlama ve yetkilendirme, veri aktarımı ve duran verilerinin korunması için birçok şifreleme algoritması bulunmaktadır. Bir hipervizör seçerken aşağıdaki algoritmaları ve uygulama standartlarını öneriyoruz:

Algoritma

Anahtar uzunluğu

Hedeflenen amaç

Güvenlik fonksiyonu

Uygulama standartı

AES

128, 192 ya da 256 bit

Şifreleme / çözme

Korumalı veri aktarımı, duran veri için koruma

RFC 4253

TDES

168 bit

Şifreleme / çözme

Korumalı veri aktarımı

RFC 4253

RSA

1024, 2048, ya da 3072 bit

Kimlik doğrulama, anahtar değişimi

Tanımlama ve kimlik doğrulama, korumalı veri aktarımı

U.S. NIST FIPS PUB 186-3

DSA

L=1024, N=160 bit

Kimlik doğrulama, anahtar değişimi

Tanımlama ve kimlik doğrulama, korumalı veri aktarımı

U.S. NIST FIPS PUB 186-3

Serpent

128, 192 ya da 256 bit

Şifreleme / çözme

Duran verinin korunması

http://www.cl.cam.ac.uk/~rja14/Papers/serpent.pdf

Twofish

128, 192, ya da 256 bit

Şifreleme / çözme

Duran verinin korunması

https://www.schneier.com/paper-twofish-paper.html

SHA-1

İleti Özeti

Duran veri için koruma, korumalı veri aktarımı

U.S. NIST FIPS PUB 180-3

SHA-2 (224, 256, 384, ya da 512 bit)

İleti Özeti

Duran veri koruması, tanımlama ve kimlik doğrulama

U.S. NIST FIPS PUB 180-3

FIPS 140-2

Amerika Birleşik Devletleri’nde, Ulusal Bilim ve Teknoloji Enstitüsü (NIST), Kriptografik Modül Doğrulama Programı ile bilinen bir süreç aracılığıyla şifreleme algoritmalarını onaylamaktadır. NIST, Federal Bilgi İşlem Standardı 140-2’ye (FIPS 140-2) karşı uygunluk algoritmalarını onaylar ve aşağıdakileri sağlar…:

"... Products validated as conforming to FIPS 140-2 are accepted by the Federal
agencies of both countries [United States and Canada] for the protection of
sensitive information (United States) or Designated Information (Canada).
The goal of the CMVP is to promote the use of validated cryptographic
modules and provide Federal agencies with a security metric to use in
procuring equipment containing validated cryptographic modules."

Temel hipervizör teknolojilerini değerlendirirken, hipervizörün FIPS 140-2’ye karşı sertifikalı olup olmadığını değerlendirin. ABD Hükümeti politikasına göre FIPS 140-2’ye uyma sadece formal kanıtlama, bir şifreleme algoritmasının verilen bir uygulamanın modül belirtimi, kriptografik modül bağlantı noktaları ve arabirimlerine uygunluk açısından gözden geçirildiğini gösterir; roller, servisler ve kimlik doğrulama; sonlu durum modeli; fiziksel güvenlik; operasyonel çevre; kriptografik anahtar yönetimi; elektromanyetik girişim / elektromanyetik uyumluluk (EMI/EMC); Kendi kendine testler; tasarım güvencesi; ve diğer saldırıların azaltılması.

Donanım endişeleri

Bir hipervizör platformunu değerlendirirken, üzerinde hipervizörün çalışacağı donanımın desteklenebilirliğini düşünün. Ayrıca, donanımda bulunan ek özellikleri ve bu özelliklerin OpenStack dağıtımının bir parçası olarak seçtiğiniz hipervizör tarafından nasıl desteklendiğini göz önünde bulundurun. Bu amaçla, her biri kendi donanım uyumluluğu listelerine (HCL’lere) sahip olan denetleyicilerin her biri vardır. Uyumlu donanım seçerken hangi güvenlik açısından donanım tabanlı sanallaştırma teknolojilerinin önemli olduğunu bilmek önemlidir.

Açıklama

Teknoloji

Açıklama

G/Ç MMU

VT-d / AMD-Vi

PCI-geçişi korumak için gerekli

Intel Guvenli Çalıştırma Teknolojisi

Intel TXT / SEM

Dinamik onaylama servisleri için gereklidir

PCI-SIG G/Ç sanallaştırması

SR-IOV, MR-IOV, ATS

PCI Express cihazlarının güvenli paylaşımına izin vermek için gereklidir

Ağ sanallaştırması

VT-c

Hipervizörlerdeki ağ G/Ç performansını iyileştirir

Hipervizör mü düz mü

Linux Kapsayıcıları (LXC) veya düz sistemleri ile KVM gibi bir hipervizör kullanmak arasındaki farkı bilmek önemlidir. Özellikle, bu güvenlik kılavuzunun odak noktası büyük ölçüde bir hipervizör ve sanallaştırma platformuna sahip olmaya dayanmaktadır. Bununla birlikte, uygulamanız bir düz ortam veya LXC ortamı gerektirdiğinde, o ortamın kurulmasıyla ilgili belirli farklılıklara dikkat etmeniz gerekir.

Son kullanıcıların, yeniden sağlanmadan önce düğümlerin verilerinden uygun şekilde temizlendiğinden emin olun. Ayrıca, bir düğümü yeniden kullanmadan önce, donanımın kurcalandığına veya başka şekilde tehlikeye atılmadığına dair güvence vermelisiniz.

Not

OpenStack saf bir projeye sahipken, saf çalıştırmanın belirli güvenlik etkileri üzerine bir tartışma bu kitabın kapsamı dışındadır.

Takım, bir kitap sprintindeki zaman kısıtlamaları nedeniyle, örnek uygulamalarımızda ve mimarilerde KVM’yi hipervizör olarak kullanmayı seçti.

Not

LXC’nin Hesaplamada Kullanımı <https://bugs.launchpad.net/ossn/+bug/1098582> ile ilgili bir OpenStack Güvenlik Notu var.

Hipervizör bellek eniyileştirmesi

Çoğu hipervizör, bellek konuk sanal makinelere aşırı yüklemek için bellek optimizasyon teknikleri kullanır. Bu, çok yoğun hesap kümeleri dağıtmanıza olanak tanıyan kullanışlı bir özelliktir. Bunu başarmanın bir yolu, bellek sayfalarının çoğaltılması veya paylaşılmasıdır. İki sanal makine, bellekte aynı verilere sahip olduğunda, aynı belleğe başvurmalarının avantajları vardır.

Tipik olarak bu, Kopyalama Üzerinde Yazma (COW) mekanizmaları aracılığıyla gerçekleştirilir. Bu mekanizmaların, bir VM’nin bir diğerinin durumuyla ilgili bir çıkarım yapabileceği ve tüm kiracıların güvenilir olmadığı veya aynı düzeyde güven paylaştığı çok kiracı ortamlar için uygun olmayabileceği yan kanal saldırılarına karşı savunmasız olduğu gösterilmiştir.

KVM Çekirdek Aynı Sayfa Birleştirme

Sürüm 2.6.32’de Linux çekirdeği ile tanıtılan Çekirdek Aynı Sayfa Birleştirme (KSM), Linux işlemleri arasında özdeş hafıza sayfalarını birleştirir. KVM hipervizör altındaki her konuk VM kendi işleminde çalıştığından, KSM VM’ler arasındaki bellek kullanımını optimize etmek için kullanılabilir.

XEN şeffaf sayfa paylaşımı

XenServer 5.6 Şeffaf Sayfa Paylaşımı (TPS) adlı bir bellek aşırı tanımlama özelliğini içerir. TPS, herhangi bir çoğaltma için 4 KB’lik parçalar halinde belleği tarar. Bulduğunuzda, Xen Sanal Makine Monitörü (VMM) kopyalarından birini atar ve ikincisinin referansını kaydeder.

Bellek eniyileştirme için güvenlik hususları

Geleneksel olarak bellek çoğaltma sistemleri, yan kanal saldırılarına karşı savunmasızdır. Hem KSM hem de TPS, bazı saldırı şekillerine karşı savunmasız olduklarını gösterdi. Akademik çalışmalarda saldırganlar, saldırgan VM üzerindeki bellek erişim sürelerini analiz ederek komşu sanal makinelerde çalışan yazılım paketlerini ve sürümlerini, yazılım yüklemelerini ve diğer hassas bilgileri tespit edebiliyorlardı.

Kamu bulutları ve bazı özel bulutlar ile olduğu gibi bir bulut dağıtımı kiracıların güçlü bir şekilde ayrılmasını gerektiriyorsa, dağıtımcılar TPS ve KSM bellek optimizasyonlarını devre dışı bırakmayı düşünmelidirler.

Ek güvenlik özellikleri

Bir hipervizör platformunu seçerken dikkat etmeniz gereken bir diğer husus, belirli güvenlik özelliklerinin bulunmasıdır. Özellikle özellikleri. Örneğin, Xen Server’ın XSM veya Xen Güvenlik Modülleri, Sanal, Intel TXT veya AppArmor.

Aşağıdaki tablodaki bu özellikleri yaygın hipervizör platformları kullanmaktadır.

XSM

sVirt

TXT

AppArmor

cgroups

MAC İlkesi

KVM

X

X

X

X

X

Xen

X

X

ESXi

X

Hyper-V

Not

Bu tablodaki özellikler tüm hipervizörler için geçerli olmayabilir veya doğrudan hipervizörler arasında dolaşılabilir olabilir.

Kaynakça