Konfigurasi dan pengerasan

Ada beberapa pilihan konfigurasi dan strategi pengerahan yang dapat meningkatkan keamanan dalam layanan pengolahan data. Pengontrol layanan dikonfigurasi melalui file konfigurasi utama dan satu atau beberapa file kebijakan. Instalasi yang menggunakan fitur data-locality juga akan memiliki dua file tambahan untuk menentukan lokasi fisik dari node Compute dan Object Storage.

TLS

Pengontrol layanan pengolah data, seperti banyak pengendali OpenStack lainnya, dapat dikonfigurasi untuk meminta koneksi TLS.

Rilis Pre-Kilo akan memerlukan proxy TLS karena pengontrol tidak mengizinkan koneksi TLS langsung. Mengkonfigurasi proxy TLS tercakup dalam Proxy TLS dan layanan HTTP, dan sebaiknya ikuti saran di sana untuk membuat jenis instalasi ini.

Dari pelepasan Kilo dan pengontrol pengolah data memungkinkan koneksi TLS langsung, yang kami rekomendasikan. Mengaktifkan perilaku ini memerlukan sedikit penyesuaian pada file konfigurasi controller.

Example. Configuring TLS access to the controller

[ssl]
ca_file = cafile.pem
cert_file = certfile.crt
key_file = keyfile.key

Kebijakan kontrol akses berbasis peran

Layanan pemrosesan data menggunakan file kebijakan, seperti yang dijelaskan di Kebijakan, untuk mengkonfigurasi kontrol akses berbasis peran. Dengan menggunakan file kebijakan, operator dapat membatasi akses grup ke fungsionalitas pemrosesan data tertentu.

Alasan untuk melakukan hal ini akan berubah tergantung pada persyaratan organisasi instalasi. Secara umum, kontrol berbutir halus (fine grained control) ini digunakan dalam situasi di mana operator perlu membatasi pembuatan, penghapusan, dan pengambilan sumber daya layanan pemrosesan Data. Operator yang perlu membatasi akses dalam sebuah proyek harus sepenuhnya sadar bahwa perlu ada cara alternatif bagi pengguna untuk mendapatkan akses ke fungsionalitas inti layanan (misalnya, provisioning cluster).

Example. Allow all methods to all users (default policy)

{
    "default": ""
}

Example. Disallow image registry manipulations to non-admin users

{
    "default": "",

    "data-processing:images:register": "role:admin",
    "data-processing:images:unregister": "role:admin",
    "data-processing:images:add_tags": "role:admin",
    "data-processing:images:remove_tags": "role:admin"
}

Kelompok keamanan

Layanan pemrosesan data memungkinkan untuk asosiasi kelompok keamanan dengan instance yang ditetapkan (provisioned) untuk kelompoknya. Tanpa konfigurasi tambahan, layanan akan menggunakan grup keamanan default untuk setiap proyek yang menyediakan cluster. Kelompok keamanan yang berbeda dapat digunakan jika diminta, atau ada opsi otomatis yang menginstruksikan layanan untuk membuat grup keamanan berdasarkan port yang ditentukan oleh kerangka (framework) yang diakses.

Untuk lingkungan produksi sebaiknya Anda mengendalikan kelompok keamanan secara manual dan membuat seperangkat aturan kelompok yang sesuai untuk pemasangan. Dengan cara ini, operator dapat memastikan bahwa grup keamanan default akan berisi semua peraturan yang sesuai. Untuk diskusi kelompok keamanan yang diperluas, lihat Kelompok keamanan.

Domain proxy

Saat menggunakan layanan Object Storage bersamaan dengan pemrosesan data, perlu menambahkan kredensial untuk akses store. Dengan domain proxy, layanan pemrosesan Data dapat menggunakan kepercayaan yang didelegasikan dari layanan Identitas untuk memungkinkan akses store melalui pengguna sementara yang dibuat di domain. Untuk mekanisme pendelegasian ini bekerja layanan, pengolah data harus dikonfigurasi menggunakan domain proxy dan operator harus mengkonfigurasi domain identitas untuk pengguna proxy.

The data processing controller retains temporary storage of the username and password provided for object store access. When using proxy domains the controller will generate this pair for the proxy user, and the access of this user will be limited to that of the identity trust. We recommend using proxy domains in any installation where the controller or its database have routes to or from public networks.

Example. Configuring for a proxy domain named “dp_proxy”

[DEFAULT]
use_domain_for_proxy_users = true
proxy_user_domain_name = dp_proxy
proxy_user_role_names = Member

Topologi jaringan kustom

Pengontrol pengolahan data dapat dikonfigurasi untuk menggunakan perintah proxy untuk mengakses instance clusternya. Dengan cara ini topologi jaringan kustom dapat dibuat untuk instalasi yang tidak akan menggunakan jaringan yang disediakan secara langsung oleh layanan Networking. Sebaiknya gunakan opsi ini untuk pemasangan yang memerlukan pembatasan akses antara pengontrol dan instances.

Example. Access instances through a specified relay machine

[DEFAULT]
proxy_command='ssh relay-machine-{tenant_id} nc {host} {port}'

Example. Access instances through a custom network namespace

[DEFAULT]
proxy_command='ip netns exec ns_for_{network_id} nc {host} {port}'

Akses tidak langsung

Untuk instalasi di mana pengendali akan memiliki akses terbatas ke semua instance cluster karena batasan pada alamat IP mengambang (floating IP address) atau peraturan keamanan, akses tidak langsung dapat dikonfigurasi. Hal ini memungkinkan beberapa instance ditunjuk sebagai gateway proxy ke instance cluster lainnya.

Konfigurasi ini hanya dapat diaktifkan saat menentukan template grup simpul yang akan membentuk cluster pengolahan data. Ini disediakan sebagai opsi run time untuk diaktifkan selama proses pembuatan klaster.

Rootwrap

Saat membuat topologi kustom untuk akses jaringan, diperlukan kemampuan pengguna non-root untuk menjalankan perintah proxy. Untuk situasi ini, paket rootwrap oslo digunakan untuk menyediakan fasilitas bagi pengguna non-root untuk menjalankan privileged commands. Konfigurasi ini memerlukan pengguna yang terkait dengan aplikasi pengontrol pengolah data agar berada dalam daftar sudoers dan untuk opsi yang akan diaktifkan pada file konfigurasi. Secara opsional, sebuah perintah rootwrap alternatif dapat diberikan.

Example. Enabling rootwrap usage and showing the default command

[DEFAULT]
use_rootwrap=True
rootwrap_command=’sudo sahara-rootwrap /etc/sahara/rootwrap.conf’

Untuk informasi lebih lanjut tentang proyek rootwrap, silakan lihat dokumentasi resmi :https://wiki.openstack.org/wiki/Rootwrap

Logging

Pemantauan output dari pengontrol layanan adalah alat forensik yang hebat, seperti yang dijelaskan lebih teliti di Pemantauan dan logging. Pengontrol layanan pengolahan data menawarkan beberapa pilihan untuk mengatur lokasi dan tingkat logging.

Example. Setting the log level higher than warning and specifying an output file.

[DEFAULT]
verbose = true
log_file = /var/log/data-processing.log

Bibliografi

OpenStack.org, Welcome to Sahara!. 2016. Sahara project documentation

The Apache Software Foundation, Welcome to Apache Hadoop!. 2016. Apache Hadoop project

The Apache Software Foundation, Hadoop in Secure Mode. 2016. Hadoop secure mode docs

The Apache Software Foundation, HDFS User Guide. 2016. Hadoop HDFS documentation

The Apache Software Foundation, Spark. 2016. Spark project

The Apache Software Foundation, Spark Security. 2016. Spark security documentation

The Apache Software Foundation, Apache Storm. 2016. Storm project

The Apache Software Foundation, Apache Zookeeper. 2016. Zookeeper project

The Apache Software Foundation, Apache Oozie Workflow Scheduler for Hadoop. 2016. Oozie project

The Apache Software Foundation, Apache Hive. 2016. Hive

The Apache Software Foundation, Welcome to Apache Pig. 2016. Pig

The Apache Software Foundation, Cloudera Product Documentation. 2016. Cloudera CDH documentation

Hortonworks, Hortonworks. 2016. Hortonworks Data Platform documentation

MapR Technologies, Apache Hadoop for the MapR Converged Data Platform. 2016. MapR project