
Ciberseguridad mapa de ataques geoip que sigue syslog y analiza IPs/números de puerto para visualizar atacantes en tiempo real.
No tengo mucho tiempo en mi vida en este momento para mantener este proyecto. Acepté este desafío como una forma de aprender JavaScript y mejorar el Python que ya conocía. Estoy seguro de que hay varias cosas que podría haber hecho de manera diferente en mi implementación, y no me ofenderé si recibo críticas constructivas de alguien que descargue y vea mi código. Sé que aprendí muchísimo al trabajar en esto, y espero que la comunidad de código abierto me siga enseñando cosas :)
NOTA: Debido a que no mantengo este proyecto, hay algunas características que probablemente no funcionen de inmediato; por ejemplo, el mapa probablemente no se mostrará porque no pago por una clave legítima de MapBox API. Para solucionar esto, probablemente tengas que crear tu propia cuenta de MapBox y usar tu propia clave.
Este visualizador de mapa de ataques geoip fue desarrollado para mostrar los ataques de red a su organización en tiempo real. El servidor de datos sigue un archivo syslog y analiza la IP de origen, IP de destino, puerto de origen y puerto de destino. Los protocolos se determinan mediante puertos comunes, y las visualizaciones varían en color según el tipo de protocolo. HAGA CLIC AQUÍ para ver un video de demostración. Este proyecto no sería posible si no fuera por Sam Cappella, quien creó un visualizador de tráfico de red de competencia de defensa cibernética para la Competencia de Defensa Cibernética Palmetto 2015. Principalmente usé su código como referencia, pero tomé prestadas algunas funciones al crear el servidor de visualización y los aspectos visuales de la aplicación web. También quiero agradecer especialmente a Dylan Madisetti por darme consejos sobre ciertos aspectos de mi implementación.
Este programa depende completamente de syslog, y debido a que todos los dispositivos formatean los registros de manera diferente, necesitará personalizar la(s) función(es) de análisis de registros. Si su organización utiliza un sistema de gestión de eventos e información de seguridad (SIEM), probablemente pueda normalizar los registros para ahorrarle mucho tiempo escribiendo expresiones regulares.
Si encuentra algún error o bug, por favor hágamelo saber. Las preguntas y comentarios también son bienvenidos, y pueden enviarse a [email protected], o abrir un issue en este repositorio.
Probado en Ubuntu 16.04 LTS.
Clonar la aplicación:
git clone https://github.com/matthewclarkmay/geoip-attack-map.git
Instalar dependencias del sistema:
sudo apt install python3-pip redis-server
Instalar requisitos de Python:
cd geoip-attack-map
sudo pip3 install -U -r requirements.txt
Iniciar el servidor Redis:
redis-server
Configurar la base de datos del servidor de datos:
cd DataServerDB
./db-dl.sh
cd ..
Iniciar el servidor de datos:
cd DataServer
sudo python3 DataServer.py
Iniciar el script de generación de syslog, dentro del directorio DataServer:
Abrir una nueva pestaña de terminal (Ctrl+Shift+T, en Ubuntu).
./syslog-gen.py
./syslog-gen.sh
Configurar el servidor del mapa de ataques, extraer las banderas al lugar correcto:
Abrir una nueva pestaña de terminal (Ctrl+Shift+T, en Ubuntu).
cd AttackMapServer/
unzip static/flags.zip
Iniciar el servidor del mapa de ataques:
sudo python3 AttackMapServer.py
Acceder al servidor del mapa de ataques desde el navegador:
Para acceder a través del navegador desde otro ordenador, use la IP externa de la máquina que ejecuta el AttackMapServer.
Editar la dirección IP en el archivo "/static/map.js" en el directorio "AttackMapServer". De:
var webSock = new WebSocket("ws:/127.0.0.1:8888/websocket");
A, por ejemplo:
var webSock = new WebSocket("ws:/192.168.1.100:8888/websocket");
Reiniciar el servidor del mapa de ataques:
sudo python3 AttackMapServer.py
En el otro ordenador, apunte el navegador a:
http://192.168.1.100:8888/