Mercator est une application Web permettant de gérer la cartographie d’un système d’information comme décrit dans le Guide pour la cartographie du Système d’information de l’ANSSI. La documentation et les sources de l'application sont publiées sur GitHub.
Mercator a été présenté lors du SSTIC 2023, une conférence francophone sur le thème de la sécurité de l'information qui s'est déroulerée à Rennes du 7 au 9 juin 2023. La présentation a été enregistrée et est disponible en ligne.
Read this in other languages: English
Les attaques informatiques interviennent dans un environnement en constante évolution. Pour répondre à ces enjeux, il est nécessaire de mettre en place une approche globale de gestion des risques au sein de son organisation.
La cartographie du Système d’Information permet d’avoir une vue globale de l’ensemble des éléments qui constituent le système d’information pour d’obtenir une meilleure lisibilité, et donc un meilleur contrôle.
L’élaboration d’une cartographie participe à la protection, à la défense et à la résilience du système d’information. C’est un outil indispensable à la maitrise de son système d’information (SI) et est une obligation pour les Opérateurs d’importance vitale (OIV) et qui s’intègre dans une démarche globale de gestion des risques.
- Gestion des vues (écosystème, système d’information, administration, logique, applications, et physique)
- Génération du rapport d'Architecture du Système d'Information
- Dessin des schémas de cartographie
- Calcul des niveaux de conformité
- Recherche de CVE avec CVE-Search
- Extraction en Excel, CSV, PDF … de toutes les listes
- REST API avec JSON
- Multi utilisateurs avec gestion de rôles
- Multilingue
- Connexion LDAP / Active Directory
- CPE - Common Platform Enumeration
Page principale
Niveaux de conformité
Ecran de saisie
Dessin de la cartographie
Explorer
Modèle de données
- PHP, Javascript, Laravel
- Base de données supportées : MySQL, Postgres, SQLite, SQL Server (cf.: Laravel/Databases/introduction )
- WebAssembly + Graphviz
- ChartJS
- Procédure d'installation sous Ubuntu
- Procédure d'installation sous RedHat
Téléchargez d'abord l'image Docker.
docker pull ghcr.io/dbarzin/mercator:latest
Ensuite, vous pouvez lancer une instance locale éphémère en mode développement (i.e. http) :
docker run -it --rm --name mercator -e APP_ENV=development -p "127.0.0.1:8000":80 ghcr.io/dbarzin/mercator:latest
Par défaut, il utilise un backend SQLite. Si vous voulez rendre les données persistantes :
touch ./db.sqlite && chmod a+w ./db.sqlite
docker run -it --rm --name mercator -e APP_ENV=development -p "127.0.0.1:8000":80 -v $PWD/db.sqlite:/var/www/mercator/sql/db.sqlite ghcr.io/dbarzin/mercator:latest
Enfin, vous pouvez remplir la base de données avec des données de démonstration grâce à la variable d'environnement USE_DEMO_DATA
:
touch ./db.sqlite && chmod a+w ./db.sqlite
docker run -it --rm \
--name mercator \
-e APP_ENV=development \
-p "127.0.0.1:8000":80 \
-v $PWD/db.sqlite:/var/www/mercator/db.sqlite \
-e USE_DEMO_DATA=1 \
ghcr.io/dbarzin/mercator:latest
Visitez http://127.0.0.1:8000 !
Si vous recherchez un environnement plus robuste (https) et automatisé, jetez un oeil au dossier docker-compose.
Tous les changements notables apportés à ce projet sont documentés.
Une feuille de route reprend les évolutions prévues de l'application.
Mercator est un logiciel open source distribué sous GPL.