Kontrol listesi

Check-Neutron-01: Yapılandırma dosyalarının kullanıcı/grup sahipliği root/neutron mu?

Configuration files contain critical parameters and information required for smooth functioning of the component. If an unprivileged user, either intentionally or accidentally modifies or deletes any of the parameters or the file itself then it would cause severe availability issues causing a denial of service to the other end users. Thus user ownership of such critical configuration files must be set to root and group ownership must be set to neutron. Additionally, the containing directory should have the same ownership to ensure that new files are owned correctly.

Aşağıdaki komutları çalıştırın:

$ stat -L -c "%U %G" /etc/neutron/neutron.conf | egrep "root neutron"
$ stat -L -c "%U %G" /etc/neutron/api-paste.ini | egrep "root neutron"
$ stat -L -c "%U %G" /etc/neutron/policy.json | egrep "root neutron"
$ stat -L -c "%U %G" /etc/neutron/rootwrap.conf | egrep "root neutron"
$ stat -L -c "%U %G" /etc/neutron | egrep "root neutron"

Başarılı: Tüm yapılandırma dosyalarının kullanıcı ve grup sahipliği sırasıyla root ve neutron ise. Yukarıdaki komutlar root neutron çıktısı vermeli.

Başarısız: Eğer yukarıdaki komutlar hiçbir çıktı dönmezse, kullanıcı ve grup sahipliği root ve neutron haricinde bir şey ise.

Check-Neutron-02: 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/neutron/neutron.conf
$ stat -L -c "%a" /etc/neutron/api-paste.ini
$ stat -L -c "%a" /etc/neutron/policy.json
$ stat -L -c "%a" /etc/neutron/rootwrap.conf
$ stat -L -c "%a" /etc/neutron

A broader restriction is also possible: if the containing directory is set to 750, the guarantee is made that newly created files inside this directory would have the desired permissions.

Pass: If permissions are set to 640 or stricter, or the containing directory is set to 750. The permissions of 640 translates into owner r/w, group r, and no rights to others i.e. “u=rw,g=r,o=”.

Note that with Check-Neutron-01: Yapılandırma dosyalarının kullanıcı/grup sahipliği root/neutron mu? and permissions set to 640, root has read/write access and neutron has read access to these configuration files. The access rights can also be validated using the following command. This command will only be available on your system if it supports ACLs.

$ getfacl --tabular -a /etc/neutron/neutron.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/neutron/neutron.conf
USER   root     rw-
GROUP  neutron  r--
mask            r--
other           ---

Başarısız: Eğer yetkileri en az 640 değilse.

Check-Neutron-03: Kimlik doğrulama için keystone kullanıldı mı?

Not

This item only applies to OpenStack releases Rocky and before as auth_strategy was deprecated in Stein.

OpenStack, noauth, keystone vb. gibi çeşitli kimlik doğrulama stratejilerini desteklemektedir. Eğer ‘noauth’ stratejisi kullanılıyorsa, kullanıcılar herhangi bir kimlik denetimi olmaksızın OpenStack servisleri ile etkileşimde bulunabilirler. Bu, bir saldırgan OpenStack bileşenlerine yetkisiz erişebileceğinden potansiyel bir risk oluşturabilir. Bu nedenle, tüm servislerin servis hesaplarını kullanarak keystone ile doğrulanması önemle tavsiye edilir.

Başarılı: /etc/neutron/neutron.conf dosyasında [DEFAULT] bölümündeki auth_strategy parametresinin değeri keystone ise.

Başarısız: Eğer /etc/nova/nova.conf dosyasındaki [DEFAULT] bölümündeki auth_strategy değeri noauth ya da noauth2 ise.

Check-Neutron-04: Kimlik doğrulama için güvenli protokol kullanıldı mı?

OpenStack bileşenleri kendi aralarında çeşitli protokollerde ve hassas / gizli veri içeren bir iletişim yapabilir. Saldırgan, bu hassas bilgileri erişim sağlamak için bu kanalı dinleyebilir. Bu yüzden tüm bileşenler güvenli bir haberleşme protokolü kullanarak haberleşmelidir.

Pass: If value of parameter www_authenticate_uri under [keystone_authtoken] section in /etc/neutron/neutron.conf is set to Identity API endpoint starting with https:// and value of parameter insecure under the same [keystone_authtoken] section in the same /etc/neutron/neutron.conf is set to False.

Fail: If value of parameter www_authenticate_uri under [keystone_authtoken] section in /etc/neutron/neutron.conf is not set to Identity API endpoint starting with https:// or value of parameter insecure under the same [keystone_authtoken] section in the same /etc/neutron/neutron.conf is set to True.

Check-Neutron-05: Neutron API sunucusunda TLS etkinleştirildi mi?

Önceki denetime benzer şekilde, API sunucusunda güvenli iletişimi etkinleştirmeniz önerilir.

Başarılı: /etc/neutron/neutron.conf dosyasında [DEFAULT] bölümündeki use_ssl parametresinin değeri True ise.

Başarılı: /etc/neutron/neutron.conf dosyasında [DEFAULT] bölümündeki use_ssl parametresinin değeri False ise.