Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

Datos de Microsoft 365 Defender

Estoy intentando leer datos de Microsoft 365 Defender para usarlos en un pequeño panel en el que estoy trabajando. Encontré el tutorial que muestra cómo usar la consulta de caza avanzada aquí. Cuando copio y pego el primer ejemplo de código, solo me da una tabla vacía. Sin errores, solo sin datos. Así que probé el siguiente ejemplo usando la fuente OData. Cuando uso el código tal como está con "MachineActions" como consulta, nuevamente obtengo una tabla vacía. Sentí curiosidad y reemplacé "MachineActions" con "AdvancedQueries" y recibí un error 404.

Solo para jugar con él un poco más, intenté agregar una nueva fuente de datos. Seleccioné OData Feed y proporcioné la URL de https://api.securitycenter.microsoft.com/api y una lista de tablas rellenadas. Sin embargo, la vista previa de las tablas me da resultados mixtos. Algunas tablas puedo previsualizar, pero otras dan diferentes mensajes de error.

AdvancedHunting y AdvancedQueries...

ShawnHarrison_0-1636658142301.png

AvanzadoFeatured...

ShawnHarrison_1-1636658303027.png

Vulnerabilidades...

ShawnHarrison_2-1636658377350.png

Esos son los errores que recibo al seleccionar tablas aleatorias. Algunas tablas muestran datos, como AadUsers, y otras parecen estar vacías. ¿Hay algo que me falte que no me permita ver los datos? Puedo iniciar sesión en el portal de 365 Defender y ver los paneles allí, por lo que asumiría que no sería un problema de permisos. Hasta ahora, no he podido encontrar ninguna información sobre los errores que estoy encontrando. ¡Cualquier consejo sería muy apreciado!

  • @ShawnHarrison Muchas gracias por responder. Se agradece mucho. Encontré un foro donde puede usar una consulta en blanco y conectarse a todas las tablas en el Esquema de caza avanzado. En Power BI , vaya a nueva conexión de datos, elija consulta en blanco. Tienes que usar el formato de caza avanzado y tienes que usar la siguiente URL: https://api.security.microsoft.com/api/advancedhunting

    Sin embargo, realmente desearía que hubiera una forma de conectarse a través de la web o Odata y Power BI le solicitaría todas las tablas del esquema y puede elegir cuáles son necesarias para sus informes como se muestra en su publicación original.

  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    Ayer hablé con un técnico de MS que pudo explicar el problema en unos 5 minutos. El problema estaba relacionado con la primera consulta. La documentación de MS no es la mejor y lo que no mencionó en el ejemplo que estaba usando es que la primera parte de esa consulta contiene un parámetro. La primera línea, AdvancedHuntingQuery = "DeviceEvents | donde ActionType contiene 'Anti' | límite 20", es la tabla y los filtros. Honestamente, realmente debería haber notado esto. No estaba recibiendo ningún dato porque no tenemos ninguna fila que coincida con esos filtros. Como se mencionó en este hilo por @DWD76, tuve que usar el formato de caza avanzada como se describe en la página de caza avanzada en el sitio Defender 365. Cambiando esa primera línea, puedo definir qué tabla necesito y filtrar los datos que se necesitan. Todo lo que necesita son permisos de lector, contrariamente a lo que el soporte me dijo originalmente. Además, tenga en cuenta que la consulta que se coloca entre esos qoutes está escrita en sintaxis KQL.

    Otra cosa que debe saber sobre esto es que la url que se utiliza para consultar estos datos no funciona para todas las tablas mencionadas en la página de búsqueda avanzada. Es posible que la segunda línea de esa consulta que contiene la dirección URL https://api.securitycenter.microsoft.com/api/advancedqueries tenga que cambiarse a https://api.security.microsoft.com/api/advancedhunting al consultar determinadas tablas. Si una URL no funciona, simplemente pruebe la otra.

    Me alegro de que finalmente lo haya resuelto, pero realmente desearía que tuvieran una mejor documentación al respecto.

18 Replies

  • Puede estar abrumando la API con demasiadas solicitudes, como lo demuestra el 429 que obtuvo como segundo error.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Por extraño que parezca, ese mensaje de error solo aparece cuando selecciono la tabla AdvancedFeatures. Incluso si es la primera tabla que selecciono cuando me conecto, siempre es el mismo error solo para esa tabla.

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        ¿Podría ser que esta tabla tenga demasiadas redirecciones / búsquedas detrás?

  • Aquí hay una actualización desde hace un tiempo. Sigo yendo y viniendo con el soporte técnico de Microsoft. Afirman que es un problema de permisos, pero cada permiso o rol que dicen que necesito, ya lo tengo. Así que todavía estoy esperando en ellos. Técnicamente, esto es soporte técnico de terceros, por lo que hoy me estoy comunicando con el representante de ventas de mi empresa para averiguar si hay alguien más que analice este problema por nosotros. Publicaré aquí con cualquier progreso que logre hacer.

  • @ShawnHarrison Muchas gracias por responder. Se agradece mucho. Encontré un foro donde puede usar una consulta en blanco y conectarse a todas las tablas en el Esquema de caza avanzado. En Power BI , vaya a nueva conexión de datos, elija consulta en blanco. Tienes que usar el formato de caza avanzado y tienes que usar la siguiente URL: https://api.security.microsoft.com/api/advancedhunting

    Sin embargo, realmente desearía que hubiera una forma de conectarse a través de la web o Odata y Power BI le solicitaría todas las tablas del esquema y puede elegir cuáles son necesarias para sus informes como se muestra en su publicación original.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Eso es lo que había intentado al principio. Me da una mesa vacía. Usar la fuente OData fue una forma de jugar con ella y averiguar qué podía ver exactamente y posiblemente generar un mensaje de error útil.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Esta podría ser mi última actualización. Desafortunadamente, el soporte técnico no ha sido muy útil. Un equipo de escalamiento está "monitoreando" el caso que abrí con apoyo, pero eso es todo lo que están haciendo. El último contacto que tuve con el soporte técnico declaró que la persona que intenta consultar la API debe ser un administrador global y debe tener una licencia para Power BI Pro. Mi administrador de TI estaba en la llamada con nosotros y solo para demostrar que esa teoría era incorrecta, me hizo un administrador global. El problema seguía ahí. Por lo tanto, los representantes de soporte técnico tomaron algunos rastros de diagnóstico y los pasaron al equipo de productos de Power BI. Eso fue la semana pasada. Desde entonces, he descubierto que mi organización tiene una solución que escanea nuestra red y registra todos los mismos datos (y más) en una base de datos de SQL Server. Estoy renunciando a la API de Defender (y al soporte técnico de MS) y obtendré todos los datos de SQL Server en su lugar.

      Si por algún milagro me contactan con una solución, la probaré y publicaré los resultados aquí para cualquiera que todavía tenga problemas.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Ayer hablé con un técnico de MS que pudo explicar el problema en unos 5 minutos. El problema estaba relacionado con la primera consulta. La documentación de MS no es la mejor y lo que no mencionó en el ejemplo que estaba usando es que la primera parte de esa consulta contiene un parámetro. La primera línea, AdvancedHuntingQuery = "DeviceEvents | donde ActionType contiene 'Anti' | límite 20", es la tabla y los filtros. Honestamente, realmente debería haber notado esto. No estaba recibiendo ningún dato porque no tenemos ninguna fila que coincida con esos filtros. Como se mencionó en este hilo por @DWD76, tuve que usar el formato de caza avanzada como se describe en la página de caza avanzada en el sitio Defender 365. Cambiando esa primera línea, puedo definir qué tabla necesito y filtrar los datos que se necesitan. Todo lo que necesita son permisos de lector, contrariamente a lo que el soporte me dijo originalmente. Además, tenga en cuenta que la consulta que se coloca entre esos qoutes está escrita en sintaxis KQL.

      Otra cosa que debe saber sobre esto es que la url que se utiliza para consultar estos datos no funciona para todas las tablas mencionadas en la página de búsqueda avanzada. Es posible que la segunda línea de esa consulta que contiene la dirección URL https://api.securitycenter.microsoft.com/api/advancedqueries tenga que cambiarse a https://api.security.microsoft.com/api/advancedhunting al consultar determinadas tablas. Si una URL no funciona, simplemente pruebe la otra.

      Me alegro de que finalmente lo haya resuelto, pero realmente desearía que tuvieran una mejor documentación al respecto.

  • Esta mañana tuve otra llamada con soporte de terceros. Ahora afirman que la conexión a la API de Defender 365 solo se puede hacer si está en el rol de administrador global. Para probar esto, guié a nuestro administrador de seguridad a través del proceso y él obtiene el mismo resultado que yo. Al usar el método de consulta en blanco y agregar la consulta tomada de la documentación de Microsoft, solo obtiene una tabla vacía. También tuve un representante del equipo de escalamiento de Microsoft que se puso en contacto conmigo esta mañana, así que espero obtener más información pronto.