====== NetAlertX ====== Aplicación web para escanear dispositivos conectados y alertar sobre intrusiones o cambios en la red. Surgió como evolución de [[https://github.com/pucherot/Pi.Alert|Pi.Alert]]. * [[https://netalertx.com/|Sitio web]] * [[https://github.com/jokob-sk/NetAlertX|Repositorio de código]] * [[https://jokob-sk.github.io/NetAlertX/|Documentación]] {{ https://netalertx.com/static/media/devices.60887dfedb017c38858f.png |}} ===== Características ===== * Escaneos de red a demanda o programados: escanea la red en busca de nuevos dispositivos, cambios de IP, desconexiones, reconexiones, etc. * Notificaciones personalizables: recibe alertas de más de 80+ gracias a Apprise. * Personalización de la interfaz. * Visualización de la red * Integración con [[..:home_assistant|Home Assistant]]. * Gratuita. * Open source. * Soporte de despliegue con Docker. ===== Casos de uso ===== * **Seguridad doméstica**: Detectar vecinos o hackers conectados a redes WiFi caseras. * **Monitoreo corporativo**: Supervisar dispositivos no autorizados en redes LAN empresariales. * **Gestión de IoT** (//Internet of Things//): Rastrear dispositivos inteligentes vulnerables (ej.: cámaras, refrigeradores) * **Educación**: Herramienta didáctica para estudios de ciberseguridad y administración de redes. ===== Instalación ===== ==== Docker ==== --- services: netalertx: container_name: netalertx # use the below line if you want to test the latest dev image # image: "ghcr.io/jokob-sk/netalertx-dev:latest" image: "ghcr.io/jokob-sk/netalertx:latest" network_mode: "host" volumes: - ./config:/app/config - ./db:/app/db # (optional) useful for debugging if you have issues setting up the container # - local_path/logs:/app/log # (API: OPTION 1) use for performance - type: tmpfs target: /app/api # (API: OPTION 2) use when debugging issues # - local_path/api:/app/api environment: - TZ=Europe/Madrid - PORT=20211 - PUID=1000 - GUID=100 restart: unless-stopped La aplicación web estará accesible desde ''%%http://direccion.ip:20211/%%'' ===== Configuración ===== ==== Escaner ==== Tras instalarlo, lo primero que tenemos que hacer es decirle qué red escanear. Vamos a //Settings// -> **Core**. En //Networks to scan// ponemos la red que nos interesa. Por ejemplo, si nuestra red local es ''192.168.0.0/24'' y el equipo en el que está funcionando NetAlertX tiene una interfaz de red llamada ''eno1'', entonces tendríamos que poner: 192.168.0.0/24 --interface=eno1 ==== Notificaciones / alertas ==== Debemos habilitar el plugin necesario. Por ejemplo, para recibir notificaciones por [[..:telegram|Telegram]], primero tenemos que ir a //Settings// -> **Core**. En //Loaded plugins// añadiremos ''TELEGRAM''. Tras guardar los cambios, en la parte inferior de esa página, en //Publishers// nos aparecerá **Telegram publisher**. Si pulsamos en él, podremos configurarlo. ==== Autenticación ==== Por defecto, NetAlertX se despliega sin autenticación, es decir, cualquiera en la red local puede acceder a la instancia. Podemos [[https://github.com/jokob-sk/NetAlertX/security#-web-ui-password-protection|habilitar la protección por contraseña]] editando en el fichero ''app.conf'' (''/app/config'' en la instalación mediante contenedor Docker) las siguientes variables: SETPWD_enable_password=true SETPWD_password='tu_contraseña' Las contraseñas se almacenan como //hashes// SHA256, así que si queremos poner como contraseña ''secreto'', desde Linux podemos ejecutar: echo -n secreto | sha256sum df733656293a19c54f69093ba916f0a1a2a3c151fc95c13f3a794c2631eeb3a6 - ''df733656293a19c54f69093ba916f0a1a2a3c151fc95c13f3a794c2631eeb3a6'' será lo que debemos poner en ''SETPWD_password''. * [[https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/set_password|Las contraseñas se establecen mediante el plugin SETPWD]]. ===== Plugins ===== [[https://github.com/jokob-sk/NetAlertX/blob/main/docs/PLUGINS.md#available-plugins|Listado de todos los //plugins// que soporta NetAlertX]]. ===== Recursos ===== * [[watchyourlan|WatchYourLAN]]: alernativa sencilla a NetAlertX.