Session Recording

Integración SIEM de terceros

Información general

La grabación de sesiones proporciona la capacidad de capturar varios eventos en sesiones grabadas. Puede cargar un conjunto seleccionado de datos de eventos al servicio de grabación de sesiones y reenviarlo a un sistema de gestión de eventos e información de seguridad (SIEM) de terceros para su posterior análisis. Actualmente, el servicio de grabación de sesiones admite la integración con Splunk (tanto Splunk Cloud como Splunk Enterprise) y Microsoft Sentinel.

La integración con una plataforma SIEM de terceros mejora la postura de seguridad de su organización al aprovechar capacidades avanzadas de análisis y correlación para detectar y responder a amenazas potenciales de manera más efectiva.

Configuración

  1. Habilitar la integración SIEM.

    1. Seleccione Configuración > Integración SIEM en la navegación izquierda del servicio de Grabación de sesiones.

      Integración SIEM

    2. Habilite Microsoft Sentinel, Splunk o ambos según sea necesario. Luego, haga clic en el icono Configurar junto al interruptor para configurar el destino y la fuente de datos.

      Para enviar datos a Microsoft Sentinel, proporcione el ID del espacio de trabajo y la clave para el destino de Microsoft Sentinel y seleccione los sitios de destino como la fuente de los datos que se enviarán. Solo los sitios que contienen la versión de grabación de sesiones 2411 y posteriores son compatibles con la integración de SIEM.

      Destino de Microsoft Sentinel

      Fuente de datos de Microsoft Sentinel

      Para enviar datos a Splunk, configure un recopilador de eventos HTTP en Splunk. Para obtener instrucciones, consulte la documentación de Splunk: Configurar y usar el recopilador de eventos HTTP en Splunk Web. El servicio de grabación de sesiones es compatible tanto con Splunk Cloud como con Splunk Enterprise. Si está utilizando Splunk Enterprise, asegúrese de que la conectividad entrante desde el servicio de grabación de sesiones (actualmente alojado en Microsoft Azure) a su Splunk Enterprise esté configurada.

      Proporcione la URL, el valor del token y especifique el índice donde quiere que se almacenen los datos, además del tipo de fuente y la fuente. Luego, de manera similar a Microsoft Sentinel, seleccione los sitios de destino como fuente de datos que se enviarán. Solo los sitios que contienen la versión de grabación de sesiones 2411 y posteriores son compatibles con la integración de SIEM.

      Destino de Splunk

      Fuente de datos de Splunk

  2. Especificar eventos a reenviar.

    Debe especificar los tipos de eventos que se cargarán al servicio de grabación de sesiones y se reenviarán a las plataformas SIEM que especificó anteriormente. Para ello, siga estos pasos:

    1. Vaya a Configuración del sitio para cada uno de los sitios que seleccionó anteriormente como fuente de datos. Por ejemplo:

      Análisis de datos de eventos

    2. Seleccione Cargar datos de eventos al servicio de grabación de sesiones y luego seleccione Habilitar la exportación de datos a plataformas SIEM. En la sección Ámbito, especifique los tipos de eventos que se reenviarán. Por ejemplo:

      Especificar eventos a reenviar

  3. Pruebe la integración.

    Después de configurar la integración, pruébela para asegurarse de que los eventos se reenvíen correctamente a las plataformas SIEM especificadas.

  4. Monitorizar y ajustar.

    Supervise continuamente la integración para garantizar que funcione como se espera. Ajuste la configuración según sea necesario para afinar el reenvío de eventos y mejorar la precisión de las alertas.

  5. Visualizar datos de eventos.

    Puede visualizar datos de eventos en Microsoft Sentinel y Splunk. Las siguientes son vistas de ejemplo:

    Panel de control de Microsoft Sentinel

    Panel de control de Splunk

    Para visualizar datos de eventos en Microsoft Sentinel, comuníquese con el soporte técnico de Citrix.

    Para importar y visualizar rápidamente datos de eventos en Splunk, use la siguiente plantilla de panel personalizando las consultas de búsqueda como , y `` y visualizaciones para que coincidan con sus datos:

      <form version="1.1" theme="light">
       <label>Session Recording Events Analysis</label>
       <fieldset submitButton="false">
        <input type="time" token="time_field">
         <label></label>
         <default>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </default>
       </input>
       <input type="dropdown" token="Server">
        <label>Server</label>
        <default>*</default>
        <initialValue>*</initialValue>
        <fieldForValue>Server</fieldForValue>
        <search>
         <query>index= sourcetype= source=
      | table dvc
      | rename dvc as Server
      | dedup Server
      | sort Server</query>
           <earliest>$time_field.earliest$</earliest>
           <latest>$time_field.latest$</latest>
          </search>
         </input>
         <input type="dropdown" token="Site">
          <label>Site</label>
          <default>*</default>
          <initialValue>*</initialValue>
          <fieldForValue>Site</fieldForValue>
          <search>
           <query>index="" sourcetype= source=
      | table tenant.srSiteId
      | rename tenant.srSiteId  as Site
      | dedup Site
      | sort Site</query>
           <earliest>$time_field.earliest$</earliest>
           <latest>$time_field.latest$</latest>
          </search>
         </input>
         <input type="dropdown" token="VDA">
          <label>VDA</label>
          <default>*</default>
          <initialValue>*</initialValue>
          <fieldForValue>VDA</fieldForValue>
          <search>
           <query>index= sourcetype= source=
      | table payload.deviceId
      | rename payload.deviceId as VDA
      | dedup VDA
      | sort VDA</query>
           <earliest>$time_field.earliest$</earliest>
           <latest>$time_field.latest$</latest>
          </search>
         </input>
         <input type="dropdown" token="User">
          <label>User</label>
          <default>*</default>
          <initialValue>*</initialValue>
          <fieldForValue>User</fieldForValue>
          <search>
           <query>index= sourcetype= source=
      | table payload.user
      | rename payload.user as User
      | dedup User
      | sort User</query>
          <earliest>$time_field.earliest$</earliest>
          <latest>$time_field.latest$</latest>
        </search>
       </input>
      </fieldset>
      <row>
       <panel>
        <table>
          <title>Web Browsing - Top visisted Websites</title>
          <search>
           <query>index= sourcetype= source=
      | search type=Citrix.EventMonitor.WebBrowsing
      | spath payload.ExtEventData1
      | stats count by payload.ExtEventData1
      | sort count desc
      | rename payload.ExtEventData1 as WebSites</query>
            <earliest>$time_field.earliest$</earliest>
            <latest>$time_field.latest$</latest>
            <sampleRatio>1</sampleRatio>
           </search>
           <option name="dataOverlayMode">none</option>
           <option name="drilldown">none</option>
           <option name="percentagesRow">false</option>
           <option name="rowNumbers">false</option>
           <option name="totalsRow">false</option>
           <option name="wrap">true</option>
           <format type="color" field="FunctionFailed">
            <colorPalette type="list">[#118832,#D41F1F]</colorPalette>
            <scale type="threshold">1</scale>
           </format>
          </table>
         </panel>
         <panel>
          <chart>
           <title>Web Browsing - Browsers Distribution</title>
           <search>
            <query>index= sourcetype= source=
      | search type=Citrix.EventMonitor.WebBrowsing
      | spath payload.ExtEventData3
      | stats count by payload.ExtEventData3|sort count desc</query>
             <earliest>$time_field.earliest$</earliest>
             <latest>$time_field.latest$</latest>
             <sampleRatio>1</sampleRatio>
            </search>
            <option name="charting.chart">pie</option>
            <option name="charting.drilldown">none</option>
            <option name="refresh.display">progressbar</option>
           </chart>
         </panel>
         <panel>
          <table>
           <title>Screen Time (mins)</title>
           <search>
             <query>index= sourcetype= source=
      | spath "payload.type"
      | search "payload.type"="Citrix.EventMonitor.TopMost"
      | rename payload.ExtEventData1 as AppName, payload.deviceId as DeviceId
      | eval time=strptime(st, "%Y-%m-%dT%H:%M:%S.%7N")
      | sort DeviceId time
      | streamstats current=f window=1 last(time) as last_time by DeviceId
      | eval time_diff = if(isnull(last_time), null(), time - last_time)
      | table time, DeviceId, AppName, time_diff |eval time_diff = time_diff/60
      | stats sum(time_diff) by AppName |sort by sum(time_diff) desc |rename sum(time_diff) as ScreenTime</query>
             <earliest>$time_field.earliest$</earliest>
             <latest>$time_field.latest$</latest>
             <sampleRatio>1</sampleRatio>
            </search>
            <option name="dataOverlayMode">none</option>
            <option name="drilldown">none</option>
            <option name="percentagesRow">false</option>
            <option name="refresh.display">progressbar</option>
            <option name="rowNumbers">false</option>
            <option name="totalsRow">false</option>
            <option name="wrap">true</option>
            <format type="color" field="FunctionFailed">
             <colorPalette type="list">[#118832,#D41F1F]</colorPalette>
             <scale type="threshold">1</scale>
            </format>
           </table>
          </panel>
         </row>
         <row>
          <panel>
           <table>
            <title>Application - Top started Application</title>
            <search>
             <query>index= sourcetype= source=
      | search type=Citrix.EventMonitor.AppStart
      | spath payload.ExtEventData2
      | stats count by payload.ExtEventData2
      | sort count desc
      | rename payload.ExtEventData2 as AppName</query>
            <earliest>$time_field.earliest$</earliest>
            <latest>$time_field.latest$</latest>
            <sampleRatio>1</sampleRatio>
           </search>
           <option name="dataOverlayMode">none</option>
           <option name="drilldown">none</option>
           <option name="percentagesRow">false</option>
           <option name="rowNumbers">false</option>
           <option name="totalsRow">false</option>
           <option name="wrap">true</option>
           <format type="color" field="FunctionFailed">
            <colorPalette type="list">[#118832,#D41F1F]</colorPalette>
            <scale type="threshold">1</scale>
           </format>
          </table>
         </panel>
         <panel>
          <table>
           <title>Application - Top unexpceted exit application</title>
           <search>
            <query>index= sourcetype= source=
      | search type=Citrix.EventMonitor.UnexpectedAppExit
      | spath payload.ExtEventData2
      | stats count by payload.ExtEventData2
      | sort count desc
      | rename payload.ExtEventData2 as AppPath
      | eval AppNameSplit = split(AppPath, "\\")
      | eval AppName = mvindex(AppNameSplit, -1)
      | table AppName|stats count by AppName</query>
             <earliest>$time_field.earliest$</earliest>
             <latest>$time_field.latest$</latest>
             <sampleRatio>1</sampleRatio>
            </search>
            <option name="dataOverlayMode">none</option>
            <option name="drilldown">none</option>
            <option name="percentagesRow">false</option>
            <option name="refresh.display">progressbar</option>
            <option name="rowNumbers">false</option>
            <option name="totalsRow">false</option>
            <option name="wrap">true</option>
            <format type="color" field="FunctionFailed">
             <colorPalette type="list">[#118832,#D41F1F]</colorPalette>
             <scale type="threshold">1</scale>
            </format>
           </table>
          </panel>
          <panel>
           <table>
           <title>Application - Top no responding application</title>
           <search>
            <query>index= sourcetype= source=
      | search type=Citrix.EventMonitor.AppNotResponding
      | spath payload.ExtEventData2
      | stats count by payload.ExtEventData2
      | sort count desc
      | rename payload.ExtEventData2 as AppPath
      | eval AppNameSplit = split(AppPath, "\\")
      | eval AppName = mvindex(AppNameSplit, -1)
      | table AppName|stats count by AppName</query>
             <earliest>$time_field.earliest$</earliest>
             <latest>$time_field.latest$</latest>
             <sampleRatio>1</sampleRatio>
            </search>
            <option name="dataOverlayMode">none</option>
            <option name="drilldown">none</option>
            <option name="percentagesRow">false</option>
            <option name="refresh.display">progressbar</option>
            <option name="rowNumbers">false</option>
            <option name="totalsRow">false</option>
            <option name="wrap">true</option>
            <format type="color" field="FunctionFailed">
             <colorPalette type="list">[#118832,#D41F1F]</colorPalette>
             <scale type="threshold">1</scale>
            </format>
           </table>
          </panel>
         </row>
         <row>
          <panel>
           <table>
            <title>File Transfer - Top transfered in file count</title>
            <search>
             <query>index= sourcetype= source=type="Citrix.EventMonitor.FileTransfer"
      | spath payload.ExtEventData3
      | search payload.ExtEventData3 = "Host:*"
      | rename payload.ExtEventData3 as filePath
      | eval fileSplit = split(filePath, "\\")
      | eval FileName = mvindex(fileSplit, -1)
      | table FileName
      | stats count by FileName
      | sort bv count desc</query>
             <earliest>$time_field.earliest$</earliest>
             <latest>$time_field.latest$</latest>
             <sampleRatio>1</sampleRatio>
            </search>
            <option name="dataOverlayMode">none</option>
            <option name="drilldown">none</option>
            <option name="percentagesRow">false</option>
            <option name="rowNumbers">false</option>
            <option name="totalsRow">false</option>
            <option name="wrap">true</option>
            <format type="color" field="FunctionFailed">
             <colorPalette type="list">[#118832,#D41F1F]</colorPalette>
             <scale type="threshold">1</scale>
            </format>
           </table>
          </panel>
          <panel>
           <table>
            <title>File Transfer - Top transfered in file size by user</title>
            <search>
             <query>index= sourcetype= source=type="Citrix.EventMonitor.FileTransfer"
      | spath payload.ExtEventData3
      | search payload.ExtEventData3 = "Host:*"
      | rename payload.ExtEventData4 as filesize
      | eval filesize_mb =
         case(
         like(filesize, "% B"), tonumber(replace(filesize, " B", "")) / 1024 /1024,
         like(filesize, "% KB"), tonumber(replace(filesize, " KB", "")) / 1024,
         like(filesize, "% MB"), tonumber(replace(filesize, " MB", "")),
         like(filesize, "% GB"), tonumber(replace(filesize, " GB", "")) * 1024,
         like(filesize, "% TB"), tonumber(replace(filesize, " TB", "")) * 1024 * 1024
         )
      | table payload.user, filesize_mb
      | stats sum by payload.user |rename sum(filesize_mb) as FileSize(MB), payload.user as User</query>
              <earliest>$time_field.earliest$</earliest>
              <latest>$time_field.latest$</latest>
              <sampleRatio>1</sampleRatio>
             </search>
             <option name="dataOverlayMode">none</option>
             <option name="drilldown">none</option>
             <option name="percentagesRow">false</option>
             <option name="refresh.display">progressbar</option>
             <option name="rowNumbers">false</option>
             <option name="totalsRow">false</option>
             <option name="wrap">true</option>
             <format type="color" field="FunctionFailed">
              <colorPalette type="list">[#118832,#D41F1F]</colorPalette>
              <scale type="threshold">1</scale>
             </format>
            </table>
           </panel>
           <panel>
            <table>
             <title>File Transfer - Top transfered out file count by user</title>
             <search>
              <query>index= sourcetype= source=type="Citrix.EventMonitor.FileTransfer"
      | spath payload.ExtEventData2
      | search payload.ExtEventData2 = "Host:*"
      | table payload.user, payload.ExtEventData2
      | stats count by payload.user
      | rename payload.user as User</query>
            <earliest>$time_field.earliest$</earliest>
            <latest>$time_field.latest$</latest>
            <sampleRatio>1</sampleRatio>
           </search>
           <option name="dataOverlayMode">none</option>
           <option name="drilldown">none</option>
           <option name="percentagesRow">false</option>
           <option name="rowNumbers">false</option>
           <option name="totalsRow">false</option>
           <option name="wrap">true</option>
           <format type="color" field="FunctionFailed">
            <colorPalette type="list">[#118832,#D41F1F]</colorPalette>
            <scale type="threshold">1</scale>
           </format>
          </table>
         </panel>
        </row>
       </form>
    <!--NeedCopy-->
    
Integración SIEM de terceros