Daftar periksa

Check-Dashboard-01: Apakah user/grup file konfigurasi diset ke root/horizon?

File konfigurasi berisi parameter dan informasi penting yang diperlukan untuk kelancaran fungsi komponen. Jika pengguna yang tidak berpengalaman, baik sengaja atau tanpa sengaja memodifikasi atau menghapus parameter atau file itu sendiri maka akan menyebabkan masalah ketersediaan yang menyebabkan penolakan layanan kepada end user lainnya. Dengan demikian kepemilikan pengguna terhadap file konfigurasi kritis tersebut harus disetel ke kepemilikan root dan grup harus disetel ke horizon.

Jalankan perintah berikut:

$ stat -L -c "%U %G"  /etc/openstack-dashboard/local_settings.py | egrep "root horizon"

Pass: Jika kepemilikan pengguna dan grup dari file konfigurasi diset ke root dan horizon masing-masing. Perintah di atas menunjukkan output dari root horizon.

Fail: Jika perintah di atas tidak mengembalikan output apa pun karena kepemilikan user dan grup mungkin telah ditetapkan ke user selain root atau grup selain horizon.

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

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

Jalankan perintah berikut:

$ stat -L -c "%a" /etc/openstack-dashboard/local_settings.py

Pass: Jika izin diatur ke 640 atau lebih ketat. Perizinan 640 diterjemahkan menjadi owner r/w, group r, dan tidak ada hak kepada orang lain yaitu "u=rw,g=r,o=". Perhatikan bahwa dengan :ref: check_dashboard_01 dan izin diset ke 640, root telah membaca/menulis akses dan horizon telah membaca akses ke file konfigurasi ini. Hak akses juga dapat divalidasi dengan menggunakan perintah berikut. Perintah ini hanya akan tersedia di sistem Anda jika mendukung ACL.

$ getfacl --tabular -a /etc/openstack-dashboard/local_settings.py
getfacl: Removing leading '/' from absolute path names
# file: etc/openstack-dashboard/local_settings.py
USER   root     rw-
GROUP  horizon  r--
mask            r--
other           ---

Fail: Jika izin tidak diatur ke setidaknya 640.

Check-Dashboard-03: Apakah parameter DISALLOW_IFRAME_EMBED disetel ke `` True``?

DISALLOW_IFRAME_EMBED dapat digunakan untuk mencegah Dasbor OpenStack tidak disisipkan dalam iframe.

Browser lawas masih rentan terhadap kerentanan Cross-Frame Scripting (XFS), jadi opsi ini memungkinkan pengerasan keamanan ekstra jika iframe tidak digunakan dalam penerapan.

Pengaturan default menjadi True.

**Pass: ** Jika nilai parameter DISALLOW_IFRAME_EMBED di /etc/openstack-dashboard/local_settings.py diatur ke True.

Fail: Jika nilai parameter DISALLOW_IFRAME_EMBED di /etc/openstack-dashboard/local_settings.py diatur ke False.

Direkomendasikan di: HTTPS, HSTS, XSS, and SSRF.

Check-Dashboard-07: Apakah PASSWORD_AUTOCOMPLETE disetel ke False?

Fitur umum yang digunakan untuk memberikan kenyamanan bagi pengguna adalah meng-cache kata sandi secara lokal di browser (di mesin klien) dan memilikinya 'pre-typed'' di semua permintaan berikutnya. Meskipun fitur ini dapat dianggap sangat ramah bagi pengguna rata-rata, pada saat bersamaan, ia memperkenalkan kekurangan, karena akun pengguna mudah diakses oleh siapa saja yang menggunakan akun yang sama di mesin klien dan karenanya dapat menyebabkan kompromi terhadap akun pengguna.

**Pass:**Jika nilai parameter PASSWORD_AUTOCOMPLETE di /etc/openstack-dashboard/local_settings.py diatur ke off.

Fail: Jika nilai parameter PASSWORD_AUTOCOMPLETE di /etc/openstack-dashboard/local_settings.py diatur ke on.

Check-Dashboard-08: Apakah DISABLE_PASSWORD_REVEAL disetel ke True?

Serupa dengan cek sebelumnya, disarankan untuk tidak mengungkapkan field kata kunci.

Pass: Jika nilai parameter DISABLE_PASSWORD_REVEAL di /etc/openstack-dashboard/local_settings.py diatur ke True.

Fail: Jika nilai parameter DISABLE_PASSWORD_REVEAL di /etc/openstack-dashboard/local_settings.py diatur ke False.

Catatan

Pilihan ini diperkenalkan dalam rilis Kilo.

Check-Dashboard-09: Apakah ENFORCE_PASSWORD_CHECK disetel ke True?

Menetapkan ENFORCE_PASSWORD_CHECK ke True akan menampilkan field 'Admin Password' pada form Change Password untuk memverifikasi bahwa memang admin logged-in yang ingin mengganti kata sandinya.

Pass: Jika nilai parameter ENFORCE_PASSWORD_CHECK di /etc/openstack-dashboard/local_settings.py disetel ke True.

Fail: Jika nilai parameter `` ENFORCE_PASSWORD_CHECK`` di /etc/openstack-dashboard/local_settings.py diatur ke False.

Check-Dashboard-10: Apakah PASSWORD_VALIDATOR dikonfigurasi?

Mengizinkan ekspresi reguler untuk memvalidasi kompleksitas kata sandi pengguna.

Pass: Jika nilai parameter PASSWORD_VALIDATOR di /etc/openstack-dashboard/local_settings.py diatur ke nilai apapun di luar defaul mengizinkan semua " regex ": '. *',

Fail: Jika nilai parameter PASSWORD_VALIDATOR di /etc/openstack-dashboard/local_settings.py disetel untuk mengizinkan semua " regex ": '. *'

Check-Dashboard-11: Apakah SECURE_PROXY_SSL_HEADER dikonfigurasi?

Jika Dasbor OpenStack ditempatkan di belakang proxy dan proxy strips X-Forwarded-Proto header dari semua permintaan masuk, atau setel X-Forwarded-Proto header dan kirimkan ke Dashboard, tapi hanya untuk permintaan yang awalnya masuk melalui HTTPS, maka Anda harus mempertimbangkan untuk mengkonfigurasi SECURE_PROXY_SSL_HEADER

Informasi lebih lanjut dapat ditemukan di Django documentation.

Pass: Jika nilai parameter `` SECURE_PROXY_SSL_HEADER`` di /etc/openstack-dashboard/local_settings.py diatur ke 'HTTP_X_FORWARDED_PROTO', 'https'

Fail: Jika nilai parameter SECURE_PROXY_SSL_HEADER di /etc/openstack-dashboard/local_settings.py tidak disetel ke 'HTTP_X_FORWARDED_PROTO', 'https' atau berkomentar.