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 due aux paramètres success_redirect_url et failure_redirect_url qui sont utilisés lorsque vous configurez la connexion automatique à Plesk. Le paramètre success_redirect_url contient un ou plusieurs noms d’hôtes vers lesquels l’utilisateur est redirigé après une tentative de connexion réussie, tandis que pour le paramètre failure_redirect_url la tentative de connexion ou de déconnexion a échoué.

Cette vulnérabilité peut affecter 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 =

La ligne trustedRedirectHosts est vide et aucun nom d’hôte n’est spécifié. De cette manière, vous interdisez à Plesk de vous rediriger vers des noms hôtes à l’aide des paramètres success_redirect_url et 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 correspond à un nom d’hôte fiable vers lequel vous autorisez une redirection d’URL via les paramètres success_redirect_url et failure_redirect_url.

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 : 192.0.2.1
  • Des sous-domaines génériques, par exemple *.exemple.com

Note

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

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

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

example.com, 192.0.2.1, *.example.com sont des noms d’hôtes utilisés dans les paramètres success_redirect_url et failure_redirect_url.

Note

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.