Pandora office 365
Está definido como un plugin de servidor, que genera un agente con cada servicio
disponible de office 365 y el estado de sus features.
Introducción
Está definido como un plugin de servidor, que genera un agente con cada servicio disponible de office 365 y el estado de sus features.
Matriz de compatibilidad
Desarrollado en python 3.8. Se distribuye el binario compilado que no requiere dependencias extra.
Pre requisitos
Sistema
Al ser un binario no necesita dependencias específicas para la ejecución del mismo.
En el entorno de Pandora
Se requiere que el plugin server esté habilitado
Permisos Generales
General graph para autenticar

Para acceder al service health y sacar los modulos

Permisos logs

Y los siguientes elementos de autenticación:
● TenentID
● ClientID
● Secret
Configuración
El plugin se ejecuta definiendo los parámetros correspondientes:
usage: pandora_o365 [-h] -c CLIENTID -t TENANTID -s SECRET [-a AGENT_NAME]
[-p PREFIX] [-g GROUP] [-i INTERVAL] [-d DATA_IN] [-l]
[-n] [--tentacle_address TENTACLE_ADDRESS]
[--tentacle_port TENTACLE_PORT] [--tmp TMP]
Pandora Office365 Status plugin ver. 3.0
optional arguments:
-h, --help show this help message and exit
-c CLIENTID, --clientid CLIENTID
Authentication O365 client id
-t TENANTID, --tenantid TENANTID
Authentication O365 Tenant id
-s SECRET, --secret SECRET
Authentication O365 Secret
-a AGENT_NAME, --agent_name AGENT_NAME
Defined agent_name , default: pandora_o365
-p PREFIX, --prefix PREFIX
Prefix for agent names, default O365
-g GROUP, --group GROUP
Pandora agent group, default unknown
-i INTERVAL, --interval INTERVAL
Agent interval in seconds, default: 300
-d DATA_IN, --data_in DATA_IN
Pandora server datain directory, default:
/var/spool/pandora/data_in/
-l, --logs Get incidents messages to Pandora log collector
-n, --nodata Ignores module data (usefull for log retreaving only)
--tentacle_address TENTACLE_ADDRESS
Define tentacle address for remote execution,
Default=none
--tentacle_port TENTACLE_PORT
Define tentacle port for remote execution,
Default=41121
--tmp TMP Pandora temporary file directory for remote execution
only, default: /tmp/
Los campos obligatorios son los campos de autenticación: clientid, tenantid y secret.
Si se ejecuta sólo con los campos requeridos se obtendrán los datos de los Agentes/módulos correspondiente a cada servicio.
Campos Opcionales:
AGENT_NAME: Nombre del agente que contendrá los módulos de los servicios, por defecto es pandora_o365.
PREFIX: Prefijo para los agentes generados por la ejecución del plugin por defecto es O365
GROUP: Grupo al que se marcará en los XMls para asignar los agentes en Pandora. Este grupo debe existir en el entorno, de lo contrario los agentes se asignan al grupo por defecto: unknown
INTERVAL: Intervalo definido para cada agente creado por defecto 300 segundos, debe ser igual o superior al intervalo de ejecución del plugin.
DATAIN: Ubicación del directorio data in del entorno de Pandora FMS, por defecto /var/spool/pandora/data_in
TMP: Directorio temporal donde se almacenan los datos antes de copiarse al data in. Por defecto /tmp
LOGS: Habilita la captura de logs de los mensajes de incidencia de o365 y los envía al colector de logs de pandora. (El colector de logs debe estar configurado en el entorno). Por defecto deshabilitado.
NODATA: Ignora los datos de agentes y módulos, útil si se quiere ejecutar el plugin solo para recolectar los logs. Por defecto deshabilitado
UTF8 : Utiliza utf8, se pone a 0 si el shell no está en valores utf8 será en bytes crudos, por defecto: 1
TENTACLE_ADRESS: Ip del server de tentacle al que mandar los datos.
TENTACLE_PORT: Puerto de tentacle, por defecto es el 41121.
Ejecución manual
Ejecución del plugin:
Versión binaria:
./pandora_o365 -c <client-id> -t <tenant-id> -s <secret>
Opcionalmente se pueden definir parámetros opcionales como la ubicación del directorio data_in (-d), un prefijo para el nombre de los agentes generados (-p), el intervalo de tiempo definido para el agente (-i) y el grupo al que se asignan los agentes (-g).
./pandora_o365 -c <client-id> -t <tenant-id> -s <secret> -d <data-in directory> -p <prefix> -i <interval> -g <group-game> -l
Módulos generados por el plugin
El plugin creará un agente con el nombre que nosotros configuremos con el parámetro -a, que dispondrá de un módulo de status y otro de active issues por cada servicio.
Por ejemplo :
O365_Bookings_active_issues |
O365_Bookings_status |
O365_cloudappsecurity_active_issues |
O365_cloudappsecurity_status |
O365_DynamicsAX_active_issues |
O365_DynamicsAX_status |
O365_DynamicsCRM_active_issues |
O365_DynamicsCRM_status |
O365_Exchange_active_issues |
O365_Exchange_status |
O365_Intune_active_issues |
O365_Intune_status |
O365_kaizalamessagingservices_active_issues |
O365_kaizalamessagingservices_status |
O365_Lync_active_issues |
O365_Lync_status |
O365_MicrosoftFlowM365_active_issues |
O365_MicrosoftFlowM365_status |
O365_MicrosoftFlow_active_issues |
O365_MicrosoftFlow_status |
O365_microsoftteams_active_issues |
O365_microsoftteams_status |
O365_MobileDeviceManagement_active_issues |
O365_MobileDeviceManagement_status |
O365_O365Client_active_issues |
O365_O365Client_status |
O365_officeonline_active_issues |
O365_officeonline_status |
O365_OneDriveForBusiness_active_issues |
O365_OneDriveForBusiness_status |
O365_OrgLiveID_active_issues |
O365_OrgLiveID_status |
O365_Planner_active_issues |
O365_Planner_status |
O365_PowerAppsM365_active_issues |
O365_PowerAppsM365_status |
O365_PowerApps_active_issues |
O365_PowerApps_status |
O365_ProjectForTheWeb_active_issues |
O365_ProjectForTheWeb_status |
O365_ProjectOnline_active_issues |
O365_ProjectOnline_status |
O365_RMS_active_issues |
O365_RMS_status |
O365_SharePoint_active_issues |
O365_SharePoint_status |
O365_StaffHub_active_issues |
O365_StaffHub_status |
O365_Stream_active_issues |
O365_Stream_status |
O365_SwayEnterprise_active_issues |
O365_SwayEnterprise_status |
O365_Viva_active_issues |
O365_Viva_status |
O365_yammer_active_issues |
O365_yammer_status |
Ejemplo de la vista de módulos en el agente
