Avec la montée en puissance du Big Data, le transport sécurisé de grands volumes de documents entre sites distants est une problématique récurrente des SI qui gèrent des quantités croissantes de ressources.

Waarp est né de la volonté d’une équipe de professionnels de créer et d’animer un outil communautaire à même d’assurer le transfert de fichiers dans des contextes sécurisés et performants.

Waarp est le nouveau nom du logiciel libre OpenR66 (licence GPL). Cet outil Open Source de monitoring de transfert de fichiers fut créé pour pallier les limites de performances de la passerelle propriétaire CFT, et supporter 10.000 transferts simultanés dans le cadre de la plate-forme d’échange de la DGFIP (Ministère des Finances à Bercy).

Waarp est un projet issu initialement d’un besoin au sein du Ministère des finances de la France. Développé de manière indépendante des structures du ministère, ce logiciel (à l’origine nommé GoldenGate OpenR66) avait pour objectif de supporter plus de 100 000 transferts par jour dans le cadre d’une plateforme d’archivage du ministère. Sa première mise en production date de 2007. Il a ensuite été déployé au sein de la Gendarmerie Nationale en production en 2012 pour un autre projet d’archivage.

Initialement développé par Frédéric Brégier depuis 2006, il bénéficie d’un support via une société éponyme depuis 2012. Il reste toujours libre et gratuit.

Depuis 2014, Waarp fait partie des logiciels recommandés par l’État français dans le cadre du Socle Interministériel de Logiciels Libre

 

Fonctionnalités

Waarp Gateway FTP (protocoles FTP et FTPS) et Waarp R66 partagent des fonctionnalités via l’approche modulaire de développement de Waarp (Common, Digest, Snmp…) : ils intègrent la sécurisation des échanges (SSL, traçabilité), le support SNMP V2 et V3 et des outils d’administration en mode Web HTTPS, ainsi que l’adaptation aux besoins métiers via l’usage de règles d’actions avant ou après transferts.

Waarp R66 possède des fonctionnalités additionnelles particulières pour des contextes de production sécurisés.

En termes de transferts, Waarp R66 assure la garantie de la délivrance et la reprise sur incidents. Les transferts, en mode synchrone ou asynchrone, en envoi comme en réception, sont réalisés sur la base de règles de transferts assurant le contrôle des droits entre partenaires. Le mode de déclenchement d’un transfert peut être via des démons (scrutateurs de répertoires), des appels via ligne de commande ou via les différentes interfaces de programmation (API Java, API Thrift, API REST HTTP(s)).

En termes de production, Waarp R66 propose des interfaces d’administration locale (HTTPS) ou centralisées (GUI). Il optimise les conditions d’usage du réseau (multiplexage, limitation de bande passante, proxification, keepalive, timeout…) ou d’autres ressources (calcul et mémoire). Il autorise la mise en haute disponibilité et le support de la scalabilité horizontale avec une capacité de plus de 2^64 transferts simultanés ou historisés.

En termes de sécurité, Waarp R66 permet la sécurisation des échanges via identification faible et forte des partenaires et la présence d’une liste noire, la détection de tentatives d’intrusions, le support d’une configuration en DMZ et le support de partenaires à accès restreints.

Pour l’adaptation aux besoins métiers, Waarp R66 supporte plusieurs types de tâches (avant ou après transferts) comme la gestion de fichiers (copie, effacement, tar/zip, transcodification de jeux de caractères…), la gestion de transferts (retransfert ou replanification) et l’exécution de tâches externes (script ou Java).

Waarp R66 supporte plusieurs types de bases de données via JDBC (PostgreSQL, Oracle, MySQL/MariaDb, H2 Database). Cette base, non obligatoire, apporte les fonctionnalités d’historisation et de capacité de reprise sur incident et peut être mutualisée entre différents clients et serveurs.

Un outil robuste et performant

Waarp est un produit robuste et performant qui dispose des caractéristiques suivantes :

  • Nombre de transferts simultanés virtuellement illimités ;
  • Possibilité de limiter l’usage de la bande passante (point à point ou globalement) ;
  • Garantie d’acheminement (persistance) ;
  • Chiffrement et contrôle de l’intégrité des transferts optionnels ;
  • Intégration facilitée dans les règles de sécurité (choix des ports, multiplexages des flux) ;
  • Historisation des méta-données associées aux transferts ;
  • Exécution de pré et post-process au sein de la transaction de transfert ;
  • Authentification des partenaires (mot secret et optionnel authentification client SSL) ;
  • Virtualisation des chemins d’accès ;
  • Validation d’usage des règles par partenaire.