ECS: Isäntäotsikon lisäämisen estäminen ECS 3.8.0:ssa ja uudemmissa Management API 403 -virheiden ja Grafana-käyttöliittymän käyttöiän ylittämisen välttämiseksi

Summary: ECS 3.8.0.x:stä alkaen on korjattu tietoturvaongelma, joka liittyy isäntäotsikon lisäämiseen (katso STORAGE-27164:n julkaisutiedot).

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

Mikä on isäntäotsikon injektio?

  • Sovellus luottaa käyttäjän antamaan HTTP-isäntäotsikkoon ja käyttää käyttäjän antamaa isäntäotsikkoa ohjatakseen toiselle sivulle. 
  • Hyökkääjä voi hyödyntää sitä muuttamalla HTTP-isäntäotsikon haitalliseksi isäntänimeksi ja ohjaamalla käyttäjän haitalliselle verkkosivulle. 
Huomautus: Tämä vaikuttaa vain hallinnan ohjelmointirajapintakutsuihin välityspalvelimen tai kuormituksentasauksen kautta. Se ei vaikuta tietotoimintoihin.


Mitä muutoksia ECS 3.8.0.x -versiosta alkaen on tehtävä?

Osana korjausta toteutetaan uusi joukko sovellusliittymiä, joiden avulla sallittujen palvelinnimien luettelo voidaan asettaa tai poistaa. Saapuvien pyyntöjen isäntäotsikon arvo tarkistetaan kyseistä luetteloa vasten. Pyyntö hylätään, jos luettelossa ei ole isäntäotsikon arvoa.

Alla on joukko uusia REST-ohjelmointirajapintoja, jotka on otettu käyttöön hyväksyttyjen palvelinten rekisteröinnin ja luettelon hallinnan kannalta.
 
Resurssin nimi Kuvaus
GET /acceptedservernames/ Hakee luettelon hyväksytyistä hallintapalvelinten nimistä
POST /acceptedservernames/ Luo tai korvaa hyväksyttyjen hallintapalvelinten nimiluettelon
PUT /acceptedservernames/ Päivitä hyväksyttyjen hallintapalvelinten nimiluettelo.
DELETE /acceptedservernames/ Poistaa hyväksyttyjen hallintapalvelinten nimiluettelon

 

Missä olosuhteissa tämä vaikuttaa sinuun?

Käyttötapaukset ECS:ssä hyväksyttyjen palvelinten luettelon määrittämisratkaisun toteuttamiseksi:

Päivittäminen alk. Päivittäminen tai asentaminen Korjaus
ECS 3.7 ja aiemmat versiot ECS 3.8.0.x
  • Ratkaisun käyttöönotto on pakollista, jos käytät välityspalvelinta tai kuormituksentasausta Management API -kutsujen lähettämiseen ECS:ään.
  • Jos ratkaisua ei toteuteta, näyttöön tulee Management API 403 -virheitä eikä Grafana-käyttöliittymää voi käyttää.
ECS 3.7 ja aiemmat versiot ECS 3.8.1.x tai uudempi
  • Ratkaisun käyttöönotto on valinnaista, jos käytät välityspalvelinta tai kuormituksentasausta Management API -kutsujen lähettämiseen ECS:ään.
  • Jos ratkaisua ei toteuteta, olet edelleen alttiina tälle haavoittuvuudelle ja ECS hyväksyy kaikki Management API -kutsut. 
ECS 3.8.0.x ECS 3.8.1.x tai uudempi
  • Jos olet jo ottanut ratkaisun käyttöön ECS 3.8.0:ssa, ratkaisu pysyy voimassa ECS 3.8.1:ssä tai uudemmassa.
  • Voit palauttaa ratkaisun, jotta kaikki IP-osoitteet voivat soittaa Management API -kutsuja.
  • Jos päätät palauttaa ratkaisun, olet edelleen alttiina tälle heikkoudelle ja ECS hyväksyy kaikki Management API -kutsut. 



Mikä osoittaa, että olet kohdannut ongelman?

  • Kaikki hallintakirjautumisen ohjelmointirajapinnat epäonnistuvat 403-esto-tilassa, kun uusi asennus on tehty tai päivitys 3.8.0.x-versioon aiemmista 3.8-versioista.
  • Grafana-kojelauta ei ehkä myöskään ole käytettävissä. 


Mitä virheitä lokeissa näkyy ECS:ssä?

"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.

 

Ongelman yhteenveto (3.8.0.x-päivityksen tai uudemman päivityksen jälkeen)

  1. Päivitä ECS xDoctor -ohjelmisto uusimpaan versioon.
  2. Lisää ulkoisten IP-osoitteiden luettelo.
  3. Ulkoisia palvelimia ei tarvitse rekisteröidä tekemällä Management API -kutsuja suoraan ECS-solmuihin tai käyttämällä ECS-solmujen IP-osoitteita, koska yhteys olisi jo onnistunut. Alla olevat ohjeet vaaditaan vain, jos yhteys kulkee välityspalvelimen tai kuormituksentasauksen kautta. Siksi kaikki välityspalvelimet ja/tai kuormituksentasaukset on lisättävä hallintapalvelinten nimien hyväksymisluetteloon.


1 x lääkärin päivitys

  1. Päivitä ECS xDoctor -ohjelmisto uusimpaan saatavilla olevaan versioon.
  1. Tarkista järjestelmässä käynnissä oleva xDoctor-versio. Jos versio on 4.8–87.0 tai uudempi, siirry vaiheeseen "Lisää ulkoisten IP-osoitteiden luettelo". Jos ei ole, toimi seuraavien ohjeiden mukaisesti.
Komento: 
# sudo xdoctor --version
Esimerkki:
admin@node1:~> sudo xdoctor --version
4.8-87.0
  1. Kirjaudu Dellin tukisivustoon, muodosta yhteys suoraan tähän ladattavaan ECS-lataussijaintiin, etsi xDoctor avainsanalla hakupalkki ja lataa linkki napsauttamalla xDoctor 4.8-87.0 RPM. Voit tarkastella julkaisutietoja muodostamalla yhteyden suoraan ECS-tuotesivulle ja valitsemalla sivupalkista Käyttöoppaat ja asiakirjat, josta niiden pitäisi olla ladattavissa.
  2. Kun RPM on ladattu, lataa tiedosto millä tahansa SCP-etäohjelmalla ensimmäisen ECS-solmun hakemistoon /home/admin.
  3. Kun lataus on valmis, muodosta SSH-yhteys ECS-järjestelmän ensimmäiseen solmuun admin-käyttäjänä.
  4. Päivitä kaikkien solmujen xDoctor uuteen versioon.  
Komento:
# sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-87.0.noarch.rpm
Esimerkki:
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. Jos ympäristö on usean kehikon VDC, uusi xDoctor-paketti on asennettava kunkin kehikon ensimmäiseen solmuun. Tarkista kehikkojen ensimmäiset solmut seuraavalla komennolla. Tässä tapauksessa neljä telinettä ja neljä telineen ensisijaista asemaa on korostettu
  1. Etsi kehikkojen ensisijaiset solmut (korostettu lihavoitu alla).
Komento:
# svc_exec -m "ip address show private.4 |grep -w inet"
Esimerkki:
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. Kopioi paketti järjestelmän ensimmäisestä solmusta (R1N1) muiden kehikkojen ensisijaisiin solmuihin kuten alla:
Esimerkki:
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. Suorita edellä olevan vaiheen 1 mukaisesti sama xDoctor-asennuskomento jokaisessa aiemmin tunnistetussa kehikon ensisijaisessa solmussa. 
Komento:
# sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-87.0.noarch.rpm


2-A Lisää ulkoisten IP-osoitteiden luettelo.

  • Hallintakäyttäjän on suoritettava tämä toiminto suojauksen järjestelmänvalvojan roolissa. Alla olevassa esimerkissä käytetään pääkäyttäjää , koska sillä on myös suojauksen hallintaominaisuus.
  • Se voidaan tehdä missä tahansa ECS VDC:n solmussa.
  • Liitossa, jossa on useita VDC:itä, se on suoritettava, kun kaikki liitoksen VDC:t on päivitetty. Menettelyä voidaan sitten soveltaa kuhunkin VDC: hen.
  • HUOMAUTUS: Sallittujen luettelo replikoidaan organisaation ulkopuolisiin virtuaalikoneisiin, joten sallittujen luettelon merkintöjen lisääminen yhteen klusteriin replikoi merkinnät toiseen klusteriin ja korvaa toiseen klusteriin jo lisätyt tiedot
  • Työkalu heittää "401 - Valtuuttamaton" -poikkeuksen, jos käyttäjä ei ole suojauksen järjestelmänvalvoja tai jos käytetään vääriä tunnistetietoja.
  1. Valmistele luottamusluetteloon lisättävien palvelinten nimien (IP, isäntänimi ja FQDN) luettelo. Yhdistä luettelo tiedostoksi, jonka jokaisella rivillä on yksi palvelimen nimi. Jos hallintaverkko on erotettu toisistaan, myös hallintasolmujen täydellinen toimialuenimi on lisättävä luottamusluetteloon. Monet asiakkaat saattavat joutua lisäämään solmujen nimet. Molemmat käyttävät lyhyesti svc_exec isäntänimeä -s ja pitkät käyttävät isäntänimeä svc_exec
Voit tarkistaa verkon erottamisen hallintaa varten suorittamalla alla olevan haun ja etsimällä "mgmt" korostettuna.

Komento:
# getrackinfo -n
Esimerkki:
#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
Alla oleva esimerkki, jossa on palvelinten nimiluettelo (korvaa todellisilla).
# 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. Tarkista lokeista palvelimen nimi mahdollisten 403-virheiden varalta:  

            Komento: 

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

            Esimerkki:

# 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
Alla oleva esimerkki, jossa on palvelinten nimiluettelo (korvaa todellisilla).
# 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

Lisää luotettuja palvelimia mgmt_user> mukana toimitetun <luettelon avulla. Käyttäjää pyydetään antamaan mgmt_user salasana, antamaan salasana ja jatkamaan painamalla Enter-näppäintä.

Komento: 
svc_param asn add -u <mgmt_user> -p -f <server.list>
Esimerkki:
# 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. Hae luotettujen palvelinten luettelo. Luettelo voidaan joko a) tulostaa näytölle, jotta se voidaan tarkistaa nopeasti, onko se lyhyt, tai b) tallentaa tiedostoon varmuuskopiointia tai tarkastusta varten.
  1. Tulosta tulos näytölle. Saat kehotteen antaa salasana. Jatka painamalla Enter-näppäintä.
Komento:
 svc_param asn list -u <mgmt_user> -p
Esimerkki:
# 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. Tallenna tulos tiedostoon. Saat kehotteen antaa salasana. Jatka painamalla Enter-näppäintä.
Komento: 
svc_param asn list -u <mgmt_user> -p -o <output file>
Esimerkki:
# 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

Huomautus: Siinä tapauksessa, että kuormituksen tasausta EI käytetä ja silti se saa saman nginx 403 Forbidden virhe ECS-käyttöliittymässä, tarkista, käyttääköasiakas VLAN-verkkoa. Erottaminen käyttämällä getrackinfo -n Komento vaihetta kohden 1. Jos näin on, lisää asiakasverkon DNS-hallintanimet ja hallinnan IP-osoitteet kaikkien solmujen Trust Server -luetteloon.

(Kuten alla)

Esimerkki:

# 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 Poista ulkoisten IP-osoitteiden luettelo.

Jos sinun on poistettava merkintöjä luotetusta luettelosta, sinua pyydetään antamaan salasana ja jatka painamalla Enter-näppäintä. A server.to.remove.list pitäisi luoda.

Esimerkki: 
# cat server.list.to.remove
Load_balancer1_Hostname
Load_balancer2_IP
Poistokomento:
 svc_param asn remove -u <mgmt_user> -p -f <server.to.remove.list>
(Sinua pyydetään antamaan salasana, jatka painamalla Enter.)

Esimerkki:
# 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!

Näytä merkinnät uudelleen vahvistaaksesi merkintöjen poistamisen. 
Komento: 
svc_param asn list -u root -p
(Sinua pyydetään antamaan salasana, jatka painamalla Enter.)

Esimerkki:
# 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

Lisätietoja tästä muutoksesta on seuraavissa Dellin tukisivustossa olevissa asiakirjoissa:

  • ECS 3.8.0:n tai ECS 3.8.1:n julkaisutiedot
  • ECS 3.8.0:n tai ECS 3.8.1:n hallintaopas
  • ECS 3.8.0:n tai ECS 3.8.1:n suojausopas

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.