SSRF

Définition, exemples et bonnes pratiques

À retenir

  • Le serveur est utilisé comme un « rebond » pour attaquer d'autres cibles internes ou externes.
  • L'attaque permet souvent de contourner les protections périphériques comme les pare-feu.
  • Le danger principal est l'accès à des données privées ou des services d'administration non protégés.

Le SSRF est une faille de sécurité où un pirate trompe un serveur informatique pour le forcer à envoyer une requête vers une destination de son choix. Imaginez qu'un intrus ne puisse pas entrer dans un bâtiment sécurisé, mais qu'il arrive à convaincre le réceptionniste (le serveur) d'aller chercher un document confidentiel dans le bureau du directeur pour lui ramener.

Étymologie

L'acronyme provient de l'anglais Server-Side Request Forgery, ce qui se traduit par « falsification de requête côté serveur ». Ce terme est apparu pour distinguer cette attaque du CSRF (Client-Side), car ici, c'est la machine hôte qui est manipulée, et non le navigateur de l'utilisateur.

Exemples d'usage

  • Un pirate utilise un champ « Importer une image depuis une URL » pour forcer le serveur à lire un fichier système confidentiel sur son propre disque dur.
  • Accéder à l'interface d'administration d'une base de données accessible uniquement depuis le réseau local du serveur, normalement invisible depuis Internet.
  • Interroger les services de métadonnées d'un fournisseur Cloud pour récupérer des clés d'accès secrètes de l'infrastructure.

Cas d'usage

Cette vulnérabilité se retrouve principalement dans les applications web qui interagissent avec d'autres ressources via des liens (lecteurs RSS, convertisseurs de documents en ligne, importateurs de fichiers). Elle est particulièrement critique dans les architectures modernes de type micro-services ou Cloud.

Bonnes pratiques

Il est recommandé de mettre en place une liste blanche (whitelist) des domaines ou adresses IP autorisés plutôt que d'essayer de bloquer les sites malveillants. Il faut également isoler le serveur du réseau interne via un pare-feu et désactiver les protocoles de communication inutiles comme file://, ftp:// ou gopher://.

Synonymes

falsification de requête côté serveur rebond serveur

Antonymes

filtrage de sortie validation d'URL

Conseil

Pour bien comprendre le SSRF, il faut se mettre à la place du serveur : il a accès à des ressources locales que vous, simple internaute, ne voyez pas. La règle d'or pour un développeur est de ne jamais faire confiance à une URL fournie par un utilisateur sans la valider de manière extrêmement stricte.

Questions fréquentes

Quelle est la différence entre SSRF et CSRF ?

Le SSRF force un serveur à faire une requête, tandis que le CSRF manipule le navigateur d'un utilisateur pour effectuer une action sur un site où il est déjà identifié.

Pourquoi le SSRF est-il plus dangereux dans le Cloud ?

Parce que les serveurs Cloud disposent souvent d'API internes de métadonnées (accessibles via une IP spécifique) qui peuvent délivrer des jetons d'accès très sensibles s'ils sont interrogés via SSRF.

Un pare-feu classique bloque-t-il le SSRF ?

Pas forcément, car la requête malveillante provient du serveur lui-même, qui est souvent considéré comme une source de confiance par le réseau interne.