ECS: Yönetim API 403 Hatalarını ve Erişilemeyen Grafana Kullanıcı Arabirimini Önlemek için ECS 3.8.0 ve Sonraki Sürümlerde Ana Bilgisayar Üst Bilgisi Eklemeyi Önleme

Summary: ECS 3.8.0.x sürümünden itibaren, ana bilgisayar başlığı ekleme ile ilgili bir güvenlik sorunu giderilmiştir (Bkz. STORAGE-27164 sürüm notları).

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Ana Bilgisayar Başlığı Enjeksiyonu nedir?

  • Uygulama, kullanıcı tarafından sağlanan HTTP Ana Bilgisayar Başlığına güveniyor ve başka bir sayfaya yeniden yönlendirmek için kullanıcı tarafından sağlanan ana bilgisayar başlığını kullanıyor. 
  • Saldırganlar, HTTP Ana Bilgisayar başlığını kötü amaçlı bir ana bilgisayar adıyla değiştirerek ve kullanıcıyı kötü amaçlı bir web sayfasına yönlendirerek bu durumdan yararlanabilir. 
Not: Bu yalnızca ara sunucu veya yük dengeleyici aracılığıyla yapılan Yönetim API'si çağrılarını etkiler. Veri işlemlerini etkilemez.


ECS 3.8.0.x sürümünden itibaren hangi değişiklikler uygulanıyor?

Düzeltmenin bir parçası olarak, izin verilen sunucu adları listesinin ayarlanmasına veya ayarının kaldırılmasına olanak tanıyan yeni bir API kümesi uygulanır. Gelen isteklerin ana bilgisayar başlık değeri bu listeye göre kontrol edilir. Ana bilgisayar başlığı değeri bu listede yoksa istek reddedilir.

Aşağıda, kabul edilen sunucuların listesini kaydetmek ve yönetmek için kullanıma sunulan yeni REST API seti yer almaktadır.
 
Kaynak Adı Açıklama
GET /acceptedservernames/ Kabul edilen yönetim sunucusu adlarının listesini alır
POST /acceptedservernames/ Kabul edilen yönetim sunucusu adlarının listesini oluşturur veya değiştirir
PUT /acceptedservernames/ Kabul edilen yönetim sunucusu adlarının listesini güncelleştirin.
DELETE /acceptedservernames/ Kabul edilen yönetim sunucusu adlarının listesini siler

 

Hangi durumlardan etkilenirsiniz?

ECS'de kabul edilen sunucuların listesini yapılandırma çözümünü uygulamak için kullanım örnekleri:

Şuradan Yükseltme 'a Yükseltme veya Kurma Düzeltme
ECS 3.7 ve öncesi ECS 3.8.0.x
  • ECS'ye Yönetim API çağrıları göndermek için proxy veya yük dengeleyici kullanıyorsanız çözümün uygulanması zorunludur.
  • Çözümün uygulanmaması, Yönetim API'si 403 hataları aldığınız ve Grafana kullanıcı arabirimine erişilemediği anlamına gelir.
ECS 3.7 ve öncesi ECS 3.8.1.x veya sonraki sürümler
  • ECS'ye Yönetim API çağrıları göndermek için proxy veya yük dengeleyici kullanıyorsanız çözümün uygulanması isteğe bağlıdır.
  • Çözümün uygulanmaması, bu güvenlik açığına karşı savunmasız kaldığınız ve ECS'nin tüm Management API çağrılarını kabul ettiği anlamına gelir. 
ECS 3.8.0.x ECS 3.8.1.x veya sonraki sürümler
  • Çözümü ECS 3.8.0'da zaten uyguladıysanız çözüm, ECS 3.8.1 veya daha yeni sürümlerde geçerli olmaya devam eder.
  • Tüm IP'lerin Yönetim API çağrıları yapmasına izin vermek için çözümü geri döndürme seçeneğiniz vardır.
  • Çözümü geri döndürmeyi seçerseniz bu güvenlik açığına karşı savunmasız kalırsınız ve ECS tüm Management API çağrılarını kabul eder. 



Bir sorunla karşılaştığınızı gösteren nedir?

  • Tüm yönetim oturum açma API'leri, yeni yüklemeden veya önceki 3.8 sürümlerinden 3.8.0.x e yükseltme işleminden sonra 403-forbidden ile başarısız olur.
  • Grafana panosuna da erişilemeyebilir. 


Günlükler ECS'de hangi hataları gösterir?

"GET /login HTTP/1.1" 403 error is seen in /opt/storageos/logs/nginx/access.log and /opt/storageos/logs/objcontrolsvc.log on nodes API calls are made against.

 

Çözüm Özeti (3.8.0.x veya sonraki bir sürüme yükselttikten sonra)

  1. ECS xDoctor yazılımınızı en son sürüme yükseltin.
  2. Harici IP'lerin listesini ekleyin.
  3. Bağlantı zaten başarılı olacağından, Yönetim API çağrılarını doğrudan ECS düğümlerine doğrudan veya ECS düğümlerinin IP'lerini kullanarak yapan harici sunucuları kaydetmeye gerek yoktur . Aşağıdaki prosedür yalnızca bağlantı bir proxy sunucusu veya yük dengeleyici üzerinden geçirilirse gereklidir. Bu nedenle, tüm proxy ve/veya yük dengeleyicilerin Yönetim Sunucusu Adları Kabul Listesine eklenmesi gerekir.


1-xDoctor Yükseltmesi

  1. ECS xDoctor yazılımınızı mevcut en son sürüme yükseltin.
  1. Sisteminizde çalışan xDoctor sürümünü kontrol edin. Sürüm 4.8-87.0 veya üzeriyse "Harici IP'lerin listesini ekle" adımına geçin. Değilse aşağıdaki adımlarla devam edin.
Komut: 
# sudo xdoctor --version
Example:
admin@node1:~> sudo xdoctor --version
4.8-87.0
  1. Dell Destek Sitesinde oturum açın, doğrudan bu indirme ECS İndirme konumuna bağlanın, anahtar kelime arama çubuğunu kullanarak xDoctor'ı bulun ve indirmek için xDoctor 4.8-87.0 RPM bağlantısına tıklayın. Sürüm notlarını görüntülemek için doğrudan ECS Ürün Sayfasına bağlanın, indirilebilecekleri kenar çubuğundan Kılavuzlar ve Belgeler i seçin.
  2. RPM indirildiğinde dosyayı ilk ECS düğümündeki /home/admin dizinine yüklemek için herhangi bir uzak SCP programını kullanın.
  3. Yükleme tamamlandığında yöneticiyi kullanarak ECS sisteminin ilk düğümüne SSH oturumu açın.
  4. Yeni dağıtılmış sürümle, tüm düğümlerdeki xDoctor'ı yükseltin.  
Komut:
# sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-87.0.noarch.rpm
Example:
admin@ecs-n1:~> sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-87.0.noarch.rpm
2022-07-04 07:41:49,209: xDoctor_4.8-83.0 - INFO    : xDoctor Upgrader Instance (1:SFTP_ONLY)
2022-07-04 07:41:49,210: xDoctor_4.8-83.0 - INFO    : Local Upgrade (/home/admin/xDoctor4ECS-4.8-84.0.noarch.rpm)
2022-07-04 07:41:49,226: xDoctor_4.8-83.0 - INFO    : Current Installed xDoctor version is 4.8-86.0
2022-07-04 07:41:49,242: xDoctor_4.8-86.0 - INFO    : Requested package version is 4.8-84.0
2022-07-04 07:41:49,242: xDoctor_4.8-86.0 - INFO    : Updating xDoctor RPM Package (RPM)
2022-07-04 07:41:49,293: xDoctor_4.8-86.0 - INFO    :  - Distribute package
2022-07-04 07:41:50,759: xDoctor_4.8-86.0 - INFO    :  - Install new rpm package
2022-07-04 07:42:04,401: xDoctor_4.8-86.0 - INFO    : xDoctor successfully updated to version 4.8-87.0
  1. Ortam çok raflı bir VDC ise yeni xDoctor paketinin, her rafın ilk düğümüne kurulması gerekir. Bu rafların ilk düğümlerini belirlemek için aşağıdaki komutu çalıştırın. Bu örnekte, vurgulanan dört raf ve dört raf birincil vardır
  1. Raf birincil düğümlerini bulun (aşağıda kalın olarak vurgulanmıştır).
Komut:
# svc_exec -m "ip address show private.4 |grep -w inet"
Example:
admin@ecsnode1~> svc_exec -m "ip address show private.4 |grep -w inet"
svc_exec v1.0.2 (svc_tools v2.1.0)                 Started 2021-12-20 14:03:33
 
Output from node: r1n1                                retval: 0
    inet 169.254.1.1/16 brd 169.254.255.255 scope global private.4
 
Output from node: r2n1                                retval: 0
    inet 169.254.2.1/16 brd 169.254.255.255 scope global private.4
 
Output from node: r3n1                                retval: 0
    inet 169.254.3.1/16 brd 169.254.255.255 scope global private.4
 
Output from node: r4n1                                retval: 0
    inet 169.254.4.1/16 brd 169.254.255.255 scope global private.4
  1. Paketi sistemin ilk düğümünden (R1N1) aşağıdaki esaslara göre diğer rafların ilk düğümlerine kopyalayın:
Example:
admin@ecs-n1: scp xDoctor4ECS-4.8-87.0.noarch.rpm 169.254.2.1:/home/admin/
xDoctor4ECS-4.8-84.0.noarch.rpm                                                                                                                        100%   32MB  31.9MB/s   00:00
admin@ecsnode1~> scp xDoctor4ECS-4.8-87.0.noarch.rpm 169.254.3.1:/home/admin/
xDoctor4ECS-4.8-84.0.noarch.rpm                                                                                                                        100%   32MB  31.9MB/s   00:00
admin@ecsnode1~> scp xDoctor4ECS-4.8-87.0.noarch.rpm 169.254.4.1:/home/admin/
xDoctor4ECS-4.8-87.0.noarch.rpm                                                                                                                        100%   32MB  31.9MB/s   00:00
admin@ecsnode1~>
  1. Yukarıdaki 1. adıma göre, daha önce belirlenen yukarıdaki raf ilk düğümlerinin her birinde aynı xDoctor kurulum komutunu çalıştırın. 
Komut:
# sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-87.0.noarch.rpm


2-A Harici IP'lerin listesini ekleyin.

  • Bir Yönetim kullanıcısının bu etkinliği Güvenlik Yöneticisi rolüyle gerçekleştirmesi gerekir. Aşağıdaki örnekte, Security Administration özelliğine de sahip olan kök kullanıcıyı kullanıyoruz.
  • ECS VDC'deki herhangi bir düğümde yapılabilir.
  • Birden fazla VDC içeren bir federasyonda bu işlem, federasyondaki tüm VDC'ler yükseltildikten sonra gerçekleştirilmelidir. Prosedür daha sonra her VDC'ye uygulanabilir.
  • NOT: İzin listesi birleştirilmiş VDC'ler arasında çoğaltılır, dolayısıyla bir kümeye izin verilenler listesi girişleri eklendiğinde bu girişler diğer kümeye çoğaltılır ve diğer kümede önceden eklenmiş olan her şeyin üzerine yazılır
  • Kullanıcı Güvenlik Yöneticisi değilse veya yanlış kimlik bilgisi kullanılırsa araç bir "401 - Yetkisiz" Özel Durumu oluşturur.
  1. Güvenilirlik listesine eklenecek sunucu adlarının (IP, Ana Bilgisayar Adı ve FQDN) listesini hazırlayın. Listeyi, her satırında bir sunucu adı olacak şekilde bir dosyada birleştirin. Yönetim ağı ayrılmışsa yönetim düğümlerinin FQDN'leri de güven listesine eklenmelidir. Birçok müşterinin düğümlerin adlarını eklemesi gerekebilir; Hem "hostname -s" svc_exec kısa hem de svc_exec ana bilgisayar adı kullanarak uzun
Yönetim için ağ ayrımı olup olmadığını kontrol etmek için aşağıdakini çalıştırın ve vurgulanan "mgmt" ifadesini arayın.

Komut:
# getrackinfo -n
Example:
#getrackinfo -n
Named networks
==============
Node ID       Network          Ip Address        Netmask            Gateway            VLAN               Interface
1            mgmt              1xx.xxx.xx.xxx    255.25x.xxx.x      19x.xxx.xx.x       xxx                public
1            mgmt              1xx.xxx.xx.xxx    255.25x.xxx.x      19x.xxx.xx.x       xxx                public
1            mgmt              1xx.xxx.xx.xxx    255.25x.xxx.x      19x.xxx.xx.x       xxx                public
1            mgmt              1xx.xxx.xx.xxx    255.25x.xxx.x      19x.xxx.xx.x       xxx                public
1            mgmt              1xx.xxx.xx.xxx    255.25x.xxx.x      19x.xxx.xx.x       xxx                public
1            mgmt              1xx.xxx.xx.xxx    255.25x.xxx.x      19x.xxx.xx.x       xxx                public
Sunucu adları listesini içeren örnek aşağıda verilmiştir (gerçek olanlarla değiştirin).
# cat trust.server.list
ecs1-n1
ecs1-n1.dell.com
ecs1-n2
ecs1-n2.dell.com
ecs1-n3
ecs1-n3.dell.com
ecs1-n4
ecs1-n4.dell.com 
ecs1-n5
ecs1-n5.dell.com 
Load_balancer1_IP
Load_balancer1_Hostname
Load_balancer1_FQDN
Load_balancer2_IP
Load_balancer2_Hostname
Load_balancer2_FQDN
  1. Sunucu adını 403 hataları açısından doğrulamak için günlükleri kontrol edin:  

            Komut: 

svc_log -f 'ERROR  HostHeaderAcceptListFilter.java' -sr objcontrolsvc -start '2 hours ago'

            Example:

# svc_log -f 'ERROR  HostHeaderAcceptListFilter.java' -sr objcontrolsvc -start '2 hours ago'
svc_log v1.0.31 (svc_tools v2.13.1)                 Started 2023-10-10 18:00:11

Running on nodes:              <All nodes>
Time range:                    2023-10-13 17:00:00 - 2023-10-13 18:11:47
Filter string(s):              'ERROR  HostHeaderAcceptListFilter.java'
Show filename(s):              True
Show nodename(s):              True
Search reclaim logs (if any):  False

169.254.1.1 objcontrolsvc.log 2023-10-10T17:00:07,188 [qtp47151359-4412] ERROR  HostHeaderAcceptListFilter.java (line 81) The host header server name didn't match the accepted list ecsdev1-m1
169.254.1.1 objcontrolsvc.log 2023-10-10T17:00:38,609 [qtp47151359-4386] ERROR  HostHeaderAcceptListFilter.java (line 81) The host header server name didn't match the accepted list ecsdev1-m1
169.254.1.1 objcontrolsvc.log 2023-10-10T17:01:07,499 [qtp47151359-4310] ERROR  HostHeaderAcceptListFilter.java (line 81) The host header server name didn't match the accepted list ecsdev1-m1
169.254.1.2 objcontrolsvc.log 2023-10-10T17:05:01,743 [qtp1754883736-3393] ERROR  HostHeaderAcceptListFilter.java (line 81) The host header server name didn't match the accepted list ecsdev1-m2
169.254.1.2 objcontrolsvc.log 2023-10-10T17:05:01,756 [qtp1754883736-3397] ERROR  HostHeaderAcceptListFilter.java (line 81) The host header server name didn't match the accepted list ecsdev1-m2
169.254.1.3 objcontrolsvc.log 2023-10-10T17:30:01,533 [qtp1289718177-2883] ERROR  HostHeaderAcceptListFilter.java (line 81) The host header server name didn't match the accepted list ecsdev1-m3
169.254.1.3 objcontrolsvc.log 2023-10-10T17:30:01,546 [qtp1289718177-2944] ERROR  HostHeaderAcceptListFilter.java (line 81) The host header server name didn't match the accepted list ecsdev1-m3
Sunucu adları listesini içeren örnek aşağıda verilmiştir (gerçek olanlarla değiştirin).
# cat trust.server.list
ecs1-n1
ecs1-n1.dell.com
ecs1-n2
ecs1-n2.dell.com
ecs1-n3
ecs1-n3.dell.com
ecs1-n4
ecs1-n4.dell.com 
ecs1-n5
ecs1-n5.dell.com
ecsdev1-m1
ecsdev1-m2
ecsdev1-m3
Load_balancer1_IP
Load_balancer1_Hostname
Load_balancer1_FQDN
Load_balancer2_IP
Load_balancer2_Hostname
Load_balancer2_FQDN

mgmt_user> sağlayan<, sağlanan listeyle güvenilir sunucuları ekleyin. Kullanıcıdan mgmt_user parolasını girmesi, parolayı girmesi ve devam etmek için Enter tuşuna basması istenir.

Komut: 
svc_param asn add -u <mgmt_user> -p -f <server.list>
Example:
# svc_param asn add -u root -p -f trust.server.list
Password:
svc_param v1.1.3 (svc_tools v2.7.0)                 Started 2022-11-08 19:27:16
 
add trusted servers successfully!
  1. Güvenilir sunucu listesini alın. Liste, a) kısa olup olmadığını hızlı bir şekilde kontrol etmek için bir ekrana yazdırılabilir veya b) yedekleme veya inceleme için bir dosyaya kaydedilebilir.
  1. Sonucu ekrana yazdırın. Parolayı girmeniz istenir, devam etmek için Enter tuşuna basın.
Komut:
 svc_param asn list -u <mgmt_user> -p
Example:
# svc_param asn list -u root -p
Password:
svc_param v1.1.3 (svc_tools v2.7.0)                 Started 2023-10-10 19:32:58
 
Found 19 trusted servers:
 
        Load_balancer1_FQDN
        Load_balancer1_Hostname
        Load_balancer1_IP
        Load_balancer2_FQDN
        Load_balancer2_Hostname
        Load_balancer2_IP
        ecs-n1
        ecs-n1.nas2008.com
        ecs-n2
        ecs-n2.nas2008.com
        ecs-n3
        ecs-n3.nas2008.com
        ecs-n4
        ecs-n4.nas2008.com
        ecs-n5
        ecs-n5.nas2008.com
        ecsdev1-m1
        ecsdev1-m2
        ecsdev1-m3
  1. Sonucu bir dosyaya kaydedin. Parolayı girmeniz istenir, devam etmek için Enter tuşuna basın.
Komut: 
svc_param asn list -u <mgmt_user> -p -o <output file>
Example:
# svc_param asn list -u root -p -o server.list.backup
Password:
svc_param v1.1.3 (svc_tools v2.7.0)                 Started 2022-10-10 19:38:05
 
Found 19 trusted servers:
 
Please find the result in /home/admin/server.list.backup
 
# cat /home/admin/server.list.backup
Load_balancer1_FQDN
Load_balancer1_Hostname
Load_balancer1_IP
Load_balancer2_FQDN
Load_balancer2_Hostname
Load_balancer2_IP
ecs-n1
ecs-n1.nas2008.com
ecs-n2
ecs-n2.nas2008.com
ecs-n3
ecs-n3.nas2008.com
ecs-n4
ecs-n4.nas2008.com
ecs-n5
ecs-n5.nas2008.com
ecsdev1-m1
ecsdev1-m2
ecsdev1-m3

Not: Bir Yük Dengeleyicinin KULLANILMADIĞI ve hala aynı şeyi aldığı durumda nginx 403 Forbidden ECS kullanıcı arayüzünde hata veriyorsa müşterinin VLAN Ağı kullanıp kullanmadığınıkontrol edin. Kullanarak ayırma getrackinfo -n 1. adım başına komut. Bu durumda müşteri ağındaki yönetim DNS adlarını ve yönetim IP adreslerini tüm düğümlerin Güven Sunucusu Listesine ekleyin.

(Aşağıdaki gibi)

Example:

# cat trust.server.list
10.x.x.1
10.x.x.2
10.x.x.3
10.x.x.4
10.x.x.5
10.x.x.6
test-n1.domain.example
test-n2.domain.example
test-n3.domain.example
test-n4.domain.example
test-n5.domain.example
test-n5.domain.example



2-B Harici IP'lerin listesini kaldırın.

Girişleri güvenilir listeden kaldırmanız gerekiyorsa, parolayı girmeniz istenir ve devam etmek için Enter tuşuna basın. A server.to.remove.list oluşturulmalıdır.

Example: 
# cat server.list.to.remove
Load_balancer1_Hostname
Load_balancer2_IP
Kaldırma komutu:
 svc_param asn remove -u <mgmt_user> -p -f <server.to.remove.list>
(Parolayı girmeniz istenir, devam etmek için enter tuşuna basın.)

Örnek:
# svc_param asn remove -u root -p -f server.list.to.remove
Password:
svc_param v1.1.3 (svc_tools v2.7.0)                 Started 2022-11-08 19:42:00
 
remove trusted servers successfully!

Girişlerin kaldırıldığını onaylamak için girişleri yeniden listeleyin. 
Komut: 
svc_param asn list -u root -p
(Parolayı girmeniz istenir, devam etmek için enter tuşuna basın.)

Örnek:
# svc_param asn list -u root -p
Password:
svc_param v1.1.3 (svc_tools v2.7.0)                 Started 2022-11-08 19:43:19
 
Found 4 trusted servers:
 
        Load_balancer1_FQDN
        Load_balancer1_IP
        Load_balancer2_FQDN
        Load_balancer2_Hostname

Additional Information

Bu değişiklikle ilgili daha fazla ayrıntı ve bağlam için Dell Desteği'nde bulunan aşağıdaki belgelere bakın:

  • ECS 3.8.0 veya ECS 3.8.1 Sürüm Notları
  • ECS 3.8.0 veya ECS 3.8.1 Yönetim Rehberi
  • ECS 3.8.0 veya ECS 3.8.1 Güvenlik Rehberi

Affected Products

ECS, ECS Appliance, Elastic Cloud Storage
Article Properties
Article Number: 000205031
Article Type: How To
Last Modified: 14 Nov 2024
Version:  30
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.