Skip to content

About

Monitor de seguridad con dashboards y análisis geo

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ SENTINEL - Dashboard de Inteligencia de Seguridad

¿Quién, Desde Dónde y Por Qué se Conectan a tu Ordenador?

Sistema completo de monitoreo y análisis de conexiones de red con visualización en tiempo real.


🎯 Características

🔍 Quién se conecta

  • Identificación de todos los procesos activos (Mail, Code, Python, etc.)
  • PID de cada proceso conectado
  • Usuario propietario de la conexión
  • Filtrado automático de procesos conocidos (navegadores, aplicaciones de chat, etc.)

📍 Desde Dónde

  • Geolocalización por IP: País, Ciudad, ISP, Organización
  • Coordenadas GPS: Latitud y Longitud precisas
  • Mapa interactivo con distribución geográfica de conexiones
  • Zona horaria del servidor remoto

⚠️ Por Qué

  • Análisis de puertos usados (HTTP, HTTPS, SSH, etc.)
  • Detección de anomalías y patrones sospechosos
  • Clasificación de amenazas: ALTA, MEDIA, BAJA
  • Historial de incidencias con timestamps
  • Análisis de comportamiento de procesos

📊 Dashboard Interactivo

El dashboard incluye:

✅ KPI Cards - Métricas clave en tiempo real

  • Conexiones totales
  • IPs únicas detectadas
  • Países involucrados
  • Anomalías detectadas
  • IPs sospechosas

✅ Gráficos

  • Conexiones por País (Gráfico de Barras)
  • Top 10 IPs Detectadas
  • Procesos más activos
  • Puertos más utilizados
  • Distribución geográfica en mapa

✅ Tabla de Amenazas

  • IP, País/Ciudad, ISP
  • Número de conexiones
  • Procesos involucrados
  • Nivel de amenaza (badge de color)
  • Anomalías detectadas

🚀 Instalación y Uso

1. Monitoreo (Recolectar Datos)

Primero, ejecuta el monitor para recolectar datos de conexiones:

cd /Users/visuarte/sentinel_link/monitor_hacker
python monitor.py

El monitor creará:

  • log_seguridad.csv - Registro detallado de conexiones
  • reporte_conexiones_geo.json - Datos de geolocalización
  • incidencias.log - Registro de incidencias

Deja el monitor ejecutándose en segundo plano para recolectar datos continuos.

2. Ejecutar el Dashboard

En otra terminal, inicia el dashboard:

# Opción 1: Script Python (recomendado)
python run_dashboard.py

# Opción 2: Ejecutable directo
python dashboard_app.py

El dashboard abrirá automáticamente en:

🌐 http://localhost:5000

3. Interpretación de Datos

Nivel de Amenaza

  • 🔴 ALTA: >10 conexiones desde la misma IP
  • 🟠 MEDIA: 5-10 conexiones desde la misma IP
  • 🟢 BAJA: <5 conexiones (típicamente legítimo)

Puertos Comunes

  • 443 - HTTPS (seguro, navegación)
  • 80 - HTTP (web)
  • 993 - IMAPS (correo seguro)
  • 22 - SSH (intento de acceso remoto) ⚠️
  • 3389 - RDP (Remote Desktop) ⚠️

Organizaciones Comunes

  • ✅ Google LLC (Gmail, búsqueda)
  • ✅ Microsoft Corporation (VS Code, actualizaciones)
  • ✅ GitHub, Inc. (GitHub, actualizaciones)
  • ✅ Cloudflare, Inc. (CDN, DNS)

📁 Estructura de Archivos

/monitor_hacker/
├── monitor.py                 # Script principal de monitoreo
├── run_dashboard.py          # Launcher del dashboard
├── dashboard_app.py          # Aplicación Flask
├── requirements.txt          # Dependencias Python
├── log_seguridad.csv         # Registro de conexiones (generado)
├── reporte_conexiones_geo.json  # Datos geo (generado)
├── incidencias.log           # Log de incidencias (generado)
└── templates/
    └── dashboard.html        # Interfaz web del dashboard

🔧 Dependencias

psutil          # Monitor de procesos y conexiones
requests        # Consultas HTTP (geolocalización)
colorama        # Colores en terminal
rich            # Tablas y formatos avanzados
flask           # Servidor web del dashboard
pandas          # Análisis de datos

Instalar todas:

pip install -r requirements.txt

🎓 Casos de Uso

Caso 1: Detectar Malware

Si ves una IP con:

  • Múltiples conexiones (>10)
  • Desde un país inusual
  • Puerto sospechoso (22, 3389, 4444)
  • Proceso desconocido → ALERTA: Posible malware o intrusión

Caso 2: Monitorear Aplicaciones Legítimas

Conexiones de VS Code a GitHub con:

  • IP: 140.82.114.21 (GitHub)
  • País: United States (San Francisco)
  • Puerto: 443 (HTTPS)
  • Nivel: BAJA → SEGURO: Actividad legítima

Caso 3: Analizar Consumo de Datos

¿Por qué mi internet es lento?

  • Mira qué procesos tienen más conexiones
  • Identifica IPs de CDN o servicios de streaming
  • Detecta conexiones innecesarias

🔐 Función de Seguridad

El sistema detecta automáticamente:

⚠️ Anomalías Detectadas

  • Puerto sospechoso (22, 3389, 4444, 5555, 8080, 9999, 31337, 6667)
  • IP conocida como maliciosa
  • Múltiples conexiones desde mismo IP (>5)

🔔 Notificaciones del Sistema

  • Se envían notificaciones nativas de macOS/Windows cuando:
    • Se detecta una IP sospechosa
    • Número de conexiones excede umbral
    • Puerto peligroso es detectado

📈 Ejemplo de Análisis Real

IP: 74.125.206.109
País: United States (Mountain View)
ISP: Google LLC
Conexiones: 156
Procesos: Mail, Notes
Puertos: 993, 1234

Análisis:
✅ Mail/Notes accediendo a servidores de Google
✅ Puerto 993 es IMAP seguro (correo)
✅ Google LLC es confiable
✅ Mountain View es ubicación oficial de Google

Conclusión: ✅ SEGURO - Actividad de correo electrónico legítima

⚙️ Configuración Avanzada

Cambiar Puerto del Dashboard

En run_dashboard.py:

app.run(host='localhost', port=8080)  # Cambiar 5000 a 8080

Filtrar Procesos

En monitor.py, agregar a PROCESOS_FILTRADOS:

PROCESOS_FILTRADOS = {
    'chrome',
    'slack',
    'tu_app_aqui'  # Agregar aquí
}

Cambiar Umbrales de Alerta

En monitor.py:

if puerto in PUERTOS_SOSPECHOSOS:  # Agregar puertos
    anomalias.append(f"Puerto sospechoso: {puerto}")

if contador > 5:  # Cambiar umbral aquí
    anomalias.append(f"IP con {contador} conexiones")

🐛 Solucionar Problemas

"No hay datos en el dashboard"

→ Ejecuta monitor.py durante varios minutos para recolectar datos

"Error de conexión a http://localhost:5000"

→ Verifica que Flask esté corriendo sin errores

"PermissionError en macOS"

→ El monitor necesita permiso para ver conexiones de otros procesos → En macOS, ejecuta con sudo si es necesario

"API timeout en geolocalización"

→ El servicio ip-api.com tiene límite de 45 llamadas/minuto → El sistema incluye caché automático


📞 Información del Sistema

Probado en:

  • macOS 13+
  • Python 3.8+

Permisos Requeridos:

  • Lectura de procesos del sistema (psutil)
  • Acceso a conexiones de red

📝 Archivos de Salida

log_seguridad.csv

Timestamp,IP_Remota,Pais,Ciudad,ISP,Proceso,PID,Puerto,Anomalias
2026-01-18 02:40:32,64.233.184.109,United States,Mountain View,Google LLC,Mail,357,993,Ninguna

reporte_conexiones_geo.json

{
  "estadisticas_generales": {
    "ips_unicas": 9,
    "conexiones_totales": 1500
  },
  "conexiones_por_pais": {
    "United States": 800,
    "Canada": 200
  }
}

🚀 Próximas Mejoras

  • 🔄 Exportar reportes a PDF
  • 📧 Enviar alertas por email
  • 🗄️ Base de datos para histórico
  • 🤖 Machine Learning para detectar anomalías
  • 🌍 Mapa real con Leaflet.js
  • 📱 Versión mobile

📜 Licencia

SENTINEL - Herramienta de Seguridad Personal


¡Mantén tu ordenador seguro! 🛡️

Para preguntas o reportes de seguridad, documenta la actividad sospechosa en incidencias.log



✦ Powered by MAPICP CORE ✦
Sistema de inteligencia artificial simbiótica · github.com/visuarte/mapicp

About

Monitor de seguridad con dashboards y análisis geo

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages