Exchange mail filter
Plugin con el que se pueden filtrar correos y el número de correos que coinciden con los filtros utilizados.
- Introducción
- Matriz de compatibilidad
- Pre requisitos
- Parámetros
- Ejecución manual
- Configuración en PandoraFMS
- Módulos generados por el plugin
Introducción
Ver. 15-02-2024
Plugin con el que se pueden filtrar correos y el número de correos que coinciden con los filtros utilizados.
Tipo: Plug-in de servidor.
Matriz de compatibilidad
Sistemas donde se ha probado |
exchange 2016, exchange online |
Sistemas donde debería funcionar |
Cualquier versión de exchange |
Pre requisitos
- Tener el Data Server de Pandora FMS habilitado
- Tener el Plugin Server de Pandora FMS habilitado
- Autenticación OAuth para exchange online
Pasos para habilitar OAuth en exchange online:
-
Registro de Aplicación en Azure AD:
- Inicia sesión en el Portal de Aplicaciones de Azure.
- Navega a Azure Active Directory > Registros de aplicaciones > Nueva aplicación de registro.
- Completa los detalles de la aplicación (nombre, tipo de cuenta, URI de redireccionamiento, etc.).
-
Configuración de Permisos:
- Después de registrar la aplicación, ve a "Permisos de API" y asigna el permisos necesarios para Exchange Online (full_access_as_ap).
-
Obtención de Credenciales de Aplicación:
- En la sección de "Credenciales" de la aplicación, crea una nueva clave secreta y utiliza esta, el tenant id y client id de la aplicación para autenticar con el plugin.
Parámetros
--server | Nombre del servidor |
--smpt_address | Dirección de correo |
--user | Usuario de exchange |
--client_id | Client id |
--tenant_id | Tenant id |
--secret | secret |
--password | Contraseña del usuario |
--smtp_address | Cuenta del usuario del que se filtraran correos. |
--subject | Para filtrar palabra o frase en el subject. |
--sender | Para filtrar por correo electrónico |
--date_start | Para filtrar a partir de determinada fecha, se usa como fecha de inicio.Cada fecha debe ir separada por un guión y entrecomillada, con el siguiente formato: 'año-mes-día-hora-minuto'. ejemplo: '2021-1-12-0-0'. |
--date_end | Para filtrar a partir de determinada fecha, se usa como fecha final.Cada fecha debe ir separada por un guión y entrecomillada, con el siguiente formato: 'año-mes-día-hora-minuto'. ejemplo: '2021-1-12-0-0'. |
--mail_list | Para crear un nuevo módulo con una lista de los mails que coinciden. |
--transfer_modo | Modo de transferencia |
--tentacle_port | Puerto de tentacle en caso de querer mandar los datos de esta manera |
--tentacle_address | Dirección de tentacle en caso de que quiera mandar los datos de esta manera |
--agent_prefix | Nombre del agente que contendrá los módulos |
--module_prefix | Para añadir un prefijo al módulo, "Exchange" es el prefijo por defecto. |
--group | Grupo de destino en pandora |
--interval | Intervalo de creación de tiempo para el agente |
--temporal | Directorio temporal de ficheros. |
--data_dir | Dirección de destino de los datos |
--log_file | Ruta del fichero de logs |
--auth | Modo de autenticación. Las dos opciones posibles son 0Auth y basic. La autenticación basic esta deprecada en exchange online. |
Ejecución manual
El plugin crea un agente con dos módulos por cada ejecución, uno con el número de emails que coinciden con el filtrado y otro con el listado de estos emails. Los parámetros de filtrado son los siguientes:
--subject
--sender
--date_start
--date_end
Se puede filtrar por cualquiera de estos o se pueden combinar de la siguiente forma:
subject + sender
subject + sender + date_start-date_end
Ejemplo ejecución manual
./exchange_mail \
--auth <oauth> \
--server <server> \
--smtp_address <smtp_address> \
--client_id <client_id> \
--tenant_id <tenant_id> \
--secret <secret> \
[--user <user>] \
[--password <password>] \
[--subject <subject>] \
[--sender <sender>] \
[--date_start <date_start>] \
[--date_end <date_end>] \
[--mail_list <mail_list>] \
[--module_prefix <module_prefix>] \
[--agent_prefix <agent_prefix>] \
[--group <group>] \
[--interval <interval>] \
[--temporal <temporal>] \
[--data_dir <data_dir>] \
[--transfer_mode <transfer_mode>] \
[--tentacle_client <tentacle_client>] \
[--tentacle_opts <tentacle_opts>] \
[--tentacle_port <tentacle_port>] \
[--tentacle_address <tentacle_address>] \
[--log_file <log_file>]
Ejemplo menú ayuda
Configuración en PandoraFMS
Instalación manual
Iremos a servidores > plugins:
Pinchamos en añadir:
Le ponemos en nombre y la descripción que se prefiera:
Metemos como comando la ejecución con la ruta del plugin:
</path_exchange_mail>
Recuerda que la ruta recomendada para el uso de los plugins de servidor es: /usr/share/pandora_server/util/plugin/
Y en parámetros del plugin introduciremos estos seguidos de la macro "_field<N>_", los obligatorios para que el plugin funcione son --server, --auth, --smtp_address y dependiendo del metodo de autenticación, user y password en la básica y client_id, tenant_id y secret en authenticación OAuth.
Aunque no es obligatorio, es muy recomendable el uso del parámetro --agent_name , ya que nos permite personalizar el nombre del agente que contendrá los módulos creados.
Una vez hecho esto, daremos a "crear".
Una vez hecho esto, solo queda llamarlo por lo que iremos a la vista de algún agente y crearemos un módulo de complementos:
Le daremos un nombre y en el apartado "plugin" pondremos el que acabamos de configurar
Una vez hecho esto, damos a crear.
Si el modulo se muestra con 1, quiere decir que se esta ejecutando correctamente
Módulos generados por el plugin
El plugin creara un agente con un módulo llamado "Coincidences_count" con el número de coincidencias y si se usa el parámetro ```--mail_list``` también creara un módulo con una lista de coincidencias.