Daftar periksa

Check-Image-01: Apakah kepemilikan user/group dari file konfigurasi diset ke root/glance?

File konfigurasi berisi parameter penting dan informasi yang diperlukan untuk kelancaran komponen. Jika pengguna yang tidak memiliki hak istimewa, baik secara sengaja atau tidak sengaja, memodifikasi atau menghapus salah satu parameter atau file itu sendiri, maka hal itu akan menyebabkan masalah ketersediaan yang parah yang mengakibatkan penolakan layanan kepada pengguna akhir lainnya. Oleh karena itu, kepemilikan pengguna atas file konfigurasi kritis tersebut harus diatur ke root dan kepemilikan grup harus diatur ke glance. Selain itu, direktori yang berisi harus memiliki kepemilikan yang sama untuk memastikan bahwa file baru dimiliki dengan benar.

Jalankan perintah berikut:

$ stat -L -c "%U %G" /etc/glance/glance-api-paste.ini | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/glance-api.conf | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/glance-cache.conf | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/glance-manage.conf | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/glance-registry-paste.ini | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/glance-registry.conf | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/glance-scrubber.conf | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/glance-swift-store.conf | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/policy.json | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/schema-image.json | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance/schema.json | egrep "root glance"
$ stat -L -c "%U %G" /etc/glance | egrep "root glance"

Pass: Jika kepemilikan pengguna dan grup dari semua file konfigurasi ini disetel masing masing ke root dan glance. Perintah di atas menunjukkan output dari root glance.

Fail: Jika perintah di atas tidak mengembalikan output apapun.

Check-Image-02: Apakah izin ketat diatur untuk file konfigurasi?

Serupa dengan cek sebelumnya, sebaiknya Anda menetapkan izin akses yang ketat untuk file konfigurasi tersebut.

Jalankan perintah berikut:

$ stat -L -c "%a" /etc/glance/glance-api-paste.ini
$ stat -L -c "%a" /etc/glance/glance-api.conf
$ stat -L -c "%a" /etc/glance/glance-cache.conf
$ stat -L -c "%a" /etc/glance/glance-manage.conf
$ stat -L -c "%a" /etc/glance/glance-registry-paste.ini
$ stat -L -c "%a" /etc/glance/glance-registry.conf
$ stat -L -c "%a" /etc/glance/glance-scrubber.conf
$ stat -L -c "%a" /etc/glance/glance-swift-store.conf
$ stat -L -c "%a" /etc/glance/policy.json
$ stat -L -c "%a" /etc/glance/schema-image.json
$ stat -L -c "%a" /etc/glance/schema.json
$ stat -L -c "%a" /etc/glance

Pembatasan yang lebih luas juga dimungkinkan: jika direktori yang berisi diatur ke 750, jaminan dibuat bahwa file yang baru dibuat di dalam direktori ini akan memiliki izin yang diinginkan.

Pass: Jika izin diatur ke 640 atau lebih ketat, atau direktori yang berisi diatur ke 750. Izin 640/750 diterjemahkan ke dalam pemilik r/w, grup r, dan tidak ada hak kepada orang lain. Sebagai contoh, u=rw,g=r,o=.

Catatan

Dengan Check-Image-01: Apakah kepemilikan user/group dari file konfigurasi diset ke root/glance?, dan hak akses diatur ke 640, root telah membaca/menulis akses dan glance telah membaca akses ke file konfigurasi ini. Hak akses juga bisa divalidasi dengan menggunakan perintah berikut. Perintah ini hanya akan tersedia di sistem Anda jika mendukung ACL.

$ getfacl --tabular -a /etc/glance/glance-api.conf
getfacl: Removing leading '/' from absolute path names
# file: /etc/glance/glance-api.conf
USER   root  rw-
GROUP  glance  r--
mask         r--
other        ---

Fail: Jika izin tidak diatur ke setidaknya 640.

Check-Image-03: Apakah keystone digunakan untuk otentikasi?

Catatan

Item ini hanya berlaku untuk rilis OpenStack Rocky dan sebelumnya karena auth_strategy sudah tidak digunakan lagi di Stein.

OpenStack mendukung berbagai strategi otentikasi termasuk noauth, dan keystone. Jika strategi noauth digunakan, pengguna dapat berinteraksi dengan layanan OpenStack tanpa autentikasi apapun. Ini bisa menjadi risiko potensial karena penyerang bisa mendapatkan akses tidak sah ke komponen OpenStack. Kami sangat menyarankan agar semua layanan harus diotentikasi dengan keystone menggunakan akun layanan mereka.

Pass: Jika nilai parameter auth_strategy dibawah bagian [DEFAULT] di /etc/glance/glance-api.conf diatur ke keystone dan nilai parameter auth_strategy dibawah bagian [DEFAULT] di /etc/glance /glance-registry.conf diatur ke keystone.

Fail: Jika nilai parameter auth_strategy dibawah bagian [DEFAULT] di /etc/glance/glance-api.conf dieter ke noauth atau nilai parameter auth_strategy dibawah bagian [DEFAULT] di /etc/glance/glance- registry.conf diatur ke noauth.

Check-Image-04: Apakah TLS diaktifkan untuk otentikasi?

Komponen OpenStack berkomunikasi satu sama lain dengan menggunakan berbagai protokol dan komunikasi mungkin melibatkan data sensitif atau rahasia. Penyerang dapat mencoba menguping (eavesdrop) saluran untuk mendapatkan akses ke informasi sensitif. Semua komponen harus berkomunikasi satu sama lain menggunakan protokol komunikasi aman.

Pass: Jika nilai parameter `` www_authenticate_uri`` di bawah bagian [keystone_authtoken] `` di  ``/etc/glance/glance-api.conf diatur ke titik akhir API Identity yang dimulai dengan `` https: // `` , dan nilai parameter `` insecure`` berada di bawah bagian [keystone_authtoken] `` yang sama di  ``/etc/glance/glance-registry.conf yang sama diatur ke``False``.

Fail: Jika nilai parameter `` www_authenticate_uri`` di bawah bagian [keystone_authtoken] dalam /etc/glance/glance-api.conf tidak disetel ke titik akhir API Identitas yang dimulai dengan `` https: // `` , atau nilai parameter insecure di bawah bagian [keystone_authtoken] yang sama di /etc/glance/glance-api.conf yang sama disetel ke``True``.

Check-Image-05: Apakah scan port tertutup (masked) dicegah?

Fitur copy_from pada Image Service API v1 yang disuplai oleh Glance memungkinkan penyerang melakukan scan port jaringan bertopeng (masked). Jika API v1 diaktifkan, kebijakan ini harus ditetapkan ke nilai yang dibatasi.

**Pass:* Jika nilai parameter copy_from di /etc/glance/policy.json diatur ke nilai yang dibatasi, misalnya role: admin.

Fail: Jika nilai parameter copy_from di /etc/glance/policy.json` tidak diatur.