Схема аналитики трафика и агрегирование данных

"Аналитика трафика" — это облачное решение, которое позволяет следить за действиями пользователя и приложения в облачных сетях. Аналитика трафика анализирует журналы потоков Azure Наблюдатель за сетями для предоставления аналитических сведений о потоке трафика в облаке Azure. Решение "Аналитика трафика" позволяет выполнять следующее:

  • Визуализировать сетевую активность в подписках Azure и определять самые активные узлы.
  • Определите угрозы безопасности и защитите сеть, используя такие сведения, как открытые порты, приложения, пытающиеся получить доступ к Интернету, и виртуальные машины (виртуальные машины), подключающиеся к изгойным сетям.
  • Понять шаблоны потока трафика в регионах Azure и Интернете, чтобы оптимизировать развертывание сети для лучшей производительности и эффективного использования емкости.
  • Оперативно обнаружить неверные сетевые конфигурации, которые приводят к сбоям подключений в сети.
  • Сведения об использовании сети в байтах, пакетах или потоках.

Агрегация данных

  • Все журналы потоков в группе безопасности сети между FlowIntervalStartTime_t и FlowIntervalEndTime_t записываются через одну минуту в виде больших двоичных объектов в учетной записи хранения.
  • По умолчанию интервал обработки аналитики трафика составляет 60 минут, то есть каждый час аналитика трафика выбирает большие двоичные объекты из учетной записи хранения для агрегирования. Однако если выбран интервал обработки 10 минут, аналитика трафика будет выбирать большие двоичные объекты из учетной записи хранения каждые 10 минут.
  • Потоки с одинаковыми Source IP, , Destination portNSG ruleFlow DirectionDestination IPNSG nameи Transport layer protocol (TCP or UDP) клубными в один поток аналитикой трафика (примечание. Исходный порт исключается для агрегирования).
  • Эта отдельная запись украшена (подробные сведения в приведенном ниже разделе) и выполняется в журналах Azure Monitor аналитикой трафика. Этот процесс может занять до 1 часа.
  • FlowStartTime_t поле указывает на первое вхождение такого агрегатного потока (одного и того же четырех кортежа) в интервале обработки журнала потоков между FlowIntervalStartTime_t и FlowIntervalEndTime_t.
  • Для любого ресурса в аналитике трафика потоки, указанные в портал Azure, являются общими потоками, которые отображаются группой безопасности сети, но в журналах Azure Monitor пользователь видит только одну, сокращенную запись. Чтобы просмотреть все потоки, используйте blob_id поле, на которое можно ссылаться из хранилища. Общее число потоков для этой записи соответствует отдельным потокам, отображаемым в большом двоичном объекте.

Следующий запрос поможет вам просмотреть все подсети, взаимодействующие с общедоступными IP-адресами Azure за последние 30 дней.

AzureNetworkAnalytics_CL
| where SubType_s == "FlowLog" and FlowStartTime_t >= ago(30d) and FlowType_s == "ExternalPublic"
| project Subnet1_s, Subnet2_s  

Чтобы просмотреть путь большого двоичного объекта для потоков в предыдущем запросе, используйте следующий запрос:

let TableWithBlobId =
(AzureNetworkAnalytics_CL
   | where SubType_s == "Topology" and ResourceType == "NetworkSecurityGroup" and DiscoveryRegion_s == Region_s and IsFlowEnabled_b
   | extend binTime = bin(TimeProcessed_t, 6h),
            nsgId = strcat(Subscription_g, "/", Name_s),
            saNameSplit = split(FlowLogStorageAccount_s, "/")
   | extend saName = iif(arraylength(saNameSplit) == 3, saNameSplit[2], '')
   | distinct nsgId, saName, binTime)
| join kind = rightouter (
   AzureNetworkAnalytics_CL
   | where SubType_s == "FlowLog"  
   | extend binTime = bin(FlowEndTime_t, 6h)
) on binTime, $left.nsgId == $right.NSGList_s  
| extend blobTime = format_datetime(todatetime(FlowIntervalStartTime_t), "yyyy MM dd hh")
| extend nsgComponents = split(toupper(NSGList_s), "/"), dateTimeComponents = split(blobTime, " ")
| extend BlobPath = strcat("https://", saName,
                        "@insights-logs-networksecuritygroupflowevent/resoureId=/SUBSCRIPTIONS/", nsgComponents[0],
                        "/RESOURCEGROUPS/", nsgComponents[1],
                        "/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/", nsgComponents[2],
                        "/y=", dateTimeComponents[0], "/m=", dateTimeComponents[1], "/d=", dateTimeComponents[2], "/h=", dateTimeComponents[3],
                        "/m=00/macAddress=", replace(@"-", "", MACAddress_s),
                        "/PT1H.json")
| project-away nsgId, saName, binTime, blobTime, nsgComponents, dateTimeComponents;

TableWithBlobId
| where SubType_s == "FlowLog" and FlowStartTime_t >= ago(30d) and FlowType_s == "ExternalPublic"
| project Subnet_s , BlobPath

Предыдущий запрос создает URL-адрес для доступа к большому двоичному объекту напрямую. URL-адрес с заполнителями выглядит следующим образом:

https://{storageAccountName}@insights-logs-networksecuritygroupflowevent/resoureId=/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroup}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{networkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json

Схема аналитики трафика

Аналитика трафика основана на журналах Azure Monitor, поэтому вы можете выполнять пользовательские запросы к данным, украшенным аналитикой трафика и задавать оповещения.

В следующей таблице перечислены поля схемы и то, что они указывают для журналов потоков группы безопасности сети.

Поле Формат Комментарии
TableName AzureNetworkAnalytics_CL Таблица для данных аналитики трафика.
SubType_s FlowLog Подтип для журналов потоков. Используйте только FlowLog, другие значения SubType_s предназначены для внутреннего использования.
FASchemaVersion_s 2 Версия схемы. Не отражает версию журнала потока группы безопасности сети.
TimeProcessed_t Дата и время (в формате UTC). Время, в котором аналитика трафика обработала необработанные журналы потоков из учетной записи хранения.
FlowIntervalStartTime_t Дата и время (в формате UTC). Время начала интервала обработки журнала потока (время измерения интервала потока).
FlowIntervalEndTime_t Дата и время (в формате UTC). Время окончания интервала обработки журнала потока.
FlowStartTime_t Дата и время (в формате UTC). Первое вхождение потока (которое агрегируется) в интервале обработки журнала потоков между FlowIntervalStartTime_t и FlowIntervalEndTime_t. Этот поток агрегируется на основе логики агрегирования.
FlowEndTime_t Дата и время (в формате UTC). Последнее вхождение потока (которое агрегируется) в интервале обработки журнала потоков между FlowIntervalStartTime_t и FlowIntervalEndTime_t. С точки зрения журнала потоков версии 2 это поле содержит время, когда последний поток с тем же четырьмя кортежами запущен (помечен как B в записи необработанного потока).
FlowType_s — IntraVNet
— InterVNet
- S2S
- P2S
— AzurePublic
— ExternalPublic
— Вредоносный поток
- Неизвестный частный
- Неизвестно
См. примечания для определений.
SrcIP_s Исходный IP-адрес Пустое значение в потоках AzurePublic и ExternalPublic.
DestIP_s IP-адрес назначения Пустое значение в потоках AzurePublic и ExternalPublic.
VMIP_s IP-адрес ВМ Используется для потоков AzurePublic и ExternalPublic.
DestPort_d Конечный порт Порт, по которому входящий трафик.
L4Protocol_s - T
U-
Транспортный протокол: T = TCP
U = UDP.
L7Protocol_s Имя протокола Производный от порта назначения.
FlowDirection_s - I = входящий трафик
- O = исходящий трафик
Направление потока: в группе безопасности сети или из нее для каждого журнала потоков.
FlowStatus_s - A = разрешено
- D = отказано
Состояние потока, разрешенного или запрещенного группой безопасности сети для каждого журнала потока.
NSGList_s <SUBSCRIPTIONID>/<RESOURCEGROUP_NAME>/<NSG_NAME> Группа безопасности сети, связанная с потоком.
NSGRules_s <Значение индекса 0>|<>NSG_RULENAME|<Направление> потока|<Состояние> потока |<FlowCount ProcessedByRule> Правило группы безопасности сети, которое позволило или отрицало этот поток.
NSGRule_s ИМЯ_ПРАВИЛА_NSG Правило группы безопасности сети, которое позволило или отрицало этот поток.
NSGRuleType_s — определяемый пользователем
— Default
Тип правила группы безопасности сети, используемого потоком.
MACAddress_s MAC-адрес MAC-адрес сетевого адаптера, по которому был записан поток.
Subscription_g Подписка виртуальной сети Azure/ сетевого интерфейса или виртуальной машины заполняется в этом поле Применимо только для типов потоков FlowType = S2S, P2S, AzurePublic, ExternalPublic, MaliciousFlow и UnknownPrivate (типы потоков, где только одна сторона — Azure).
Subscription1_g ИД подписки Идентификатор подписки виртуальной сети, сетевого интерфейса или виртуальной машины, к которой принадлежит исходный IP-адрес потока.
Subscription2_g ИД подписки Идентификатор подписки виртуальной сети, сетевого интерфейса или виртуальной машины, к которой принадлежит целевой IP-адрес потока.
Region_s Регион Azure виртуальной сети, сетевой интерфейс или виртуальная машина, к которой принадлежит IP-адрес потока. Применимо только для типов потоков FlowType = S2S, P2S, AzurePublic, ExternalPublic, MaliciousFlow и UnknownPrivate (типы потоков, где только одна сторона — Azure).
Region1_s Регион Azure Регион Azure виртуальной сети, сетевой интерфейс или виртуальная машина, к которой принадлежит исходный IP-адрес потока.
Region2_s Регион Azure Регион виртуальной сети Azure, к которому принадлежит целевой IP-адрес потока.
NIC_s <resourcegroup_Name>/<NetworkInterfaceName> Сетевой адаптер, связанный с виртуальной машиной, отправляя или получая трафик.
NIC1_s <resourcegroup_Name>/<NetworkInterfaceName> Сетевой адаптер, связанный с исходным IP-адресом в потоке.
NIC2_s <resourcegroup_Name>/<NetworkInterfaceName> Сетевой адаптер, связанный с целевым IP-адресом в потоке.
VM_s <resourcegroup_Name>/<NetworkInterfaceName> Виртуальная машина, связанная с сетевым интерфейсом NIC_s.
VM1_s <resourcegroup_Name>/<VirtualMachineName> Виртуальная машина, связанная с исходным IP-адресом в потоке.
VM2_s <resourcegroup_Name>/<VirtualMachineName> Виртуальная машина, связанная с целевым IP-адресом в потоке.
Subnet_s <>ResourceGroup_Name/<VirtualNetwork_Name>/<SubnetName> Подсеть, связанная с NIC_s.
Subnet1_s <>ResourceGroup_Name/<VirtualNetwork_Name>/<SubnetName> Подсеть, связанная с IP-адресом источника в потоке.
Subnet2_s <>ResourceGroup_Name/<VirtualNetwork_Name>/<SubnetName> Подсеть, связанная с IP-адресом назначения в потоке.
ApplicationGateway1_s <SubscriptionID>/<ResourceGroupName>/<ApplicationGatewayName> Шлюз приложений, связанный с исходным IP-адресом в потоке.
ApplicationGateway2_s <SubscriptionID>/<ResourceGroupName>/<ApplicationGatewayName> Шлюз приложений, связанный с IP-адресом назначения в потоке.
ExpressRouteCircuit1_s <SubscriptionID>/<ResourceGroupName>/<ExpressRouteCircuitName> Идентификатор канала ExpressRoute — при отправке потока с сайта через ExpressRoute.
ExpressRouteCircuit2_s <SubscriptionID>/<ResourceGroupName>/<ExpressRouteCircuitName> Идентификатор канала ExpressRoute — при получении потока из облака ExpressRoute.
ExpressRouteCircuitPeeringType_s — AzurePrivatePeering
— AzurePublicPeering
— MicrosoftPeering
Тип пиринга ExpressRoute, участвующий в потоке.
LoadBalancer1_s <SubscriptionID>/<ResourceGroupName>/<LoadBalancerName> Подсистема балансировки нагрузки, связанная с исходным IP-адресом в потоке.
LoadBalancer2_s <SubscriptionID>/<ResourceGroupName>/<LoadBalancerName> Подсистема балансировки нагрузки, связанная с IP-адресом назначения в потоке.
LocalNetworkGateway1_s <SubscriptionID>/<ResourceGroupName>/<LocalNetworkGatewayName> Шлюз локальной сети, связанный с исходным IP-адресом в потоке.
LocalNetworkGateway2_s <SubscriptionID>/<ResourceGroupName>/<LocalNetworkGatewayName> Шлюз локальной сети, связанный с IP-адресом назначения в потоке.
ConnectionType_s — VNetPeering
— VpnGateway
— ExpressRoute
Тип onnection.
ConnectionName_s <SubscriptionID>/<ResourceGroupName>/<ConnectionName> Имя подключения. Для типа потока P2S он форматируется как <IP-адрес> vpn-клиента< шлюза>.
ConnectingVNets_s Список имен виртуальных сетей, разделенных пробелами В случае топологии концентратора и периферийной топологии виртуальные сети концентратора заполняются здесь.
Country_s Двухбуквенный код страны по ISO 3166-1 alpha-2. Заполнено для типа потока ExternalPublic. Все IP-адреса в поле PublicIPs_s используют одинаковый код страны.
AzureRegion_s Расположения регионов Azure Заполняется для потоков типа AzurePublic. Все IP-адреса в поле PublicIPs_s совместно используют регион Azure.
AllowedInFlows_d Количество разрешенных потоков входящего трафика, представляющее количество потоков, которые совместно используют один и тот же четырех кортеж, входящий в сетевой интерфейс, по которому был захвачен поток.
DeniedInFlows_d Количество запрещенных входящих потоков. (Входящий трафик к сетевому интерфейсу, по которому был записан поток).
AllowedOutFlows_d Количество разрешенных исходящих потоков (исходящий трафик к сетевому интерфейсу, в котором был записан поток).
DeniedOutFlows_d Количество исходящих потоков, которые были отклонены (исходящий трафик к сетевому интерфейсу, по которому был записан поток).
FlowCount_d Устарело. Всего потоков, соответствующих одному четырехэлементному кортежу. В случае типов потоков ExternalPublic и AzurePublic число также включает потоки из различных адресов PublicIP.
InboundPackets_d Представляет пакеты, отправленные из назначения в источник потока Заполнено только для схемы журнала потоков групп безопасности сети версии 2.
OutboundPackets_d Представляет пакеты, отправленные из источника в назначение потока Заполнено только для схемы журнала потоков групп безопасности сети версии 2.
InboundBytes_d Представляет байты, отправленные из назначения в источник потока Заполнено только для схемы журнала потоков групп безопасности сети версии 2.
OutboundBytes_d Представляет байты, отправленные из источника в назначение потока Заполнено только для схемы журнала потоков групп безопасности сети версии 2.
CompletedFlows_d Заполнено ненулевое значение только для схемы журнала потоков группы безопасности сети версии 2.
PublicIPs_s <PUBLIC_IP>|<FLOW_STARTED_COUNT>|<FLOW_ENDED_COUNT>|<OUTBOUND_PACKETS>|<INBOUND_PACKETS>|<OUTBOUND_BYTES>|<INBOUND_BYTES> Записи, разделенные полосами.
SrcPublicIPs_s; <SOURCE_PUBLIC_IP>|<FLOW_STARTED_COUNT>|<FLOW_ENDED_COUNT>|<OUTBOUND_PACKETS>|<INBOUND_PACKETS>|<OUTBOUND_BYTES>|<INBOUND_BYTES> Записи, разделенные полосами.
DestPublicIPs_s <DESTINATION_PUBLIC_IP>|<FLOW_STARTED_COUNT>|<FLOW_ENDED_COUNT>|<OUTBOUND_PACKETS>|<INBOUND_PACKETS>|<OUTBOUND_BYTES>|<INBOUND_BYTES> Записи, разделенные полосами.
IsFlowCapturedAtUDRHop_b -Истинный
- False
Если поток был записан в прыжке UDR, значение равно True.

Внимание

Схема аналитики трафика была обновлена 22 августа 2019 г. Новая схема предоставляет ip-адреса источника и назначения отдельно, удаляя необходимость синтаксического анализа FlowDirection поля, чтобы запросы были проще. Обновленная схема имела следующие изменения:

  • FASchemaVersion_s обновлено от 1 до 2.
  • Устаревшие поля: VMIP_s, Subscription_g, Subnet_sNSGRules_sVM_sRegion_s, , NIC_sPublicIPs_sFlowCount_d
  • Новые поля: SrcPublicIPs_s, DestPublicIPs_sNSGRule_s

Схема сведений об общедоступном IP-адресе

Аналитика трафика предоставляет данные и географическое расположение WHOIS для всех общедоступных IP-адресов в вашей среде. Для вредоносного IP-адреса аналитика трафика предоставляет dns-домен, тип угроз и описания потоков, которые определяются решениями аналитики безопасности Майкрософт. Сведения о IP-адресах публикуются в рабочей области Log Analytics, чтобы создавать настраиваемые запросы и помещать оповещения на них. Вы также можете получить доступ к предварительно заполненным запросам на панели мониторинга аналитики трафика.

В следующей таблице описана схема общедоступного IP-адреса:

Поле Формат Комментарии
TableName AzureNetworkAnalyticsIPDetails_CL Таблица, содержащая данные ip-адреса аналитики трафика.
SubType_s FlowLog Подтип для журналов потоков. Используйте только FlowLog, другие значения SubType_s предназначены для внутренних работ продукта.
FASchemaVersion_s 2 Версия схемы. Не отражает версию журнала потока группы безопасности сети.
FlowIntervalStartTime_t Дата и время (в формате UTC). Время начала интервала обработки журнала потока (время измерения интервала потока).
FlowIntervalEndTime_t Дата и время (в формате UTC). Время окончания интервала обработки журнала потоков.
FlowType_s — AzurePublic
— ExternalPublic
— Вредоносный поток
См. примечания для определений.
IP-адрес Общедоступный IP-адрес Общедоступный IP-адрес, сведения которого предоставляются в записи.
Местонахождение Расположение IP-адреса — Для общедоступного IP-адреса Azure: регион виртуальной сети, сетевого интерфейса или виртуальной машины, к которой относится IP-адрес или глобальный для IP-адреса 168.63.129.16.
— Для внешнего общедоступного IP-адреса и вредоносного IP-адреса: 2-буквенный код страны, где находится IP-адрес (ISO 3166-1 alpha-2).
PublicIPDetails Сведения об IP-адресе — Для IP-адреса AzurePublic: служба Azure, принадлежающая IP-адресу или виртуальному общедоступному IP-адресу Майкрософт для 168.63.129.16.
— Внешний IP-адрес или вредоносный IP-адрес: сведения о ip-адресе WhoIS.
ThreatType Угрозы, вызванные вредоносным IP-адресом Только для вредоносных IP-адресов: одна из угроз из списка разрешенных значений (описана в следующей таблице).
ThreatDescription Описание угрозы Только для вредоносных IP-адресов. Описание угрозы, вызванной вредоносным IP-адресом.
DNSDomain Домен DNS Только для вредоносных IP-адресов. Доменное имя, связанное с вредоносным IP-адресом.
URL-адрес URL-адрес, соответствующий вредоносному IP-адресу Только для вредоносных IP-адресов
порт. Порт, соответствующий вредоносному IP-адресу Только для вредоносных IP-адресов

Список типов угроз:

значение Описание
Сведения о Индикатор детализации узла или члена ботсети.
C2 Индикатор детализации узла командной строки и управления ботнета.
CryptoMining Трафик, включающий этот сетевой адрес или URL-адрес, указывает на нарушение CyrptoMining или ресурсов.
DarkNet Индикатор узла или сети Darknet.
DDos Индикаторы, связанные с активной или предстоящей кампанией от атак DDoS.
MaliciousUrl URL-адрес, обслуживающий вредоносные программы.
Вредоносная программа Индикатор, описывающий вредоносный файл или файлы.
Фишинг Индикаторы, связанные с фишинговой кампанией.
Proxy (Прокси) Индикатор прокси-службы.
PUA Потенциально нежелательные приложения.
WatchList Универсальный контейнер, в который помещаются индикаторы, когда он не может быть определен точно, какой угрозой является или требует ручной интерпретации. WatchList обычно не следует использовать партнерами, отправляющими данные в систему.

Примечания.

  • В случае и ExternalPublic потоков ip-адрес виртуальной машины Azure, принадлежащий AzurePublic клиенту, заполняется в VMIP_s поле, а общедоступные IP-адреса заполняются в PublicIPs_s поле. Для этих двух типов потоков следует использовать VMIP_s и PublicIPs_s вместо SrcIP_s DestIP_s полей. Для IP-адресов AzurePublic и ExternalPublic мы агрегируем далее, чтобы количество записей, которые были приема в рабочую область Log Analytics, минимальны. (Это поле будет устарело. Используйте SrcIP_s и DestIP_s в зависимости от того, была ли виртуальная машина источником или назначением в потоке).
  • Некоторые имена полей добавляются или _s _dне указывают источник и назначение, но указывают строку типов данных и десятичные значения соответственно.
  • На основе IP-адресов, участвующих в потоке, мы классифицируем потоки на следующие типы потоков:
    • IntraVNet: оба IP-адреса в потоке находятся в одной виртуальной сети Azure.
    • InterVNet: IP-адреса в потоке находятся в двух разных виртуальных сетях Azure.
    • S2S (Сеть — сеть): один из IP-адресов принадлежит виртуальной сети Azure, а другой IP-адрес принадлежит клиентской сети (сайт), подключенной к виртуальной сети через VPN-шлюз или ExpressRoute.
    • P2S(Точка — сеть): один из IP-адресов принадлежит виртуальной сети Azure, а другой IP-адрес принадлежит клиентской сети (сайт), подключенной к Azure виртуальная сеть через VPN-шлюз.
    • AzurePublic: один из IP-адресов принадлежит виртуальной сети Azure, а другой IP-адрес — общедоступный IP-адрес Azure, принадлежащий корпорации Майкрософт. Общедоступные IP-адреса клиента не являются частью этого типа потока. Например, любая клиентская виртуальная машина, отправляя трафик в службу Azure (конечная точка хранилища), будет классифицироваться в соответствии с этим типом потока.
    • ExternalPublic: один из IP-адресов принадлежит виртуальной сети Azure, а другой IP-адрес является общедоступным IP-адресом, который не находится в Azure и не сообщается как вредоносный в веб-каналах ASC, которые аналитика трафика использует для интервала обработки между "FlowIntervalStartTime_t" и "FlowIntervalEndTime_t".
    • MaliciousFlow: один из IP-адресов принадлежит виртуальной сети Azure, а другой IP-адрес является общедоступным IP-адресом, который не находится в Azure и сообщается как вредоносный в веб-каналах ASC, которые аналитика трафика использует для интервала обработки между "FlowIntervalStartTime_t" и "FlowIntervalEndTime_t".
    • UnknownPrivate: один из IP-адресов принадлежит виртуальной сети Azure, а другой IP-адрес принадлежит частному диапазону IP-адресов, определенному в RFC 1918, и не удалось сопоставить аналитику трафика с сайтом клиента или виртуальной сетью Azure.
    • Unknown: не удается сопоставить любой из IP-адресов в потоке с топологией клиента в Azure и локальной среде (сайт).
  • Дополнительные сведения об аналитике трафика см. в обзоре аналитики трафика.
  • Ответы на часто задаваемые вопросы об аналитике трафика см. в статье "Аналитика трафика".