Pengantar OpenStack

Panduan ini memberikan wawasan keamanan dalam :term: OpenStack deployments. Penonton yang dimaksud adalah arsitek awan, penginstal, dan administrator. Selain itu, pengguna awan akan menemukan panduan ini baik untuk pendidikan maupun dalam pemilihan penyedia layanan, sementara auditor akan merasa berguna sebagai dokumen referensi untuk mendukung upaya sertifikasi kepatuhan mereka. Panduan ini juga direkomendasikan bagi siapa saja yang berminat pada keamanan awan.

Setiap pengerahan OpenStack mencakup beragam teknologi, mencakup distribusi Linux, sistem database, antrian pesan, komponen OpenStack sendiri, kebijakan kontrol akses, layanan logging, alat pemantauan keamanan, dan banyak lagi. Tidak mengherankan jika masalah keamanan yang terlibat sama beragamnya, dan analisis mendalam mereka memerlukan beberapa panduan. Kami berusaha untuk menemukan keseimbangan, memberikan konteks yang cukup untuk memahami masalah keamanan OpenStack dan penanganannya, dan memberikan referensi eksternal untuk informasi lebih lanjut. Panduan bisa dibaca dari awal sampai akhir atau digunakan seperti referensi.

Kami secara singkat memperkenalkan jenis awan (private, public, and hybrid) sebelum menyajikan ikhtisar komponen OpenStack dan masalah keamanan terkait mereka di sisa bab ini.

Sepanjang buku ini, kami mengacu pada beberapa jenis pengguna awan OpenStack: administrator, operator, dan user.Kami menggunakan istilah ini untuk mengidentifikasi tingkat akses keamanan yang dimiliki masing-masing peran, walaupun, pada kenyataannya, kami memahami bahwa berbagai peran seringkali dipegang oleh individu yang sama.

Tipe awan

OpenStack adalah enabler kunci dalam penerapan teknologi awan dan memiliki beberapa kasus penggunaan umum. Ini umumnya dikenal sebagai model Public, Private, and Hybrid. Bagian berikut menggunakan National Institute of Standards and Technology (NIST) definition of cloud untuk mengenalkan berbagai jenis awan ini saat mereka mendaftar ke OpenStack.

Awan publik

Menurut NIST, awan publik adalah infrastruktur yang terbuka bagi masyarakat umum untuk dikonsumsi. Awan publik OpenStack biasanya dijalankan oleh service provider dan dapat dikonsumsi oleh individu, perusahaan, atau pelanggan yang membayar. Penyedia awan publik mungkin mengekspos serangkaian fitur lengkap seperti jaringan yang didefinisikan perangkat lunak atau penyimpanan blok, dan juga beberapa jenis instance.

Menurut sifatnya, awan publik terkena tingkat risiko yang lebih tinggi. Sebagai konsumen awan publik, Anda harus memvalidasi bahwa penyedia pilihan Anda memiliki sertifikasi, atestasi, dan pertimbangan peraturan lainnya yang diperlukan. Sebagai penyedia awan publik, bergantung pada target pelanggan Anda, Anda mungkin dikenai satu atau lebih peraturan. Selain itu, meski tidak diharuskan memenuhi persyaratan peraturan, penyedia harus memastikan isolasi penyewa sekaligus melindungi infrastruktur manajemen dari serangan luar.

Awan pribadi

Di ujung spektrum (opposite end) yang berlawanan adalah awan pribadi. Sebagai NIST mendefinisikannya, awan pribadi ditetapkan untuk penggunaan eksklusif oleh satu organisasi yang terdiri dari beberapa konsumen, seperti unit bisnis. Awan dapat dimiliki, dikelola, dan dioperasikan oleh organisasi, pihak ketiga, atau beberapa kombinasi dari keduanya, dan mungkin ada di dalam atau di luar lokasi. Kasus penggunaan awan pribadi beragam dan, karena itu, masalah keamanan individual mereka beragam.

Awan komunitas

NIST mendefinisikan awan komunitas sebagai infrastruktur yang disediakan untuk penggunaan eksklusif oleh komunitas konsumen tertentu dari organisasi yang memiliki keprihatinan bersama (misalnya, pertimbangan misi, persyaratan keamanan, kebijakan, atau kepatuhan). Awan mungkin dimiliki, dikelola, dan dioperasikan oleh satu atau lebih organisasi di masyarakat, pihak ketiga, atau beberapa kombinasi dari keduanya, dan mungkin ada di dalam atau di luar lokasi.

Awan hibrida

Sebuah awan hibrida didefinisikan oleh NIST sebagai komposisi dari dua atau lebih infrastruktur awan yang berbeda, seperti private, community, atau public, yang tetap merupakan entitas unik, namun terikat bersama oleh teknologi standar atau proprietary yang memungkinkan portabilitas data dan aplikasi, seperti cloud bursting untuk load balancing antara awan. Misalnya, peritel online dapat menampilkan iklan dan katalog mereka di awan publik yang memungkinkan penyediaan elastis. Ini akan memungkinkan mereka menangani beban musiman dengan cara yang fleksibel dan hemat biaya. Begitu pelanggan mulai memproses pesanan mereka, mereka akan ditransfer ke awan pribadi yang lebih aman yang sesuai dengan PCI.

Dalam dokumen ini, kita memperlakukan masyarakat dan hibrida dengan cara yang sama, berurusan secara eksplisit hanya dengan awan publik dan awan ekstrem yang ekstrem dari perspektif keamanan. Langkah keamanan Anda bergantung di tempat penempatan Anda berada di atas rangkaian publik privat.

Ikhtisar layanan OpenStack

OpenStack menganut arsitektur modular untuk menyediakan satu set layanan inti yang memfasilitasi skalabilitas dan elastisitas sebagai prinsip desain inti. Bab ini secara singkat mengulas komponen OpenStack, kasus penggunaan dan pertimbangan keamanan mereka.

../_images/marketecture-diagram.png

Compute

OpenStack Compute service (nova) menyediakan layanan untuk mendukung pengelolaan instance mesin virtual dalam skala, instance yang menjadi tuan rumah aplikasi multi-tier, lingkungan dev atau test, pemrosesan (crunching) "Big Data" di klaster Hadoop, atau komputasi berperforma tinggi.

Layanan Compute memfasilitasi pengelolaan ini melalui lapisan abstraksi yang berinteraksi dengan hypervisor yang didukung (kami akan membahasnya nanti secara lebih rinci).

Kemudian dalam panduan ini, kami fokus secara umum pada tumpukan virtualisasi yang berkaitan dengan hypervisor.

Untuk informasi tentang kondisi dukungan fitur saat ini, lihat OpenStack Hypervisor Support Matrix.

Keamanan Compute sangat penting untuk pengerahan OpenStack. Teknik pengerasan (hardening) harus mencakup dukungan untuk isolasi instance yang kuat, komunikasi yang aman antara sub-komponen Compute, dan ketahanan endpoint API yang dihadapi publik.

Object Storage

OpenStack Object Storage service (swift) memberikan dukungan untuk menyimpan dan mengambil data secara acak di awan. Layanan Object Storage menyediakan native API dan Amazon Web Services S3-compatible API. Layanan ini memberikan tingkat ketahanan yang tinggi melalui replikasi data dan dapat menangani petabyte data.

Penting untuk dipahami bahwa penyimpanan objek berbeda dari penyimpanan sistem file tradisional. Penyimpanan objek paling baik digunakan untuk data statis seperti file media (MP3, image, atau video), image mesin virtual, dan file cadangan.

Keamanan objek harus fokus pada kontrol akses dan enkripsi data saat transit dan saat istirahat. Masalah lainnya mungkin terkait dengan penyalahgunaan sistem, penyimpanan konten ilegal atau berbahaya, dan vektor serangan cross-authentication.

Block Storage

OpenStack Block Storage service (cinder) menyediakan penyimpanan blok persisten untuk komputasi instance. Layanan Block Storage bertanggung jawab untuk mengelola siklus hidup perangkat blok, mulai dari pembuatan dan pelekatan volume ke instance, hingga pembebasannya.

Pertimbangan keamanan untuk penyimpanan blok sama dengan penyimpanan objek.

Shared File Systems (sistem file bersama)

The Shared File Systems service (manila) menyediakan seperangkat layanan untuk mengelola sistem file bersama di lingkungan awan multi-penyewa, serupa dengan bagaimana OpenStack menyediakan pengelolaan penyimpanan berbasis blok melalui proyek layanan OpenStack Block Storage. Dengan layanan Shared File Systems, Anda dapat membuat sistem file jauh, me-mount sistem file pada instance Anda, dan kemudian membaca dan menulis data dari instance Anda ke dan dari sistem file Anda.

Networking

The OpenStack Networking service (neutron, yang sebelumnya disebut quantum) menyediakan berbagai layanan jaringan untuk pengguna awan (penyewa) seperti manajemen alamat IP, DNS, DHCP, load balancing, dan kelompok keamanan (aturan akses jaringan, seperti kebijakan firewall). Layanan ini menyediakan framework untuk software defined networking (SDN) yang memungkinkan integrasi pluggable dengan berbagai solusi jaringan.

OpenStack Networking memungkinkan penyewa awan mengelola konfigurasi jaringan tamu mereka. Masalah keamanan dengan layanan jaringan meliputi isolasi lalu lintas jaringan, ketersediaan, integritas, dan kerahasiaan.

Dasbor

The OpenStack Dashboard (horizon) menyediakan antarmuka berbasis web untuk administrator awan dan penyewa awan. Dengan menggunakan antarmuka ini, administrator dan penyewa dapat menyediakan, mengelola, dan memantau sumber daya awan. Dasbor biasanya dipasang dengan cara yang berhadapan dengan publik dengan semua masalah keamanan biasa dari portal web umum.

Layanan Identity

The OpenStack Identity service (keystone) adalah shared service yang menyediakan layanan autentikasi dan otorisasi di seluruh infrastruktur awan. Layanan Identitas memiliki dukungan pluggable untuk berbagai bentuk otentikasi.

Masalah keamanan dengan layanan Identity meliputi kepercayaan dalam otentikasi, pengelolaan token otorisasi, dan komunikasi yang aman.

Layanan Image

The OpenStack Image service (glance) menyediakan layanan pengelolaan disk-image, termasuk penemuan image, registrasi, dan layanan pengiriman ke layanan Compute, sesuai kebutuhan.

Proses tepercaya untuk mengelola siklus hidup image disk diperlukan, seperti juga semua masalah yang disebutkan sebelumnya sehubungan dengan keamanan data.

Layanan pengolahan data

The Data Processing service (sahara) menyediakan platform untuk penyediaan, pengelolaan, dan penggunaan cluster yang menjalankan kerangka pemrosesan populer.

Pertimbangan keamanan untuk pengolahan data harus berfokus pada privasi data dan komunikasi yang aman ke kelompok yang ada.

Teknologi pendukung lainnya

Messaging digunakan untuk komunikasi internal antara beberapa layanan OpenStack. Secara default, OpenStack menggunakan antrian pesan berdasarkan AMQP. Seperti kebanyakan layanan OpenStack, AMQP mendukung komponen pluggable. Saat ini penerapan back end bisa berupa RabbitMQ, Qpid, atau ZeroMQ.

Karena sebagian besar perintah manajemen mengalir melalui sistem antrian pesan, keamanan message-queue merupakan masalah keamanan utama untuk penyebaran OpenStack, dan akan dibahas secara rinci nanti dalam panduan ini.

Beberapa komponen menggunakan database meskipun tidak secara eksplisit dipanggil. Pengamanan akses database adalah masalah keamanan lainnya, dan akibatnya dibahas lebih rinci nanti dalam panduan ini.