====== 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.