
créer des instructions CREATE Cypher pour Neo4j à partir de fichiers netstat de plusieurs machines

Les graphiques aident à repérer les anomalies et les motifs dans les grands ensembles de données.
Ce script prend les informations netstat de plusieurs hôtes et les formate de manière à les rendre importables dans Neo4j.
Neo4j peut être interrogé pour trouver des connexions vers certains hôtes, depuis certains hôtes, connaître l'utilisation ou les protocoles, et bien plus encore.
Il y a déjà quelques fichiers dans le répertoire example pour vous permettre de tester l'outil.
Vous pouvez également trouver des exemples de requêtes qui vous donneront une idée de base des possibilités de recherche.
Actuellement, l'outil est testé avec la sortie netstat des systèmes Windows utilisant la commande netstat -an.
https://docs.docker.com/install/linux/docker-ce/centos/
https://docs.docker.com/compose/install/
git clone https://github.com/trinitor/netstat2neo4j.git /opt/netstat2neo4j/
cd /opt/netstat2neo4j/
docker-compose up -d
https://ip:7474
user: neo4j
pass: neo4j
copiez tous les fichiers de sortie netstat (fichiers *.txt) dans /opt/netstat2neo4j/script/import/
cd /opt/netstat2neo4j/script/
bash csv2neo4j.sh
les instructions Cypher nécessaires se trouvent dans create_database.txt
naviguez vers https://localhost:7474
Copiez le contenu de create_database.txt
Collez-le dans la barre de commandes de l'interface Neo4j
MATCH (src)-[:DEPENDS_ON]->(dst)
WHERE src.ip STARTS WITH '192_168_'
RETURN src, dst
Il y a aussi un fichier query.txt dans le dossier example.
Q: C'est redondant. Ne connaissez-vous pas d'autres projets ?
R: Je le sais. Ce n'est ni nouveau ni spécial. Il existe des projets gratuits, des tutoriels et des produits commerciaux basés sur des agents pour dessiner des cartes et même appliquer des règles.
Quelques exemples :
Ce petit projet ne remplace en aucun cas ces solutions.
Q: Créer des netstats sur toutes les machines est difficile. Avez-vous une solution ?
R: Bien que vous puissiez collecter les informations avec le remote WMI/PowerShell, je ne recommande pas d'avoir un compte disposant de tous les droits d'administration sur tous vos systèmes.
Utilisez votre gestion de configuration pour planifier la création des netstats ou utilisez des tâches planifiées. Cela dépasse le cadre de ce petit projet.
Si vous voulez utiliser un compte avec toutes les clés du royaume :
https://ijustwannared.team/2019/04/22/network-connection-footprinting-with-wmi-and-neo4j/
Q: Vous devez vous tromper. Neo4j doit pouvoir lire les fichiers CSV directement. Pourquoi créez-vous les instructions vous-même ?
R: Vous avez raison. Il est possible d'importer directement les fichiers CSV.
https://neo4j.com/developer/guide-import-csv/