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: Apakah Identity menggunakan algoritma hashing yang kuat untuk token PKI?

MD5 adalah algoritma hashing yang lemah dan terdepresiasi. Bisa retak menggunakan serangan brute force. Token identitas sensitif dan perlu dilindungi dengan algoritma hashing yang lebih kuat untuk mencegah pengungkapan yang tidak sah dan akses berikutnya.

Pass: Jika nilai parameter hash_algorithm di bawah bagian [token] `` di ``/etc/keystone/keystone.conf diatur ke SHA256.

Fail: Jika nilai parameter hash_algorithm di bawah bagian ``[token] ``diatur ke MD5.

Direkomendasikan di: Tokens.

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.