2.13.12. Présentation

Nous proposons le filtre de sécurité qui permet de contrôler les requêtes vers vitam pour éviter les vulnaribilités et faille de sécurité. Le fitre sera contrôler : - le Header de la requête - le Parameter URI - le Body

2.13.13. Classes de filtres

Nous proposons trois filtres différents dans les classe comme suits :

  • SanityCheckerCommonFilter.class : le filtre commmun pour contrôler le header, parametre URI et ceux de la requête. Ce filtre intègre aussi le contrôle XSS au niveau des header.
  • SanityCheckerInputStreamFilter.class : filter body de type Inputstream
  • SanityCheckerJsonFilter.class : filtre body de type Json

La logique est fait une contrôle et si c’est KO, une réponse de status 412 (PRECONDITION_FAILED) sera retourné.

2.13.14. Implémenter des filters

Le filtre sera ajouté dans registerInResourceConfig de chaque serveur application sous le syntaxe par exemple

serviceRegistry.register(AccessInternalClientFactory.getInstance())
    .register(SanityCheckerCommonFilter.class)

2.13.15. Appliquer le filtre pour Vitam

  • le filtre commun SanityCheckerCommonFilter sera appliqué pour les modules suivants : AccessExternal, IngestExternal, Workspace, Metadata
  • le filtre body Json SanityCheckerJsonFilter et body Inputstream SanityCheckerInputStreamFilter seront appliqué pour les modules AccessExternal, IngestExternal, Metadata