Security Notifications avisa al administrador de tu servidor de Emby en cuanto ocurre algo anormal o sensible para la seguridad: quién lo hizo, desde dónde, por qué parece sospechoso y qué hacer al respecto.
Qué vigila
20 reglas, cada una con su interruptor, umbral y gravedad:
- Ataques a las cuentas: ráfagas de contraseñas incorrectas desde una dirección, muchas cuentas probadas desde la misma dirección (password spraying), un inicio de sesión correcto tras muchos fallos, una cuenta bloqueada.
- Inicios de sesión inusuales: un país nuevo para la cuenta o un «viaje imposible» (dos lugares demasiado lejanos en demasiado poco tiempo); un administrador que inicia sesión desde un dispositivo nuevo, una red nueva, fuera de la red local o a una hora inusual; inicios de sesión desde una salida de Tor o una red maliciosa conocida (Spamhaus DROP).
- Cambios sensibles: un administrador nuevo o derechos sensibles concedidos, una contraseña cambiada, una cuenta eliminada, una clave de API creada o eliminada, un plugin instalado, actualizado o eliminado, ajustes críticos cambiados (acceso remoto, HTTPS, proxies de confianza, puertos, UPnP).
- Daños y abuso: eliminación masiva desde una biblioteca, una cuenta usada desde demasiados lugares a la vez, una sesión activa de una cuenta desactivada.
- Signos de compromiso: escaneos y sondeos (
/.env,wp-login, path traversal), cabeceras de proxy falsificadas, uso de «Forgot password», los archivos conocidos del ataque de mayo de 2023 a los servidores de Emby o DLL que aparecen en la carpeta de plugins sin una instalación desde el catálogo, una versión del servidor con vulnerabilidades publicadas.
Notificaciones
- Canales: Telegram, correo (SMTP), webhook (Discord, Slack, ntfy, Gotify o JSON simple) y el registro de actividad de Emby. Cada canal tiene su propia gravedad mínima y un botón de prueba.
- Sin spam: la misma alerta como máximo una vez por intervalo, ráfagas agrupadas en un solo mensaje, horas de silencio (solo salen enseguida las alertas críticas; el resto llega en un resumen al final), resumen diario opcional.
- Contenido: qué pasó, qué cuenta, desde dónde (dirección, país, ciudad, red, dispositivo), por qué es sospechoso y qué comprobar. Los nombres enviados por un atacante (dispositivo, app, cuenta) se transmiten como texto plano.
- Historial de todas las alertas en la página del plugin, con filtros y exportación a CSV.
Requisitos
- Emby Server 4.10.1 o posterior (Linux, Windows o Docker).
- Para alertas por Telegram, correo o webhook: un bot de Telegram, un servidor SMTP o una dirección de webhook. El registro de actividad de Emby funciona sin ninguno de ellos.
Preguntas frecuentes
¿Puede avisarme Emby cuando alguien intenta entrar en mi servidor? Sí, con Security Notifications: contraseñas incorrectas repetidas, password spraying, un inicio de sesión tras muchos fallos, un país nuevo o un administrador que inicia sesión desde un dispositivo nuevo te envían una alerta por los canales que elijas. Consulta la guía.
¿Es esto lo mismo que Access Log? No. Access Log guarda el historial completo de inicios de sesión para que lo consultes; Security Notifications vigila los eventos y cambios sospechosos y te alerta enseguida. Funcionan bien juntos.
Qué envía y adónde
Todas las tareas en segundo plano se ejecutan solo con una licencia válida y el plugin activado.
- Base de datos de geolocalización (solo descarga, no se envía nada): DB-IP Lite por defecto (
download.db-ip.com, sin cuenta, CC BY 4.0 — «IP Geolocation by DB-IP», actualizada cada ~35 días); alternativamente MaxMind GeoLite2 (download.maxmind.com, con tu cuenta, cada 7 días) o «desactivado». La geolocalización de IP se hace localmente; las direcciones IP nunca se envían a ningún sitio. - Listas de amenazas (activadas por defecto, solo descarga): nodos de salida de Tor (
check.torproject.org, cada hora) y Spamhaus DROP (www.spamhaus.org, a diario). Se pueden desactivar. - Canales de notificación — todos desactivados por defecto, elegidos por el administrador:
- Telegram (
api.telegram.org): el texto de la alerta a tu chat, con el token de tu bot; el botón «detect chats» lee las actualizaciones recientes del bot. - Webhook (tu URL: Discord, Slack, ntfy, Gotify o JSON genérico): texto de la alerta, nombre del servidor, gravedad, hora.
- Correo: a través del SMTP del plugin Registration (si está instalado) o de tu propio servidor SMTP (STARTTLS por defecto), a los destinatarios configurados.
- El registro de actividad del servidor (local, activado por defecto).
- Telegram (
- Contenido de la alerta: título y detalle, la cuenta afectada, la dirección IP con ciudad/país/ISP (ASN), dispositivo y app, gravedad, regla, nombre del servidor, hora. Los nombres escritos por un atacante se envían como texto plano (las menciones de Discord están desactivadas).
- Las páginas no cargan recursos externos.
- Además, el cliente de licencias, el mismo en cada plugin: consulta Licencias y privacidad en nuestros plugins.
Guardado localmente (carpeta de datos del plugin):
state/alerts.json: historial de alertas (máximo 5000, configurable).accounts.json: por cuenta — países, redes (ASN), dispositivos vistos (se eliminan a los 365 días), última IP/país/coordenadas; las IP recientes se eliminan a las 24 h.secrets.json(modo 600, fuera de la configuración del servidor): token de Telegram, contraseña SMTP, URL del webhook, clave de MaxMind.- Listas de Tor/Spamhaus, bases de datos
geoip/*.mmdb. - El plugin comprueba si existe el archivo de restablecimiento de contraseña del servidor, sin leerlo; compara la versión del servidor con una tabla de vulnerabilidades incluida (sin conexión).
Nunca se envían: contraseñas, tokens de sesión, contenido multimedia. Nada va a un canal que no hayas activado.
Compatibilidad con clientes
Completamente en el servidor: las alertas proceden de los eventos y el registro del servidor, sea cual sea la app que use el usuario o el atacante.
- Emby Web: ✅ página de administración (escritorio y móvil de 390 px); de extremo a extremo 39/39 con eventos reales de Emby.
- Entrega verificada: webhook JSON, correo (SMTP local), registro de actividad ✅; Telegram, Discord, Slack, ntfy y Gotify reales: ❔ no probados (el formato de Discord está probado con pruebas unitarias).
- Apps nativas de Emby, Kodi, Infuse, etc.: 🟢 independiente del cliente; ❔ no probadas individualmente.
- Limitaciones: Emby solo registra algunas solicitudes, así que la detección de escaneos ve 404 y POST, no cada GET. El SMTP por el puerto 465 (TLS implícito) puede no funcionar — usa 587/STARTTLS (sin verificar).
Leyenda: ✅ verificado (prueba de extremo a extremo o en el dispositivo) · 🟢 en el servidor, funciona con cualquier cliente (por diseño, sin prueba específica para cada cliente) · ➖ no aplicable · ❔ no probado.
Licencia
Una licencia por servidor de Emby. Mensual, anual o de por vida, o incluida en el paquete para Emby. 30 días de prueba gratis.
