o Intégration avec la base de données : Gestion des informations provenant
des outils d'analyse, catégorisation des vulnérabilités (critique, élevée,
moyenne, faible) et mise en corrélation des résultats dans le but d'éliminer
les redondances.Les résultats sont stockés dans une base SQL
(PostgreSQL, MySQL)ouNoSQL (MongoDB) selon le besoin. La
structure permet la classification des vulnérabilités, l’association aux
hôtes impactés, etl’élimination des doublonsvia lacorrélation des
résultats (CVE, hashing, regroupement IP/Port).
3.3 Base de Données
La base de données stocke les informations relatives aux scans, aux vulnérabilités
détectées et aux rapports.
• Technologie recommandée :
PostgreSQL : En raison de sa solidité, de son aptitude à gérer des transactions complexes
et de ses caractéristiques sophistiquées (indexation, recherche en texte intégral). Idéal
pour les applications nécessitant des fonctionnalités avancées. IL est préférable pour la
gestion de données complexescomprenant des fonctionnalités avancées telles que
l'indexation et la recherche en texte intégral.
PostgreSQL consomme plus de ressources (mémoire, CPU) que MySQL pour des
charges légères. Sa courbe d’apprentissage plus importante si l’équipe est habituée à
MySQL.
MySQL : Option fréquemment employée et soigneusement documentée. C’est un choix
pragmatique et performant pour des besoins classiqueset bien documentées. Il est
préférable pour les applications web classiques, l’hébergement et la compatibilité.
MySQL est moins performant pour les requêtes complexes et la gestion des
transactions par rapport à PostgreSQL.
• Structure des tables :
o Utilisateurs (id, nom, email, rôle)
o Scans (id, cible, statut, date d'exécution, résultat)
o Vulnérabilités (id, scan_id, description, niveau de risque)
o Rapports (id, scan_id, format, génération)
✓ Utilisation cohérente des types de données (VARCHAR, TEXT,
TIMESTAMP).
✓ Clés primaires (id SERIAL PRIMARY KEY) uniformisées.
✓ Clés étrangères (scan_id) avec ON DELETE CASCADE pour
assurer la cohérence.