FIPS-ing the Un-FIPS-able : Apache Cassandra

Dan Fernandez, Staff Product Manager et Aaditya Jain, Senior Product Marketing Manager

Nous sommes heureux d'annoncer que Chainguard construit désormais des images validées FIPS pour Apache Cassandra entièrement à partir du code source - une première dans la communauté open source. Chainguard et nos clients ont longtemps cru qu'il était impossible de construire des versions FIPS de ce projet, car le code en amont était incompatible avec les bibliothèques cryptographiques approuvées par le FIPS.

Mais désormais, grâce à Chainguard qui fournit des images FIPS personnalisées pour Cassandra, les clients qui déploient des produits dans des secteurs hautement réglementés (sécurité, services financiers, santé, etc.) ou dans des environnements gouvernementaux (FedRAMP, StateRAMP, DoD, etc.) peuvent déployer cette plateforme de données d'entreprise avec une cryptographie approuvée par le FIPS. Cette étape permettra aux clients de Chainguard de renforcer leurs chaînes d'approvisionnement en logiciels et de simplifier les exigences de conformité, tandis que leurs clients finaux recevront une assurance plus forte de la sécurité de leurs produits. Chainguard a créé un nouveau marché pour les images FIPS - en réponse directe à la demande des clients - qui n'existait pas auparavant parce qu'il était techniquement infaisable.

Dans ce billet de blog, nous allons approfondir nos motivations pour la FIPS-ification de Cassandra et les défis que Chainguard a surmontés pour construire avec succès des versions validées FIPS pour Cassandra 4.0, 4.1, et 5.0.

Demande des clients pour des images FIPS

Les clients ont constamment demandé à Chainguard de construire des versions FIPS de Cassandra 4.0, 4.1 et 5.0, car cette application est une pièce maîtresse de la pile de données de l'entreprise. Auparavant, nous donnions la même réponse : les responsables en amont de ce projet n'ayant pas modifié leur code source pour le rendre compatible avec les bibliothèques approuvées par le FIPS, nous ne pouvions pas créer d'images FIPS pour Cassandra. Mais la demande n'a cessé d'affluer.

Les entreprises qui conçoivent des logiciels destinés à être vendus au gouvernement fédéral via l'autorisation FedRAMP ou aux agences du ministère de la défense (DoD) ont besoin d'images FIPS pour se mettre en conformité et débloquer d'énormes flux de revenus. D'autres clients traitant des données sensibles de consommateurs dans des secteurs très réglementés tels que la santé, les services financiers et la cybersécurité ont fait valoir que le cryptage FIPS était la meilleure pratique. Aucun de ces groupes d'entreprises ne pouvait se permettre de remanier ses produits pour éviter d'utiliser une application critique comme Cassandra.

La solution de Chainguard : Des images validées FIPS là où il n'y en avait pas

Après avoir constaté l'énorme demande des clients pour des images Cassandra FIPS, nous savions que nous devions construire une solution pour "FIPS l'infranchissable" nous-mêmes. Pour ce faire, nous nous sommes attelés à trois tâches importantes :

  1. La création d'un code source pour la compatibilité FIPS : Nous avons identifié le projet open source en amont approprié, forgé le code source et ajouté des modifications de code modulaires qui permettent aux utilisateurs d'utiliser soit les implémentations cryptographiques par défaut dans Java, soit les bibliothèques cryptographiques approuvées par le FIPS. Cette approche modulaire nous a permis de maintenir les opérations cryptographiques existantes natives des applications Java (génération de clés, chiffrement et description) tout en offrant des opérations cryptographiques FIPS en option. Ces changements de code ont été appliqués à la dernière balise, et également rétroportés à toutes les balises prises en charge (par exemple, trois versions de Cassandra : 4.0, 4.1 et 5.0).

  2. Tests approfondis du code source : Une fois que nous avons réussi le fork du projet en amont et mis en œuvre les changements de code compatibles FIPS, il était essentiel pour nous de mener des tests approfondis sur les chemins de code cryptographique FIPS et non FIPS. Des tests rigoureux sont essentiels pour que Chainguard puisse garantir la stabilité, la sécurité et la performance à ses clients, ainsi que la satisfaction totale de la conformité. Nos tests approfondis ont été menés sur la base du harnais de test du projet en amont afin d'assurer une fidélité totale des tests et de l'exécution.

  3. Création, livraison et maintenance d'images compatibles FIPS : Une fois que nous avons terminé toutes les modifications du code et validé les fonctions cryptographiques, nous nous sommes tournés vers le développement de nouvelles images de conteneurs. Après avoir construit avec succès les premières images FIPS pour ces projets, nous avons commencé à les maintenir et à les reconstruire en permanence, comme toutes les autres images Chainguard. Cela signifie que nous avons appliqué les derniers correctifs et mises à jour, porté les correctifs pour les anciennes versions prises en charge et assuré en permanence la validation FIPS.

Nous travaillons actuellement à la contribution de nos forks de code et de nos correctifs aux mainteneurs du projet en amont pour qu'ils les examinent et les acceptent. En tant que fervents défenseurs de l'éthique de l'open source, il est important de partager nos avancées avec l'ensemble de la communauté.

Démarrer avec Cassandra-FIPS

Les images compatibles FIPS pour Cassandra ne sont que le début de notre effort pour construire des images FIPS pour des applications que l'on pensait jusqu'à présent non compatibles FIPS. Les autres projets que nous envisageons actuellement sur notre feuille de route sont Apache Spark, Apache Kafka et Apache ZooKeeper. Nous serions ravis de recevoir vos commentaires sur les images que vous aimeriez que nous modifiions en vue d'un FIPS.

Si vous souhaitez en savoir plus sur les images personnalisées de Chainguard validées FIPS ou si vous voulez commencer à utiliser les versions FIPS de Cassandra, contactez-nous dès aujourd'hui !

Share this article

Articles connexes

Vous souhaitez en savoir plus sur Chainguard?