Nama domain, upgrade dasbor, dan konfigurasi server web dasar

Nama domain

Banyak organisasi biasanya menyebarkan aplikasi web di subdomain dari domain organisasi yang melindunginya (overarching). Adalah wajar bagi pengguna untuk mengharapkan sebuah domain dengan bentuk openstack.example.org. Dalam konteks ini, sering ada aplikasi yang digunakan dalam namespace second-level yang sama. Struktur nama ini nyaman dan menyederhanakan pemeliharaan server nama.

Kami sangat menyarankan untuk menerapkan dasbor ke second-level domain, seperti https://example.com, daripada menerapkan dasbor di shared subdomain dari tingkat mana pun, misalnya https://openstack.example.org atau https://horizon.openstack.example.org. Kami juga menyarankan untuk tidak menerapkan domain internal yang kosong seperti https://horizon/. Rekomendasi ini didasarkan pada keterbatasan browser same-origin-policy.

Rekomendasi yang diberikan dalam panduan ini tidak dapat secara efektif mencegah serangan yang diketahui jika Anda memasang dasbor di domain yang juga menghosting konten buatan pengguna, meskipun konten ini berada pada sub-domain terpisah. Konten buatan pengguna dapat terdiri dari skrip, gambar, atau upload jenis apa pun. Sebagian besar kehadiran web utama, termasuk googleusercontent.com, fbcdn.com, github.io, dan twimg.co, gunakan pendekatan ini untuk memisahkan konten buatan pengguna dari cookie dan token keamanan.

Jika Anda tidak mengikuti saran ini mengenai domain tingkat kedua, hindaricookie-backed session dan gunakan HTTP Strict Transport Security (HSTS). Saat ditempatkan di subdomain, keamanan dasbor setara dengan aplikasi yang paling tidak aman yang diterapkan pada domain tingkat kedua yang sama.

Konfigurasi server web dasar

Dasbor harus digunakan sebagai aplikasi Web Services Gateway Interface (WSGI) di belakang proxy HTTPS seperti Apache atau Nginx. Jika Apache belum digunakan, kami sarankan Nginx karena sudah ringan dan mudah dikonfigurasi dengan benar.

Ketika menggunakan Nginx, we recommend gunicorn sebagai WSGI host dengan jumlah pekerja sinkron yang sesuai. Bila menggunakan Apache, sebaiknya mod_wsgi untuk meng-host dasbor.

Host yang diizinkan

Konfigurasikan pengaturan ``ALLOWED_HOSTS` dengan nama host yang memenuhi syarat yang dilayani oleh dasbor OpenStack. Setelah pengaturan ini diberikan, jika nilai pada header "Host:" dari permintaan HTTP yang masuk tidak sesuai dengan salah satu nilai dalam daftar ini, kesalahan akan diajukan dan peminta tidak dapat melanjutkan. Gagal mengkonfigurasi opsi ini, atau penggunaan karakter wild card dalam nama host yang ditentukan, akan menyebabkan dasbor rentan terhadap pelanggaran keamanan yang terkait dengan header Host HTTP palsu.

Untuk keterangan lebih lanjut, lihat Django documentation.

Upload image Horizon

Kami merekomendasikan pelaksana disable HORIZON_IMAGES_ALLOW_UPLOAD kecuali mereka telah menerapkan rencana untuk mencegah kelelahan dan penolakan layanan.