
crear sentencias CREATE de Cypher para neo4j a partir de archivos netstat de múltiples máquinas

Los gráficos ayudan a detectar anomalías y patrones en grandes conjuntos de datos.
Este script toma información de netstat de múltiples hosts y la formatea de manera que pueda importarse a Neo4j.
Neo4j puede ser consultado para encontrar conexiones a ciertos hosts, desde ciertos hosts, descubrir el uso de protocolos y mucho más.
Ya hay algunos archivos en el directorio de ejemplo para que puedas probar la herramienta.
También puedes encontrar consultas de ejemplo que te ayudarán a tener una idea básica de las posibilidades de búsqueda.
Actualmente la herramienta está probada con la salida de netstat de sistemas Windows usando el comando '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
usuario: neo4j
contraseña: neo4j
copia todos los archivos de salida de netstat (*.txt) en /opt/netstat2neo4j/script/import/
cd /opt/netstat2neo4j/script/
bash csv2neo4j.sh
las sentencias cypher necesarias se pueden encontrar en create_database.txt
navega a https://localhost:7474
Copia el contenido de create_database.txt
Pégalo en la barra de comandos de la interfaz de Neo4j
MATCH (src)-[:DEPENDS_ON]->(dst)
WHERE src.ip STARTS WITH '192_168_'
RETURN src, dst
También hay un archivo query.txt en la carpeta de ejemplo.
P: Esto es redundante. ¿No sabes que hay otros proyectos?
R: Lo sé. Esto no es nuevo ni especial. Existen proyectos gratuitos, tutoriales y productos comerciales basados en agentes para dibujar mapas e incluso aplicar reglas.
Algunos ejemplos:
Este pequeño proyecto no es de ninguna manera un reemplazo.
P: Crear netstats en todas las máquinas es difícil. ¿Tienes una solución?
R:
Si bien puedes recopilar la información con WMI/PowerShell remoto, no recomiendo tener una cuenta con permisos de administrador completo en todos tus sistemas.
Usa tu sistema de gestión de configuración para programar la creación de netstat o usa tareas programadas. Esto está fuera del alcance de este pequeño proyecto.
Si deseas usar una cuenta con todas las llaves del reino:
https://ijustwannared.team/2019/04/22/network-connection-footprinting-with-wmi-and-neo4j/
P: Debes estar equivocado. Neo4j debería poder leer archivos CSV directamente. ¿Por qué estás creando las sentencias tú mismo?
R: Tienes razón. Es posible importar archivos CSV directamente.
https://neo4j.com/developer/guide-import-csv/