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, |
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 |
|
TDES |
168 bit |
Şifreleme / çözme |
Korumalı veri aktarımı |
|
RSA |
1024, 2048, ya da 3072 bit |
Kimlik doğrulama, anahtar değişimi |
Tanımlama ve kimlik doğrulama, korumalı veri aktarımı |
|
DSA |
L=1024, N=160 bit |
Kimlik doğrulama, anahtar değişimi |
Tanımlama ve kimlik doğrulama, korumalı veri aktarımı |
|
Serpent |
128, 192 ya da 256 bit |
Şifreleme / çözme |
Duran verinin korunması |
|
Twofish |
128, 192, ya da 256 bit |
Şifreleme / çözme |
Duran verinin korunması |
|
SHA-1 |
İleti Özeti |
Duran veri için koruma, korumalı veri aktarımı |
||
SHA-2 (224, 256, 384, ya da 512 bit) |
İleti Özeti |
Duran veri koruması, tanımlama ve kimlik doğrulama |
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¶
Sunar, Eisenbarth, İnci, Gorka Irazoqui Apecechea. Xen ve VMware’de Hassas Ayarlı Cross-VM Saldırıları mümkündür!. 2014. https://eprint.iacr.org/2014/248.pfd
Artho, Yagi, Iijima, Kuniyasu Suzaki. Konuk OS için Tehdit Olan Bellek Tekilleştirme. 2011. https://staff.aist.go.jp/c.artho/papers/EuroSec2011-suzaki.pdf
KVM: Kernel-based Virtual Machine. Kernel Samepage Merging. 2010. http://www.linux-kvm.org/page/KSM
Xen Projesi, Xen Güvenlik Modülleri: XSM-FLASK. 2014. http://wiki.xen.org/wiki/Xen_Security_Modules_:_XSM-FLASK
SELinux Projesi, SVirt. 2011. http://selinuxproject.org/page/SVirt
Intel.com, Intel Güvenli Çalıştırma Teknolojisi (Intel TXT) ile Güvenli Hesaplama Havuzları. http://www.intel.com/txt
AppArmor.net, AppArmor Ana Sayfa. 2011. http://wiki.apparmor.net/index.php/Main_Page
Kernel.org, CGroups. 2004. https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt
Bilgisayar güvenlik kaynak merkezi. Tam Sanallaştırma Teknolojileri Güvenliği Rehberi. http://csrc.nist.gov/publications/nistpubs/800-125/SP800-125-final.pdf
Ulusal Bilgi Güvencesi Ortaklığı, Ulusal Güvenlik Telekomünikasyon ve Bilgi Sistemleri Güvenlik Politikası. 2003. _ http://www.niap-ccevs.org/cc-scheme/nstissp_11_revised_factsheet.pdf