Open redirect (o reindirizzamenti e inoltri non convalidati) è una vulnerabilità di reindirizzamento a un URL. Un hacker può sfruttarla per reindirizzare utenti da un sito web affidabile a uno potenzialmente dannoso di terze parti, quindi rubare le loro credenziali tramite un attacco di phishing. Per proteggersi da questa vulnerabilità, è opportuno configurare Plesk in modo da limitare il reindirizzamento a URL.

La vulnerabilità è consentita dai parametri success_redirect_url e failure_redirect_url, utilizzati durante la configurazione dell”accesso automatico a Plesk. Il parametro success_redirect_url contiene uno o più nomi host ai quali l’utente viene reindirizzato dopo un accesso riuscito, mentre il parametro failure_redirect_url contiene uno o più nomi host ai quali l’utente viene reindirizzato dopo un tentativo di accesso o disconnessione non riuscito.

La vulnerabilità può riguardare tutti i server Plesk, indipendentemente dal fatto che l’accesso automatico a Plesk sia stato impostato o meno. Per proteggerti, aggiungi una voce al file panel.ini. La voce esatta varia a seconda del fatto che l’accesso automatico a Plesk sia stato impostato o meno.

Per proteggere Plesk da open redirect, se non è stato impostato l’accesso automatico a Plesk:

Aggiungi le seguenti righe al file panel.ini :

[security]
trustedRedirectHosts =

La riga trustedRedirectHosts è vuota e non è specificato alcun nome host. In questo modo impedisci a Plesk di eseguire il reindirizzamento a qualsiasi nome host utilizzi i parametri success_redirect_url e failure_redirect_url.

Per proteggere Plesk da open redirect, se è stato impostato l’accesso automatico a Plesk:

Aggiungi una voce al file panel.ini secondo questo schema:

[security]
trustedRedirectHosts = hostname

Laddove nome host indichi un nome host affidabile al quale sia consentito il reindirizzamento URL tramite i parametri success_redirect_url e failure_redirect_url.

L’impostazione trustedRedirectHosts accetta uno o più nomi host separati da virgole e specificati nel formato seguente:

  • Un nome di dominio, ad esempio esempio.com
  • Un indirizzo IP, ad esempio 192.0.2.1
  • Sottodomini wildcard, ad esempio *.esempio.com

Nota: Specificando i nomi host in trustedRedirectHosts, utilizza il carattere dell’asterisco (*) unicamente seguendo lo scherma mostrato sopra (*.esempio.com). In caso contrario, il server potrebbe rimanere vulnerabile. Ad esempio, i nomi host esempio.* o 192.0.2.* non sono sicuri, in quanto possono corrispondere rispettivamente a esempio.sitowebdannoso.com e 192.0.2.sitowebdannoso.com.

Ecco un esempio utile dell’impostazione trustedRedirectHosts nel file panel.ini:

[security]
trustedRedirectHosts = example.com,192.0.2.1,*.example.com

Laddove esempio.com, 192.0.2.1 ed *.esempio.com siano nomi host utilizzati nei parametri success_redirect_url e failure_redirect_url.

Nota: quando si specificano vari nomi host in trustedRedirectHosts, non aggiungere il carattere spazio ( ) prima o dopo la virgola (,) che separa tali nomi host. In caso contrario, il nome host non viene gestito correttamente e il reindirizzamento URL non riesce.