Session Recording

Intégration SIEM tierce partie

Vue d’ensemble

L’enregistrement de session offre la possibilité de capturer divers événements dans des sessions enregistrées. Vous pouvez télécharger un ensemble sélectionné de données d’événement vers le service d’enregistrement de session et le transmettre à un système de gestion des informations et des événements de sécurité (SIEM) tiers pour une analyse plus approfondie. Actuellement, le service d’enregistrement de session prend en charge l’intégration avec Splunk (Splunk Cloud et Splunk Enterprise) et Microsoft Sentinel.

L’intégration avec une plate-forme SIEM tierce améliore la posture de sécurité de votre organisation en exploitant des capacités d’analyse et de corrélation avancées pour détecter et répondre plus efficacement aux menaces potentielles.

Configuration

  1. Activer l’intégration SIEM.

    1. Sélectionnez Configuration > Intégration SIEM dans la navigation de gauche du service d’enregistrement de session.

      Intégration SIEM

    2. Activez Microsoft Sentinel, Splunk ou les deux selon vos besoins. Cliquez ensuite sur l’icône Configurer à côté du bouton bascule pour configurer la destination et la source de données.

      Pour envoyer des données à Microsoft Sentinel, fournissez l’ID de l’espace de travail et la clé pour la destination Microsoft Sentinel et sélectionnez les sites cibles comme source de données à envoyer. Seuls les sites contenant la version d’enregistrement de session 2411 et ultérieure sont pris en charge pour l’intégration SIEM.

      Destination Microsoft Sentinel

      Source de données Microsoft Sentinel

      Pour envoyer des données à Splunk, configurez un collecteur d’événements HTTP dans Splunk. Pour obtenir des instructions, consultez la documentation Splunk : Configurer et utiliser HTTP Event Collector dans Splunk Web. Le service d’enregistrement de session prend en charge Splunk Cloud et Splunk Enterprise. Si vous utilisez Splunk Enterprise, assurez-vous que la connectivité entrante du service d’enregistrement de session (actuellement hébergé sur Microsoft Azure) vers votre Splunk Enterprise est configurée.

      Fournissez l’URL, la valeur du jeton et spécifiez l’index dans lequel vous souhaitez que les données soient stockées en plus du type de source et de la source. Ensuite, comme pour Microsoft Sentinel, sélectionnez les sites cibles comme source de données à envoyer. Seuls les sites contenant la version d’enregistrement de session 2411 et ultérieure sont pris en charge pour l’intégration SIEM.

      Destination Splunk

      Source de données Splunk

  2. Spécifiez les événements à transférer.

    Vous devez spécifier les types d’événements à télécharger sur le service d’enregistrement de session et à transmettre aux plateformes SIEM que vous avez spécifiées précédemment. Pour ce faire, procédez comme suit :

    1. Accédez à Paramètres du site pour chacun des sites que vous avez sélectionnés précédemment comme source de données. Par exemple :

      Analyse des données d'événements

    2. Sélectionnez Télécharger les données d’événement vers le service d’enregistrement de session puis sélectionnez Activer l’exportation de données vers les plateformes SIEM. Dans la section Scope , spécifiez les types d’événements à transférer. Par exemple :

      Spécifier les événements à transférer

  3. Tester l’intégration.

    Après avoir configuré l’intégration, testez-la pour vous assurer que les événements sont correctement transmis aux plates-formes SIEM spécifiées.

  4. Surveiller et ajuster.

    Surveillez en permanence l’intégration pour vous assurer qu’elle fonctionne comme prévu. Ajustez la configuration selon vos besoins pour affiner la transmission des événements et améliorer la précision des alertes.

  5. Visualiser les données d’événement.

    Vous pouvez visualiser les données d’événements dans Microsoft Sentinel et Splunk. Voici quelques exemples de vues :

    Tableau de bord Microsoft Sentinel

    Tableau de bord Splunk

    Pour visualiser les données d’événement dans Microsoft Sentinel, contactez le support technique Citrix.

    Pour importer et visualiser rapidement les données d’événements dans Splunk, utilisez le modèle de tableau de bord suivant en personnalisant les requêtes de recherche telles que ,et `` et les visualisations correspondant à vos données :

    <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>
Intégration SIEM tierce partie