Protezione da open redirect
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 dal parametro failure_redirect_url
, utilizzato durante la configurazione dell’ accesso automatico a Plesk. Questo parametro contiene uno o più nomi host ai quali un utente viene reindirizzato dopo un tentativo di accesso o disconnessione non riuscito.
La vulnerabilità riguarda tutti i server Plesk, indipendentemente dal fatto che l’accesso automatico a Plesk sia stato impostato o meno. Per proteggersi, è necessario aggiungere una voce al file panel.ini. La voce esatta varia a seconda che sia stato impostato o meno l’accesso automatico a Plesk.
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 sono specificati host. In questo modo si impedisce a Plesk di eseguire il reindirizzamento a qualsiasi host utilizzi il parametro 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
Dove nome host
è un host affidabile al quale è consentito il reindirizzamento URL tramite il parametro 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
10.58.58.100
- Sottodomini wildcard, ad esempio
*.esempio.com
Nota: quando si specificano nomi host in trustedRedirectHosts
e failure_redirect_url
, è necessario utilizzare solo il carattere dell’asterisco (*) seguendo lo scherma mostrato sopra (*.esempio.com
). In caso contrario, il server potrebbe rimanere vulnerabile. Ad esempio, i nomi host esempio.*
o 203.0.113.*
non sono sicuri, in quanto possono corrispondere rispettivamente a esempio.sitowebdannoso.com
e 203.0.113.sitowebdannoso.com
.
Ecco un esempio utile dell’impostazione trustedRedirectHosts
nel file panel.ini
:
[security]
trustedRedirectHosts = example.com,10.58.58.100,*.example.com
Dove esempio.com
, 10.58.58.100
, *.esempio.com
sono nomi host utilizzati nel parametro 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.