Comment nous avons sécurisé notre panneau d'administration Forest Admin

Thibault Nucéra
Thibault Nucéra
Site Reliability Engineer

Chez Yousign, nous utilisons depuis quelque temps Forest Admin, également membre d'eFounders depuis 2016, comme panneau d'administration de notre application web et nous allons intensifier son usage au sein de nos différentes typologies d'équipe. Nous avons à cœur la sécurité des données de nos utilisateurs, c'est pourquoi nous avons souhaité renforcer le système proposé par Forest Admin en ajoutant une vérification d'accès supplémentaire. Ces différents points vont être abordés dans cet article.

Comment fonctionne Forest Admin ?

0

L'architecture logicielle des éléments de Forest Admin est composée de deux parties :

  • la partie hébergée sur notre infrastructure : l'API appelée "Admin Backend" qui se connecte à nos différentes bases de données applicatives et permet de réaliser des actions avancées via du développement réalisé chez nous
  • la partie hébergée chez Forest Admin : l'interface utilisateur web et son API de gestion entièrement gérés par les équipes de Forest Admin

Pour plus d'informations, veuillez vous reporter à cet article, écrit par les équipes de Forest Admin.

Et la sécurité ?

Forest Admin propose différentes méthodes et solutions pour sécuriser les échanges entre l'interface et l'API backend hébergée dans notre infrastructure.

Dans un premier temps, avec l'architecture créée par Forest Admin, nos données ne transitent jamais par leurs serveurs, car les échanges sont faits en direct entre le navigateur utilisateur et le backend.

La sécurité est portée par le standard JWT. Les communications entre le backend et les serveurs Forest Admin sont protégées par deux JWT différents signés avec deux clés différentes.

Trois autres options de sécurité sont proposées dans le plan Plus :

  • la liste blanche d'IP
  • l'auto-déconnexion
  • le double facteur d'authentification (2FA)

Comment renforcer la sécurité en apposant notre propre couche ?

Chez Yousign, nous sommes très vigilants sur la sécurité à tous les niveaux. Même si Forest Admin propose une architecture et des mécanismes de protection bien pensés, nous voulions absolument rajouter une strate de sécurité entièrement portée chez nous dans une logique de "Zero Trust".

La documentation officielle indique actuellement ceci aussi :

image.png

VPN

Bien évidement, la solution qui vient en premier et qui est d'ailleurs proposée dans la documentation de Forest Admin est de protéger l'accès au backend en utilisant un VPN. En effet, en installant un VPN sur nos serveurs qui hébergent l'API admin, tous les appels API de nos utilisateurs effectués depuis l'interface web seraient sécurisés par notre VPN.

Mais cela impliquait de déployer le VPN à l'ensemble de nos utilisateurs internes, chose que nous ne souhaitions pas dans ce contexte précis d'utilisation. Nous utilisons toujours les VPN, mais pour des usages bien précis que nous ne détaillerons pas ici.

API Gateway et IAM

Nous utilisons depuis plusieurs années Kong en tant qu'API Gateway et Okta en tant qu'IAM pour sécuriser l’accès de nos collaborateurs et partenaires​ aux outils d'entreprise.

Nous avons donc eu l'idée de placer l'API backend derrière notre API Gateway et ainsi de bénéficier de toute la puissance qu'apporte une API Gateway et en l’occurrence Kong. Avec un plugin OIDC configuré avec notre IDP Okta, nous avons donc protégé l'accès aux routes de l'API backend avec notre propre mécanisme, sans aucun développement spécifique sur le backend.

Cela se schématise comme ceci :

Forest Admin + Kong.jpg

Le système a été mis en place en intelligence avec les équipes de Forest Admin, qui nous ont vraiment bien accompagnés sur la compréhension des échanges entre leurs différentes briques logicielles pour garantir le succès du projet.

Aujourd'hui, les données de Yousign jouissent d'une protection renforcée. Le système a été déployé et est pratiquement transparent, à travers la connexion via Okta, pour les personnes autorisées à accéder à Forest Admin. Elles ont désormais la possibilité de personnaliser l'interface de Forest Admin pour les besoins spécifiques liés à leur profil.

Thibault Nucéra