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

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

 

Pasos para habilitar OAuth en exchange online:

 

 

 

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 

image.png

Configuración en PandoraFMS

Instalación manual

Iremos a servidores > plugins:

image-1629974405286.png

Pinchamos en añadir:

image-1629974430627.png

Le ponemos en nombre y la descripción que se prefiera:

image-1658834125705.png

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:

image-1646741530197.png

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.