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.