Pandora Imap

Plugin con el que se pueden filtrar correos y el número de correos que coinciden con los filtros utilizados.

Introducción

Ver. 12-07-2022

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 o agente

Matriz de compatibilidad

Sistemas donde se ha probado

Fedora

Sistemas donde debería funcionar

Cualquier sistema linux 

Pre requisitos

 

imap_tools
pip install imap_tools
o en python3 
pip3 install imap_tools

Cryptocode

pip install cryptocode

o en python3 

pip3 install cryptocode

 

 

Parámetros

--server Ejemplo:
outlook.office365.com
--user Correo electrónico del usuario
--password Contraseña del usuario
--list Para listar todos los mailbox 
--mailbox Para elegir mailbox en la que filtrar (Inbox por defecto)
--subject Para filtrar palabra o frase en el subject.
--from_mail Para filtrar por correo electrónico
--date Para filtrar a partir de determinada fecha (ejemplo: '2020,1,1')
--body Para filtrar por una palabra en el body
--mail_list Para crear un nuevo módulo con una lista de los mails que coinciden.
--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_name Nombre del agente que contendrá los módulos
-g,--group Grupo de destino en pandora
--data_dir Dirección de destino de los datos
--as_agent_plugin Modo agente al activarse con un 1

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

--body

--from_mail

--date

Se puede filtrar por cualquiera de estos o se pueden combinar de la siguiente forma:

subject + body

subject + body + from_mail

subject + body + from_mail + date

Se pueden seleccionar mails de cualquier mailbox (inbox por defecto), para ver un listado de las mailbox del correo se puede usar el parámetro --list 1

El user y el password solo será necesarios introducirlos la primera vez, en una ejecución manual, luego se creará un archivo que guardará las credenciales encriptadas y el plugin las leerá de este archivo.

python3 pandora_imap.py --server <server> --user <user> --password <password> --list 1

image-1658928329496.png

python3 pandora_imap.py --server <server> --user <user> --password <password> --subject <subject> --body <body> --as_agent_plugin 1

Ejemplo ejecución manual

image-1658928348665.png

 

Ejemplo menú ayuda 

image-1658928383815.png

Ejemplo usando todos los filtros

image-1658928418619.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:

python3 </path_pandora_imap>

Recuerda que la ruta recomendada para el uso de los plugins de servidor es: /usr/share/pandora_server/util/plugin/

image-1659089658886.png

Recuerda que debes ejecutar el plugin manualmente con user y password por primera vez para que se cree un fichero imap_credenciales.txt que guardará las creedenciales encriptadas.

Y en parámetros del plugin introduciremos estos seguidos de la macro "_field<N>_", los obligatorios para que el plugin funcione son --server, (--user, --password deberán ser introducidos en una primera ejecución manual solo la primera vez) y al menos uno de los parámetros utilizados para filtrar. 

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.

--SERVER

image-1658834684259.png

--SUBJECT

image-1658834761517.png

--BODY

image-1658834783278.png

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.

image-1658834560870.png

 

Una vez hecho esto, damos a crear.

Si el modulo se muestra con 1, quiere decir que se esta ejecutando correctamente 

Modulos generados por el plugin

El plugin creara 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. 

 

image-1658831113098.png

 Vista modulo lista

image-1658831122550.png