Barbican

Ikhtisar

Barbican adalah REST API yang dirancang untuk penyimpanan, penyediaan dan pengelolaan rahasia seperti password, kunci enkripsi dan sertifikat X.509. Hal ini bertujuan berguna untuk semua lingkungan, termasuk awan fana yang besar.

Barbican terintegrasi dengan beberapa fitur OpenStack, baik secara langsung maupun sebagai back end Castellan.

Barbican sering digunakan sebagai sistem manajemen kunci untuk memungkinkan penggunaan kasus seperti verifikasi tanda tangan Image, enkripsi Volume. Kasus penggunaan ini diuraikan di Gunakan Kasus

Barbican Role Based Access Control

tertunda

Secret store back ends

Layanan Key Manager memiliki arsitektur plugin yang memungkinkan penyebar untuk menyimpan rahasia di satu atau lebih penyimpanan rahasia. Penyimpanan rahasia dapat berbasis perangkat lunak, seperti token perangkat lunak, atau perangkat keras seperti hardware security module (HSM). Bagian ini menjelaskan plugin yang tersedia saat ini dan membahas postur keamanan masing-masing. Plugin diaktifkan dan dikonfigurasi dengan pengaturan di file konfigurasi /etc/barbican/barbican.conf.

Ada dua jenis plugin: plugin kripto dan plugin penyimpanan rahasia.

Plugin kripto

Plugin Crypto menyimpan rahasia sebagai gumpalan terenkripsi di dalam database Barbican. Plugin ini dipanggil untuk mengenkripsi rahasia pada penyimpanan rahasia, dan mendekripsi rahasia pada pengambilan kembali secara rahasia. Ada dua atribut plugin penyimpanan yang tersedia saat ini: plugin Simple Crypto dan plugin kripto PKCS # 11.

Plugin kripto sederhana

Plugin kripto sederhana dikonfigurasi secara default di barbican.conf. Plugin ini menggunakan kunci simetris tunggal (KEK - atau 'Key Encryption Key') yang disimpan dalam teks biasa di file barbican.conf untuk mengenkripsi dan mendekripsi semua rahasia. Plugin ini dianggap sebagai pilihan yang kurang aman dan hanya cocok untuk pengembangan dan pengujian karena kunci utama disimpan dalam file konfigurasi dalam teks biasa, oleh karena itu tidak disarankan untuk digunakan dalam penyebaran produksi.

Plugin kripto PKCS # 11

The PKCS#11 crypto plugin can be used to interface with a Hardware Security Module (HSM) using the PKCS#11 protocol. Secrets are encrypted (and decrypted on retrieval) by a project specific Key Encryption Key (KEK). The KEK is protected (encrypted) with a Master KEK (MKEK). The MKEK resides in the HSM along with a HMAC. Since the different KEK is used for each project, and since the KEKs are stored inside a database in an encrypted form (instead of a plaintext in the configuration file) the PKCS#11 plugin is much more secure than the simple crypto plugin. It is the most popular back end amongst Barbican deployments.

Plugin penyimpanan rahasia

Secret store plugins interface with secure storage systems to store the secrets within those systems. There are three types of secret store plugins: the KMIP plugin, the Dogtag plugin, and the Vault plugin.

Plugin KMIP

Plugin penyimpanan rahasia Key Management Interoperability Protocol (KMIP) digunakan untuk berkomunikasi dengan perangkat berkemampuan KMIP, seperti Hardware Security Module (HSM). Rahasianya disimpan dengan aman di perangkat berkemampuan KMIP secara langsung, bukan di database Barbican. Database Barbican menyimpan referensi ke lokasi rahasia untuk pengambilan nanti. Plugin ini dapat dikonfigurasi untuk melakukan otentikasi ke perangkat berkemampuan KMIP menggunakan nama pengguna dan kata sandi, atau menggunakan sertifikat klien. Informasi ini disimpan dalam file konfigurasi Barbican.

Plugin Dogtag

Plugin penyimpanan rahasia Dogtag digunakan untuk berkomunikasi dengan Dogtag. Dogtag adalah proyek hulu yang sesuai dengan Red Hat Certificate System, Common Criteria / FIPS certified PKI solution yang berisi Certificate Manager (CA) dan Key Recovery Authority (KRA) yang digunakan untuk menyimpan rahasia dengan aman. KRA menyimpan rahasia sebagai gumpalan terenkripsi di database internalnya, dengan kunci enkripsi utama disimpan dalam basis data keamanan NSS berbasis perangkat lunak, atau di Hardware Security Module (HSM). Konfigurasi database NSS berbasis perangkat lunak menyediakan opsi aman untuk penerapan yang tidak ingin menggunakan HSM. KRA adalah komponen FreeIPA, oleh karena itu dimungkinkan untuk mengkonfigurasi plugin dengan server FreeIPA. Instruksi lebih rinci tentang cara mengatur Barbican dengan FreeIPA disediakan in the following blog post.

Vault plugin

Vault is a secret storage developed by Hashicorp for securely accessing secrets and other objects, such as API keys, passwords, or certificates. Vault provides a unified interface to any secret, while providing tight access control and recording a detailed audit log. The enterprise version of Vault also allows to integrate with HSM for auto-unseal, provide FIPS KeyStorage and entropy augmentation. However, the downside of the Vault plugin is that it does not support multitenancy, thus all secrets will be stored under the same Key/Value secret engine. mountpoint.

Analisis ancaman

Tim Barbican bekerja dengan OpenStack Security Project untuk melakukan tinjauan keamanan terhadap penerapan barbecue praktik terbaik. Tujuan dari tinjauan keamanan adalah untuk mengidentifikasi kelemahan dan kekurangan dalam desain dan arsitektur layanan, dan mengusulkan kontrol atau perbaikan untuk menyelesaikan masalah ini.

The Barbican threat analysis identified eight security findings and two recommendations to improve the security of a barbican deployment. These results can be reviewed in the security analysis repo., along with the Barbican architecture diagram and architecture description page.