Kontrol listesi¶
Check-Dashboard-01: Yapılandırma dosyalarının kullanıcı/grup ayarları root/horizon mu?¶
Yapılandırma dosyaları, bileşenin düzgün çalışması için gereken kritik parametreleri ve bilgileri içerir. İzinsiz bir kullanıcı ya kasıtlı olarak veya yanlışlıkla herhangi bir parametreyi veya dosyayı değiştirirse veya silerse, diğer son kullanıcılara hizmet reddine neden olan ciddi kullanılabilirlik sorunlarına neden olur. Böylece, bu kritik yapılandırma dosyalarının kullanıcı sahipliği root olarak ayarlanmalı ve grup sahipliği horizon olarak ayarlanmalıdır.
Aşağıdaki komutları çalıştırın:
$ stat -L -c "%U %G" /etc/openstack-dashboard/local_settings.py | egrep "root horizon"
Başarılı: Eğer yapılandırma dosyalarının kullanıcı ve grup sahipliği sırasıyla root ve horizon ise. Yukarıdaki komutlar root horizon çıktısını verir.
Başarısız: Kullanıcı sahipliği root değilse ve grup sahipliği horizon değilse eğer yukarıdaki komutlar hiçbir çıktı dönmez.
Check-Dashboard-02: Horizon yapılandırma dosyaları için sıkı izinler ayarlandı mı?¶
Önceki denetimine benzer şekilde, bu yapılandırma dosyaları için sıkı erişim izinlerini ayarlamanız önerilir.
Aşağıdaki komutları çalıştırın:
$ stat -L -c "%a" /etc/openstack-dashboard/local_settings.py
Başarılı: Eğer izinler 640 ya da daha sıkı ise. İzinlerin 640 olması demek, sahip o/y, grup o ve diğerlerine hiç yetki yok demektir. Örneğin “u=rw,g=r,o=”. Check-Dashboard-01: Yapılandırma dosyalarının kullanıcı/grup ayarları root/horizon mu? ile ve izinler 640 ise, bu yapılandırma dosyalarına root’un okuma/yazma yetkisi ve horizon’un okuma yetkisi vardır. Erişim izinleri aşağıdaki komut ile doğrulanabilir. Bu komut sadece sistem ACL destekliyorsa kullanılabilirdir.
$ 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 ---
Başarısız: Eğer yetkileri en az 640 değilse.
Check-Dashboard-03: DISALLOW_IFRAME_EMBED
parametresi True
mu?¶
DISALLOW_IFRAME_EMBED
parametresi OpenStack Panelinin bir iframe içinde gömülmesini engellemek içindir.
Eski tarayıcılar, Çerçeveler Arası Komut Dosyası Çalıştırma (XFS) güvenlik açığı için halen savunmasızdır, bu nedenle bu seçenek, kurulumda iframelerin kullanılmadığı durumlarda ek güvenlik zorlamasına izin verir.
Öntanımlı ayar True.
Başarılı: /etc/openstack-dashboard/local_settings.py
dosyasındaki DISALLOW_IFRAME_EMBED
parametresinin değeri True
ise.
Başarısız: /etc/openstack-dashboard/local_settings.py
dosyasındaki DISALLOW_IFRAME_EMBED
parametresinin değeri False
ise.
HTTPS, HSTS, XSS, ve SSRF de önerildi.
Check-Dashboard-07: PASSWORD_AUTOCOMPLETE
parametresinin değeri False
mu?¶
Uygulamaların kullanıcılara kolaylık sağlamak için kullandığı ortak özellik parolanın yerel olarak tarayıcıda (istemci makinesinde) önbellekte tutulması ve sonraki tüm isteklerde ‘önceden yazılmış’ olmasıdır. Bu özellik ortalama kullanıcı için son derece samimi olarak algılanabilirken aynı zamanda kullanıcı hesabına aynı hesabı kullanan istemci makinede kullanıcı hesabı kolayca erişilebileceği için bir kusur ortaya koymaktadır ve bu nedenle kullanıcı hesabının ele geçirilmesine sebep olabilir.
Başarılı: Eğer /etc/openstack-dashboard/local_settings.py
dosyasındaki PASSWORD_AUTOCOMPLETE
parametresinin değeri off
ise.
Başarısız: Eğer /etc/openstack-dashboard/local_settings.py
dosyasındaki PASSWORD_AUTOCOMPLETE
parametresinin değeri on
ise.
Check-Dashboard-08: DISABLE_PASSWORD_REVEAL
parametresi True
mu?¶
Bir önceki kontrole benzer olarak, parola alanlarını ortaya çıkarmanız önerilmez.
Başarılı: Eğer /etc/openstack-dashboard/local_settings.py
dosyasındaki DISABLE_PASSWORD_REVEAL
parametresinin değeri True
ise.
Başarısız: Eğer /etc/openstack-dashboard/local_settings.py
dosyasındaki DISABLE_PASSWORD_REVEAL
parametresinin değeri False
ise.
Not
Bu seçenek Kilo sürümü ile tanıtıldı.
Check-Dashboard-09: ENFORCE_PASSWORD_CHECK
değeri True
mu?¶
ENFORCE_PASSWORD_CHECK
parametresini True olarak ayarlamak, ‘Yönetici Parolası’ alanını, Parola Değiştirme formunda, parolayı değiştirmek isteyenin yönetici olduğunu doğrulamak için gösterir.
Başarılı: /etc/openstack-dashboard/local_settings.py
dosyasında ENFORCE_PASSWORD_CHECK
parametresi True
ise.
Başarısız: /etc/openstack-dashboard/local_settings.py
dosyasında ENFORCE_PASSWORD_CHECK
parametresi False
ise.
Check-Dashboard-10: PASSWORD_VALIDATOR
yapılandırıldı mı?¶
Kullanıcı parolası karmaşıklığını doğrulamak için düzenli ifade kullanılmasını sağlar.
Başarılı: /etc/openstack-dashboard/local_settings.py
dosyasında PASSWORD_VALIDATOR
parametresi “regex”: ‘.*’, dışında bir değer ise
Başarısız: /etc/openstack-dashboard/local_settings.py
dosyasında PASSWORD_VALIDATOR
parametresi “regex”: ‘.*’, ise.
Check-Dashboard-11: SECURE_PROXY_SSL_HEADER
yapılandırıldı mı?¶
OpenStack Paneli bir vekilin arkasında konuşlandırılmışsa ve vekil, gelen tüm isteklerden X-Forwarded-Proto
başlığını kaldırıyorsa veya X-Forwarded-Proto
başlığını ayarlar ve Panele gönderirse ancak yalnızca Panele gönderirse başlangıçta HTTPS yoluyla gelen talepler için, SECURE_PROXY_SSL_HEADER
yapılandırmayı düşünmelisiniz.
Daha fazla bilgi Django belgelendirmesinde mevcut.
Başarılı: Eğer /etc/openstack-dashboard/local_settings.py
dosyasındaki SECURE_PROXY_SSL_HEADER
parametresinin değeri 'HTTP_X_FORWARDED_PROTO', 'https'
ise.
Başarısız: Eğer /etc/openstack-dashboard/local_settings.py
dosyasındaki SECURE_PROXY_SSL_HEADER
parametresinin değeri 'HTTP_X_FORWARDED_PROTO', 'https'
değil ise ya da yorum satırı ise.