Daftar periksa¶
Check-Identity-01: Apakah kepemilikan user/group dari file konfigurasi diatur ke keystone?¶
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 itu akan menyebabkan masalah ketersediaan yang parah yang menyebabkan penolakan layanan kepada pengguna akhir lainnya. Dengan demikian, kepemilikan pengguna dan grup atas file konfigurasi kritis tersebut harus diatur ke pemilik komponen tersebut. 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/keystone/keystone.conf | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/keystone-paste.ini | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/policy.json | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/logging.conf | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/ssl/certs/signing_cert.pem | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/ssl/private/signing_key.pem | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/ssl/certs/ca.pem | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone | egrep "keystone keystone"
Pass: Jika kepemilikan pengguna dan grup dari semua file konfigurasi ini diatur ke keystone. Perintah di atas menunjukkan output dari keystone.
Fail: Jika perintah di atas tidak mengembalikan output apa pun karena pengguna atau kepemilikan grup mungkin telah ditetapkan ke pengguna selain keystone.
Direkomendasikan di: Metode otentikasi yang diimplementasikan secara internal.
Check-Identity-02: Apakah izin ketat ditetapkan untuk file konfigurasi Identity?¶
Serupa dengan cek sebelumnya, disarankan untuk menetapkan izin akses yang ketat untuk file konfigurasi tersebut.
Jalankan perintah berikut:
$ stat -L -c "%a" /etc/keystone/keystone.conf
$ stat -L -c "%a" /etc/keystone/keystone-paste.ini
$ stat -L -c "%a" /etc/keystone/policy.json
$ stat -L -c "%a" /etc/keystone/logging.conf
$ stat -L -c "%a" /etc/keystone/ssl/certs/signing_cert.pem
$ stat -L -c "%a" /etc/keystone/ssl/private/signing_key.pem
$ stat -L -c "%a" /etc/keystone/ssl/certs/ca.pem
$ stat -L -c "%a" /etc/keystone
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 mengandung diatur ke 750.
Fail: Jika izin tidak disetel ke setidaknya 640/750.
Direkomendasikan di: Metode otentikasi yang diimplementasikan secara internal.
Check-Identity-03: Apakah TLS diaktifkan untuk Identity?¶
Komponen OpenStack berkomunikasi satu sama lain menggunakan berbagai protokol dan komunikasi mungkin melibatkan data sensitif atau rahasia. Penyerang dapat mencoba menguping (eavesdrop) saluran untuk mendapatkan akses ke informasi sensitif. Dengan demikian semua komponen harus berkomunikasi satu sama lain menggunakan protokol komunikasi aman seperti HTTPS.
Jika Anda menggunakan server HTTP/WSGI I untuk Identity, Anda harus mengaktifkan TLS di server HTTP/WSGI.
Pass: Jika TLS diaktifkan pada server HTTP.
Fail: Jika TLS tidak diaktifkan pada server HTTP.
Direkomendasikan di: Komunikasi yang aman.
Check-Identity-04: (Obsolete)¶
Check-Identity-05: Apakah max_request_body_size
disetel ke default (114688)?¶
Parameter max_request_body_size
mendefinisikan ukuran body maksimum per permintaan dalam satuan byte. Jika ukuran maksimum tidak ditentukan, penyerang bisa mengajukan permintaan semaunya (arbitrary) dengan ukuran besar menyebabkan layanan mogok dan akhirnya mengakibatkan serangan Denial Of Service. Menetapkan nilai maksimum memastikan bahwa permintaan besar yang berbahaya diblokir untuk memastikan ketersediaan komponen yang dilanjutkan.
Pass: Jika nilai parameter max_request_body_size
di /etc/keystone/keystone.conf
diatur ke default (114688) atau beberapa nilai wajar berdasarkan lingkungan Anda.
Fail: Jika nilai parameter max_request_body_size
tidak disetel.
Check-Identity-06:Nonaktifkan token admin masuk /etc/keystone/keystone.conf
¶
Token admin umumnya digunakan untuk bootstrap Identity. Token ini adalah aset Identity yang paling berharga, yang bisa digunakan untuk mendapatkan hak istimewa admin awan.
Pass: Jika admin_token
di bawah bagian [DEFAULT]
di /etc/keystone/keystone.conf
dinonaktifkan. Dan, AdminTokenAuthMiddleware
di bawah [filter:admin_token_auth]
dihapus dari /etc/keystone/keystone-paste.ini
Fail: Jika admin_token
di bawah bagian [DEFAULT] `` disetel dan ``AdminTokenAuthMiddleware
ada di keystone-paste.ini
.
Tip
Menonaktifkan admin_token
berarti memiliki nilai <none>
.
Check-Identity-07: Insecure_debug salah di /etc/keystone/keystone.conf
¶
Jika insecure_debug
disetel ke true, server akan mengembalikan informasi dalam tanggapan HTTP yang memungkinkan pengguna yang tidak berkepentingan atau dikonfirmasi untuk mendapatkan lebih banyak informasi daripada biasanya, seperti detail tambahan mengapa otentikasi gagal.
**Pass:**Jika insecure_debug
di bawah bagian `` [DEFAULT] `` di `/etc/keystone/keystone.conf
adalah salah.
Fail: Jika insecure_debug
di bawah bagian [DEFAULT] `` di ``/etc/keystone/keystone.conf
benar adanya.
Check-Identity-08: Gunakan token fernet di /etc/keystone/keystone.conf
¶
Layanan OpenStack Identity menyediakan uuid
dan fernet
sebagai token provider. Token uuid
harus tetap bertahan dan dianggap tidak aman.
**Pass:**Jika nilai parameter provider
di bawah bagian [token] `` di ``/etc/keystone/keystone.conf
diatur ke fernet.
Fail: Jika nilai parameter provider
di bawah bagian ``[token] `` diatur ke uuid.