# Exchange mail filter # 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](https://portal.azure.com/). - 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
--serverNombre del servidor
--smpt\_addressDirección de correo
--userUsuario de exchange
--client\_idClient id
--tenant\_idTenant id
--secretsecret
--passwordContraseña del usuario
--smtp\_addressCuenta del usuario del que se filtraran correos.
--subjectPara filtrar palabra o frase en el subject.
--senderPara filtrar por correo electrónico
--date\_startPara 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\_endPara 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\_listPara crear un nuevo módulo con una lista de los mails que coinciden.
--transfer\_modoModo de transferencia
--tentacle\_portPuerto de tentacle en caso de querer mandar los datos de esta manera
--tentacle\_addressDirección de tentacle en caso de que quiera mandar los datos de esta manera
--agent\_prefixNombre del agente que contendrá los módulos
--module\_prefixPara añadir un prefijo al módulo, "Exchange" es el prefijo por defecto.
--groupGrupo de destino en pandora
--intervalIntervalo de creación de tiempo para el agente
--temporalDirectorio temporal de ficheros.
--data\_dirDirección de destino de los datos
--log\_fileRuta del fichero de logs
--authModo 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 \ --server \ --smtp_address \ --client_id \ --tenant_id \ --secret \ [--user ] \ [--password ] \ [--subject ] \ [--sender ] \ [--date_start ] \ [--date_end ] \ [--mail_list ] \ [--module_prefix ] \ [--agent_prefix ] \ [--group ] \ [--interval ] \ [--temporal ] \ [--data_dir ] \ [--transfer_mode ] \ [--tentacle_client ] \ [--tentacle_opts ] \ [--tentacle_port ] \ [--tentacle_address ] \ [--log_file ] ``` **Ejemplo menú ayuda** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/scaled-1680-/pLkimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/pLkimage.png) # Configuración en PandoraFMS **Instalación manual** Iremos a servidores > plugins: [![image-1629974405286.png](https://pandorafms.com/guides/public/uploads/images/gallery/2021-08/scaled-1680-/image-1629974405286.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2021-08/image-1629974405286.png) Pinchamos en añadir: [![image-1629974430627.png](https://pandorafms.com/guides/public/uploads/images/gallery/2021-08/scaled-1680-/image-1629974430627.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2021-08/image-1629974430627.png) Le ponemos en nombre y la descripción que se prefiera: [![image-1658834125705.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-07/scaled-1680-/image-1658834125705.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-07/image-1658834125705.png) Metemos como comando la ejecución con la ruta del plugin: ``` ```

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](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/scaled-1680-/image-1646741530197.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/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.