Protéger contre la redirection ouverte (Open Redirect)

Open Redirect (également connu comme redirections et transferts non validés) est une vulnérabilité de redirection URL. Un attaquant peut exploiter cette faille afin de rediriger les utilisateurs depuis un site Web de confiance vers un site Web tiers potentiellement malveillant et ainsi voler ses identifiants grâce à une attaque par phishing. Pour vous protéger contre cette vulnérabilité, nous vous recommandons de configurer Plesk afin de restreindre la redirection d'URL.

Cette vulnérabilité est possible via le paramètre failure_redirect_url qui est utilisé lorsque vous configurez la connexion automatique à Plesk. Ce paramètre contient un ou plusieurs noms d'hôtes vers lesquels l'utilisateur est redirigé après une tentative de connexion ou de déconnexion qui a échoué.

Cette vulnérabilité affecte tous les serveurs Plesk que la connexion automatique de Plesk soit ou non configurée. Pour vous protéger de cette vulnérabilité, vous devez ajouter une entrée au fichier panel.ini. L'entrée exacte est différente selon que vous avez ou non configuré la connexion automatique à Plesk.

Pour protéger Plesk contre une redirection ouverte lorsque la connexion automatique à Plesk n'est pas configurée :

Ajoutez les lignes suivantes au fichier panel.ini :

[security]
trustedRedirectHosts =

trustedRedirectHosts est vide et aucun hôte n'est spécifié. De cette manière, vous interdisez à Plesk de vous rediriger vers des hôtes à l'aide du paramètre failure_redirect_url.

Pour protéger Plesk contre une redirection ouverte lorsque la connexion automatique à Plesk est configurée :

Ajoutez une entrée au fichier panel.ini en respectant la structure suivante :

[security]
trustedRedirectHosts = hostname

hostname est un hôte de confiance vers lequel la redirection de l'URL via le paramètre failure_redirect_url est autorisée.

Le paramètre trustedRedirectHosts accepte un ou plusieurs noms d'hôtes séparés par des virgules et spécifiés au format suivant :

  • Un nom de domaine, par exemple : exemple.com
  • Une adresse IP, par exemple : 10.58.58.100
  • Des sous-domaines génériques, par exemple *.exemple.com

Remarque : lorsque vous indiquez les noms d'hôtes dans trustedRedirectHosts et failure_redirect_url, utilisez uniquement l'astérisque (*) suivi de la structure indiquée ci-dessus (*.exemple.com). Sinon, votre serveur reste vulnérable. Par exemple, les noms d'hôtes exemple.* ou 203.0.113.* ne sont pas sécurisés, car ils peuvent correspondre respectivement à exemple.sitewebmalveillant.com et 203.0.113.sitewebmalveillant.com.

Voici un exemple valide du paramètre trustedRedirectHosts dans le fichier panel.ini :

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

example.com, 10.58.58.100,*.example.com sont des noms d'hôtes utilisés dans le paramètre failure_redirect_url.

Remarque : lorsque vous indiquez plusieurs noms d'hôtes dans trustedRedirectHosts, n'ajoutez pas d'espace ( ) avant ou après la virgule (,) pour séparer les noms d'hôtes. En effet, s'il y a un espace, le nom d'hôte n'est pas traité correctement et la redirection de l'URL échoue.