Seleksi hypervisor

Hypervisors di OpenStack

Apakah OpenStack ditempatkan di dalam pusat data pribadi atau sebagai layanan awan publik, teknologi virtualisasi yang mendasarinya memberikan kemampuan tingkat perusahaan di ranah skalabilitas, efisiensi sumber daya, dan waktu operasional. Meskipun manfaat tingkat tinggi seperti itu umumnya tersedia di banyak teknologi hypervisor yang didukung OpenStack, ada perbedaan signifikan dalam arsitektur keamanan dan fitur untuk setiap hypervisor, terutama saat mempertimbangkan vektor ancaman keamanan yang unik untuk lingkungan OpenStack elastis. Sebagai aplikasi mengkonsolidasikan menjadi single platform :term: Infrastructure-as-a-Service (IaaS), isolasi instance pada tingkat hypervisor menjadi yang terpenting. Persyaratan untuk isolasi yang aman berlaku di komunitas komersial, pemerintah, dan militer.

Dalam kerangka OpenStack, Anda dapat memilih di antara banyak platform hypervisor dan plug-in OpenStack yang sesuai untuk mengoptimalkan lingkungan awan Anda. Dalam konteks panduan ini, pertimbangan seleksi hypervisor disorot karena berkaitan dengan rangkaian fitur yang sangat penting untuk keamanan. Namun, pertimbangan ini tidak dimaksudkan sebagai penyelidikan menyeluruh terhadap pro dan kontra dari hypervisors tertentu. NIST memberikan panduan tambahan dalam Publikasi Khusus 800-125, "Guide to Security for Full Virtualization Technologies".

Kriteria seleksi

Sebagai bagian dari proses seleksi hypervisor Anda, Anda harus mempertimbangkan sejumlah faktor penting untuk membantu meningkatkan postur keamanan Anda. Secara khusus, Anda harus terbiasa dengan area ini:

  • Keahlian tim

  • Kematangan produk atau proyek

  • Kriteria umum (Common Criteria)

  • Sertifikasi dan pengesahan

  • Masalah perangkat keras

  • Hypervisor versus baremetal

  • Fitur keamanan tambahan

Selain itu, kriteria terkait keamanan berikut sangat dianjurkan untuk dievaluasi saat memilih hypervisor untuk penerapan OpenStack: * Has the hypervisor undergone Common Criteria certification? If so, to what levels? * Apakah kriptografi yang mendasari disertifikasi oleh pihak ketiga?

Keahlian tim

Kemungkinan besar, aspek terpenting dalam pemilihan hypervisor adalah keahlian staf Anda dalam mengelola dan memelihara platform hypervisor tertentu. Semakin akrab tim Anda dengan produk tertentu, konfigurasinya, dan eksentrisitasnya, semakin sedikit kesalahan konfigurasi. Selain itu, memiliki keahlian staf yang tersebar di seluruh organisasi pada hypervisor tertentu meningkatkan ketersediaan sistem Anda, memungkinkan pemisahan tugas, dan mengurangi masalah jika anggota tim tidak tersedia.

Kematangan produk atau proyek

Kematangan produk atau proyek hypervisor yang diberikan sangat penting untuk postur keamanan Anda. Kematangan produk memiliki sejumlah efek setelah Anda memasang awan Anda:

  • Ketersediaan keahlian

  • Pengembang aktif dan komunitas pengguna

  • Ketepatan waktu dan ketersediaan update

  • Respon insiden

Salah satu indikator terbesar kematangan hypervisor adalah ukuran dan semangat komunitas yang mengelilinginya. Karena ini menyangkut keamanan, kualitas masyarakat akan mempengaruhi ketersediaan keahlian jika Anda membutuhkan operator awan tambahan. Ini juga merupakan tanda betapa luasnya penyebaran hypervisor ini, yang pada gilirannya menuju ke kesiapan perjuangan (battle readiness) setiap arsitektur referensi dan praktik terbaik.

Selanjutnya, kualitas komunitas, karena ia mengelilingi hypervisor open source seperti KVM atau Xen, memiliki dampak langsung pada ketepatan waktu perbaikan bug dan pembaruan keamanan. Saat menyelidiki hypervisors komersial dan open source, Anda harus melihat siklus rilis dan dukungan serta delta waktu antara pengumuman bug atau masalah keamanan dan patch atau respons. Terakhir, kemampuan OpenStack yang didukung bervariasi tergantung pada hypervisor yang dipilih. Lihat OpenStack Hypervisor Support Matrix untuk dukungan fitur komputasi OpenStack dengan hypervisor.

Sertifikasi dan pengesahan

Satu pertimbangan tambahan saat memilih hypervisor adalah tersedianya berbagai sertifikasi dan pengesahan formal. Meskipun persyaratan tersebut mungkin bukan persyaratan untuk organisasi khusus Anda, sertifikasi dan pengesahan ini berbicara mengenai kedewasaan, kesiapan produksi, dan ketelitian pengujian platform hypervisor tertentu telah menjadi sasaran.

Kriteria umum (Common Criteria)

Kriteria umum adalah proses evaluasi perangkat lunak yang distandarkan secara internasional, yang digunakan oleh pemerintah dan perusahaan komersial untuk memvalidasi kinerja teknologi perangkat lunak seperti yang diiklankan. Di sektor pemerintah, NSTISSP No. 11 mengamanatkan bahwa instansi Pemerintah A.S. hanya menyediakan perangkat lunak yang telah disertifikasi oleh Common Criteria (kriteria umum), sebuah kebijakan yang telah ada sejak Juli 2002.

Catatan

OpenStack belum mengikuti sertifikasi Common Criteria, namun banyak hypervisor yang tersedia.

Selain memvalidasi kemampuan teknologi, proses Common Criteria mengevaluasi bagaimana teknologi dikembangkan.

  • Bagaimana pengelolaan kode sumber dilakukan?

  • Bagaimana pengguna diberi akses untuk membangun sistem?

  • Apakah teknologi itu kriptografis ditandatangani sebelum distribusinya?

Hypervisor KVM telah menjadi kriteria umum (Common Criteria) yang disertifikasi melalui Pemerintah A.S. dan distribusi komersial. Ini telah divalidasi untuk memisahkan lingkungan runtime mesin virtual satu sama lain, menyediakan teknologi dasar untuk menerapkan isolasi misalnya. Selain isolasi mesin virtual, KVM telah menjadi Common Criteria yang disertifikasi untuk ...:

"...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."

Sementara banyak vendor hypervisor, seperti Red Hat, Microsoft, dan VMware telah mencapai Common Criteria Certification, rangkaian penilaian tersertifikasi yang mendasarinya berbeda, kami merekomendasikan untuk mengevaluasi klaim vendor untuk memastikan mereka memenuhi persyaratan sebagai berikut:

Identification dan Authentication

Identification dan authentication menggunakan pluggable authentication modules (PAM) berdasarkan password pengguna. Kualitas kata kunci yang digunakan bisa ditegakkan melalui pilihan konfigurasi.

Audit

Sistem ini menyediakan kemampuan untuk mengaudit sejumlah besar event, termasuk panggilan sistem individual dan kejadian yang dihasilkan oleh proses terpercaya (trusted processes). Data audit dikumpulkan dalam file biasa dalam format ASCII. Sistem ini menyediakan sebuah program untuk tujuan mencari catatan audit. Administrator sistem dapat menentukan basis aturan untuk membatasi pengauditan terhadap kejadian yang mereka minati. Ini mencakup kemampuan untuk membatasi audit terhadap kejadian tertentu, pengguna tertentu, objek tertentu atau kombinasi dari semua ini. Catatan audit dapat dipindahkan ke daemon audit jarak jauh.

Discretionary Access Control

Discretionary Access Control (DAC) membatasi akses ke objek sistem file berdasarkan ACL yang termasuk izin UNIX standar untuk pengguna, grup, dan lainnya. Mekanisme kontrol akses juga melindungi objek IPC dari akses yang tidak sah. Sistem ini mencakup sistem file ext4, yang mendukung POSIX ACLs. Hal ini memungkinkan hak akses menentukan ke file dalam jenis sistem file ini sampai ke perincian satu pengguna.

Mandatory Access Control

Mandatory Access Control (MAC) membatasi akses ke objek berdasarkan label yang ditetapkan untuk subjek dan objek. Label sensitivitas secara otomatis melekat pada proses dan objek. Kebijakan kontrol akses yang diberlakukan dengan menggunakan label ini berasal dari Bell-LaPadula model. Kategori SELinux dilekatkan pada mesin virtual dan sumber dayanya. Kebijakan kontrol akses yang diberlakukan dengan menggunakan kategori ini memberi akses mesin virtual ke sumber daya jika kategori mesin virtual identik dengan kategori sumber daya yang diakses. TOE menerapkan kategori non-hierarkis untuk mengendalikan akses ke mesin virtual.

Role-Based Access Control

Role-based access control (RBAC) memungkinkan pemisahan peran untuk menghilangkan kebutuhan akan administrator sistem yang hebat.

Object Reuse

Objek sistem file, memori, dan objek IPC dihapus sebelum dapat digunakan kembali oleh proses yang dimiliki oleh pengguna yang berbeda.

Security Management

Pengelolaan parameter kritis keamanan sistem dilakukan oleh pengguna administratif. Satu set perintah yang memerlukan hak istimewa root (atau peran spesifik saat RBAC digunakan) digunakan untuk pengelolaan sistem. Parameter keamanan disimpan dalam file tertentu yang dilindungi oleh mekanisme kontrol akses dari sistem terhadap akses yang tidak sah oleh pengguna yang bukan pengguna administratif.

Secure Communication

Sistem ini mendukung definisi kanal terpercaya dengan menggunakan SSH. Otentikasi berbasis kata kunci didukung. Hanya sejumlah kecil cipher suites yang didukung untuk protokol tersebut dalam konfigurasi yang dievaluasi.

Storage Encryption

Sistem ini mendukung perangkat blok terenkripsi untuk menyediakan kerahasiaan penyimpanan via dm_crypt.

TSF Protection

Saat beroperasi, perangkat lunak dan data kernel dilindungi oleh mekanisme proteksi memori perangkat keras. Komponen manajemen memori dan proses dari kernel memastikan proses pengguna tidak dapat mengakses penyimpanan atau penyimpanan kernel yang termasuk dalam proses lainnya. Perangkat lunak dan data non-kernel TSF dilindungi oleh DAC dan mekanisme isolasi proses. Dalam konfigurasi yang dievaluasi, reserved user ID root memiliki direktori dan file yang menentukan konfigurasi TSF. Secara umum, file dan direktori yang berisi data TSF internal, seperti file konfigurasi dan batch job queues, juga dilindungi dari pembacaan oleh izin DAC. Sistem dan komponen perangkat keras dan firmware diharuskan dilindungi secara fisik dari akses yang tidak sah. Kernel sistem memediasi semua akses ke mekanisme perangkat keras itu sendiri, selain fungsi instruksi CPU yang terlihat. Selain itu, mekanisme perlindungan terhadap serangan stack overflow disediakan.

Standar kriptografi

Beberapa algoritma kriptografi tersedia di dalam OpenStack untuk identifikasi dan otorisasi, transfer data dan perlindungan data saat istirahat. Saat memilih hypervisor, kami menganjurkan algoritma dan standar implementasi berikut:

Algoritma

Key Length (panjang kunci)

Intended Purpose (tujuan yang diinginkan)

Security Function (fungsi keamanan)

Implementation Standard (standar implementasi)

AES

128, 192, or 256 bits

Enkripsi / Dekripsi

Transfer data terlindungi, perlindungan data saat istirahat

RFC 4253

TDES

168 bits

Enkripsi / Dekripsi

Transfer data terlindungi

RFC 4253

RSA

1024, 2048, atau 3072 bits

Otentikasi, pertukaran kunci

Identifikasi dan otentikasi, transfer data yang dilindungi

U.S. NIST FIPS PUB 186-3

DSA

L=1024, N=160 bits

Otentikasi, pertukaran kunci

Identifikasi dan otentikasi, transfer data yang dilindungi

U.S. NIST FIPS PUB 186-3

Serpent

128, 192, or 256 bits

Enkripsi / Dekripsi

Perlindungan data saat istirahat

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

Twofish

128, 192, atau 256 bit

Enkripsi / Dekripsi

Perlindungan data saat istirahat

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

SHA-1

Message Digest

Perlindungan data saat istirahat, transfer data yang terlindungi

U.S. NIST FIPS PUB 180-3

SHA-2 (224, 256, 384, atau 512 bits)

Message Digest

Perlindungan untuk data saat istirahat, identifikasi dan otentikasi

U.S. NIST FIPS PUB 180-3

FIPS 140-2

Di Amerika Serikat, National Institute of Science and Technology (NIST) mengesahkan algoritma kriptografi melalui sebuah proses yang dikenal dengan Cryptographic Module Validation Program. NIST mengesahkan algoritma untuk kesesuaian terhadap Federal Information Processing Standard 140-2 (FIPS 140-2), yang memastikan ...:

"... 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."

Saat mengevaluasi teknologi hypervisor dasar, pertimbangkan apakah hypervisor telah disertifikasi dengan FIPS 140-2. Tidak hanya kesesuaian dengan FIPS 140-2 yang dimandatkan per kebijakan Pemerintah A.S., sertifikasi formal menunjukkan bahwa penerapan algoritma kriptografi tertentu telah ditinjau untuk kesesuaian terhadap spesifikasi modul, port modul kriptografi dan antarmuka; peran, layanan, dan otentikasi; finite state model; keamanan fisik; lingkungan operasional; cryptographic key management; electromagnetic interference/electromagnetic compatibility (EMI / EMC); self-tests; jaminan desain; dan mitigasi serangan lainnya.

Masalah perangkat keras

Saat Anda mengevaluasi platform hypervisor, pertimbangkan dukungan perangkat keras yang digunakan hypervisor. Selain itu, pertimbangkan fitur tambahan yang tersedia di perangkat keras dan bagaimana fitur tersebut didukung oleh hypervisor yang Anda pilih sebagai bagian dari pengerahan OpenStack. Untuk itu, hypervisors masing-masing memiliki hardware compatibility lists (HCLs) mereka sendiri. Saat memilih perangkat keras yang kompatibel, penting untuk mengetahui terlebih dahulu teknologi virtualisasi hardware-based menjadi penting dari perspektif keamanan.

Deskripsi

Teknologi

Penjelasan

I/O MMU

VT-d / AMD-Vi

Diperlukan untuk melindungi PCI-passthrough

Intel Trusted Execution Technology

Intel TXT / SEM

Diperlukan untuk layanan pengesahan dinamis

Virtualisasi PCI-SIG I/O

SR-IOV, MR-IOV, ATS

Diperlukan untuk mengizinkan berbagi perangkat PCI Express yang aman

Virtualisasi jaringan

VT-c

Meningkatkan kinerja jaringan I/O pada hypervisors

Hypervisor versus bare metal

Penting untuk mengenali perbedaan antara penggunaan Linux Containers (LXC) atau sistem baremetal versus menggunakan hypervisor seperti KVM. Secara khusus, fokus panduan keamanan ini sebagian besar didasarkan pada platform hypervisor dan virtualisasi. Namun, jika penerapan Anda memerlukan penggunaan lingkungan baremetal atau LXC, Anda harus memperhatikan perbedaan tertentu sehubungan dengan penyebaran lingkungan itu.

Pastikan end user Anda bahwa nodus telah benar dibersihkan data mereka sebelum re-provisioning. Selain itu, sebelum menggunakan kembali sebuah node, Anda harus memberikan jaminan bahwa perangkat keras belum dirusak atau dikompromikan.

Catatan

Sementara OpenStack memiliki proyek bare metal, sebuah diskusi tentang implikasi keamanan tertentu dari menjalankan bare metal berada di luar cakupan buku ini.

Karena kendala waktu seputar sprint buku, tim memilih untuk menggunakan KVM sebagai hypervisor dalam implementasi dan arsitektur contoh kami.

Catatan

Ada OpenStack Security Note yang berkaitan dengan Use of LXC in Compute.

Pengoptimalan memori hypervisor

Banyak hypervisor menggunakan teknik pengoptimalan memori untuk overcommit memory ke mesin virtual guest. Ini adalah fitur berguna yang memungkinkan Anda untuk menggunakan cluster komputasi yang sangat padat. Salah satu cara untuk mencapainya adalah melalui de-duplicatio atau pembagian halaman memori. Ketika dua mesin virtual memiliki data yang sama dalam memori, ada keuntungan untuk meminta mereka untuk merujuk memori yang sama.

Biasanya hal ini dicapai melalui mekanisme Copy-On-Write (COW). Mekanisme ini terbukti rentan terhadap serangan saluran samping di mana satu VM dapat menyimpulkan sesuatu tentang keadaan lain dan mungkin tidak sesuai untuk lingkungan multi-tenant dimana tidak semua penyewa dipercaya atau memiliki tingkat kepercayaan yang sama.

KVM Kernel Samepage Merging

Diperkenalkan ke dalam kernel Linux di versi 2.6.32, Kernel Samepage Merging (KSM) mengkonsolidasikan halaman memori identik di antara proses Linux. Karena setiap guest VM di bawah hypervisor KVM berjalan dalam prosesnya sendiri, KSM dapat digunakan untuk mengoptimalkan penggunaan memori di antara VM.

XEN transparent page sharing

XenServer 5.6 menyertakan fitur overcommitment memori yang bernama Transparent Page Sharing (TPS). TPS memindai memori dalam potongan 4 KB untuk setiap duplikat. Ketika ditemukan, Xen Virtual Machine Monitor (VMM) membuang salah satu duplikat dan mencatat referensi yang kedua.

Pertimbangan keamanan untuk pengoptimalan memori

Secara tradisional, sistem de-duplication memori rentan terhadap serangan saluran samping. KSM dan TPS telah menunjukkan rentan terhadap beberapa bentuk serangan. Dalam studi akademis, penyerang dapat mengidentifikasi paket dan versi perangkat lunak yang berjalan pada mesin virtual tetangga serta unduhan perangkat lunak dan informasi sensitif lainnya melalui analisis waktu akses memori pada VM penyerang.

Jika penyebaran awan memerlukan pemisahan penyewa yang kuat, seperti situasi dengan awan publik dan beberapa awan pribadi, pengawas harus mempertimbangkan untuk menonaktifkan pengoptimalan memori TPS dan KSM.

Fitur keamanan tambahan

Hal lain yang perlu diperhatikan saat memilih platform hypervisor adalah tersedianya fitur keamanan tertentu. Secara khusus, fitur. Misalnya, Xen Server XSM atau Xen Security Modules, sVirt, Intel TXT, atau AppArmor.

Tabel berikut memanggil fitur ini oleh platform hypervisor umum.

XSM

sVirt

TXT

AppArmor

cgroups

MAC Policy

KVM

X

X

X

X

X

Xen

X

X

ESXi

X

Hyper-V

Catatan

Fitur dalam tabel ini mungkin tidak berlaku untuk semua hypervisors atau secara langsung dapat dipetakan di antara hypervisors.

Bibliografi