Udostępnij za pośrednictwem


Dokumentacja schematu normalizacji sesji sieci Web (ASIM) advanced Security Information Model (ASIM) (publiczna wersja zapoznawcza)

Schemat normalizacji sesji sieci Web służy do opisywania działania sieci IP. Na przykład działania sieci IP są zgłaszane przez serwery internetowe, serwery proxy sieci Web i bramy zabezpieczeń sieci Web.

Aby uzyskać więcej informacji na temat normalizacji w usłudze Microsoft Sentinel, zobacz Normalizacja i Zaawansowany model informacji o zabezpieczeniach (ASIM).

Ważne

Schemat normalizacji sieci jest obecnie w wersji zapoznawczej. Ta funkcja jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych.

Dodatkowe postanowienia dotyczące wersji zapoznawczej platformy Azure obejmują dodatkowe postanowienia prawne dotyczące funkcji platformy Azure, które są dostępne w wersji beta, wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej.

Przegląd schematu

Schemat normalizacji sesji internetowej reprezentuje dowolną sesję sieci HTTP i jest odpowiedni do zapewnienia obsługi typowych typów źródłowych, w tym:

  • Serwery internetowe
  • Serwery proxy sieci Web
  • Bramy zabezpieczeń sieci Web

Schemat sesji internetowej ASIM reprezentuje działanie protokołu HTTP i HTTPS. Ponieważ schemat reprezentuje działanie protokołu, jest on zarządzany przez RFC i oficjalnie przypisane listy parametrów, które są przywołyane w tym artykule, jeśli jest to konieczne.

Schemat sesji sieci Web nie reprezentuje zdarzeń inspekcji z urządzeń źródłowych. Na przykład zdarzenie modyfikujące zasady bramy zabezpieczeń sieci Web nie może być reprezentowane przez schemat sesji sieci Web.

Ponieważ sesje HTTP to sesje warstwy aplikacji, które korzystają z protokołu TCP/IP jako podstawowej sesji warstwy sieciowej, schemat sesji sieci Web jest superzbięcie schematu sesji sieciowej ASIM.

Najważniejsze pola w schemacie sesji sieci Web to:

  • Adres URL, który zgłasza adres URL żądany przez klienta z serwera.
  • SrcIpAddr (aliased to IpAddr), który reprezentuje adres IP, z którego wygenerowano żądanie.
  • Pole EventResultDetails , które zwykle zgłasza kod stanu HTTP.

Zdarzenia sesji sieci Web mogą również zawierać informacje o użytkowniku i procesie inicjowania żądania przez użytkownika i proces.

Parsery

Aby uzyskać więcej informacji na temat analizatorów ASIM, zobacz omówienie analizatorów ASIM.

Ujednolicanie analizatorów

Aby użyć analizatorów, które ujednolicają wszystkie analizatory out-of-the-box ASIM i upewnij się, że analiza jest uruchamiana we wszystkich skonfigurowanych źródłach, użyj _Im_WebSession analizatora filtrowania lub _ASim_WebSession analizatora bez parametrów.

Można również użyć narzędzi do wdrażania ImWebSession i ASimWebSession analizowania obszarów roboczych, wdrażając je z repozytorium GitHub usługi Microsoft Sentinel. Aby uzyskać więcej informacji, zobacz wbudowane analizatory ASIM i analizatory wdrożone w obszarze roboczym.

Gotowe do użycia analizatory specyficzne dla źródła

Aby uzyskać listę analizatorów sesji sieci Web, usługa Microsoft Sentinel udostępnia gotowe do użycia, zapoznaj się z listą analizatorów ASIM

Dodawanie własnych znormalizowanych analizatorów

Podczas implementowania niestandardowych analizatorów dla modelu informacji o sesji sieci Web nazwij funkcje KQL przy użyciu następującej składni:

  • vimWebSession<vendor><Product> dla analizatorów sparametryzowanych
  • ASimWebSession<vendor><Product> dla zwykłych analizatorów

Parametry analizatora filtrowania

Analizatory im i vim* obsługują parametry filtrowania. Chociaż te analizatory są opcjonalne, mogą zwiększyć wydajność zapytań.

Dostępne są następujące parametry filtrowania:

Nazwisko Pisz Opis
godzina rozpoczęcia datetime Filtruj tylko sesje sieci Web, które rozpoczęły się o tej godzinie lub po tej godzinie.
godzina zakończenia datetime Filtruj tylko sesje sieci Web, które zaczęły działać o lub wcześniej.
srcipaddr_has_any_prefix dynamiczna Filtruj tylko sesje sieci Web, dla których prefiks pola źródłowego adresu IP znajduje się w jednej z wymienionych wartości. Lista wartości może zawierać adresy IP i prefiksy adresów IP. Prefiksy powinny kończyć się elementem ., na przykład : 10.0.. Długość listy jest ograniczona do 10 000 elementów.
ipaddr_has_any_prefix dynamiczna Filtruj tylko sesje sieciowe, dla których pole docelowego adresu IP lub źródłowy prefiks pola adresu IP znajduje się w jednej z wymienionych wartości. Prefiksy powinny kończyć się elementem ., na przykład : 10.0.. Długość listy jest ograniczona do 10 000 elementów.

Pole ASimMatchingIpAddr jest ustawione przy użyciu jednej z wartości SrcIpAddr, DstIpAddrlub Both odzwierciedla pasujących pól lub pól.
url_has_any dynamiczna Filtruj tylko sesje sieci Web, dla których pole adresu URL ma dowolną z wartości wymienionych. Analizator może zignorować schemat adresu URL przekazany jako parametr, jeśli źródło go nie zgłosi. Jeśli zostanie określona, a sesja nie jest sesją internetową, żaden wynik nie zostanie zwrócony. Długość listy jest ograniczona do 10 000 elementów.
httpuseragent_has_any dynamiczna Filtruj tylko sesje sieci Web, dla których pole agenta użytkownika ma dowolną z wartości wymienionych. Jeśli zostanie określona, a sesja nie jest sesją internetową, żaden wynik nie zostanie zwrócony. Długość listy jest ograniczona do 10 000 elementów.
eventresultdetails_in dynamiczna Filtruj tylko sesje internetowe, dla których kod stanu HTTP przechowywany w polu EventResultDetails jest dowolną z wymienionych wartości.
eventresult string Filtruj tylko sesje sieciowe z określoną wartością EventResult .

Niektóre parametry mogą akceptować zarówno listę wartości typu dynamic , jak i pojedynczego ciągu. Aby przekazać listę literałów do parametrów, które oczekują wartości dynamicznej, jawnie użyj literału dynamicznego. Na przykład: dynamic(['192.168.','10.']).

Aby na przykład filtrować tylko sesje sieci Web dla określonej listy nazw domen, użyj:

let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)

Szczegóły schematu

Model informacji o sesji sieci Web jest zgodny ze schematem jednostki sieciowej OSSEM i schematem jednostki HTTP OSSEM.

Aby zapewnić zgodność z najlepszymi rozwiązaniami branżowymi, schemat sesji sieci Web używa deskryptorów Src i Dst do identyfikowania urządzeń źródłowych i docelowych sesji bez uwzględniania tokenu Dvc w nazwie pola.

Na przykład źródłowa nazwa hosta urządzenia i adres IP mają odpowiednio nazwy SrcHostname i SrcIpAddr, a nie SrcDvcHostname i SrcDvcIpAddr. Prefiks Dvc jest używany tylko do raportowania lub urządzenia pośredniego, zgodnie z wymaganiami.

Pola opisujące użytkownika i aplikację skojarzona z urządzeniami źródłowymi i docelowymi używają również deskryptorów Src i Dst .

Inne schematy ASIM zwykle używają wartości Target zamiast Dst.

Typowe pola karty ASIM

Ważne

Pola wspólne dla wszystkich schematów zostały szczegółowo opisane w artykule ASIM Common Fields (Wspólne pola karty ASIM).

Typowe pola z określonymi wytycznymi

Poniższa lista zawiera pola, które mają określone wytyczne dotyczące zdarzeń sesji sieci Web:

Pole Klasa Type Opis
EventType Obowiązkowy Enumerated Opisuje operację zgłoszoną przez rekord. Dozwolone wartości to:
- HTTPsession: określa sesję sieciową używaną do obsługi protokołu HTTP lub HTTPS, zazwyczaj zgłaszane przez urządzenie pośredniczące, takie jak serwer proxy lub brama zabezpieczeń sieci Web.
- WebServerSession: oznacza żądanie HTTP zgłaszane przez serwer internetowy. Takie zdarzenie zwykle ma mniej informacji związanych z siecią. Zgłoszony adres URL nie powinien zawierać schematu i nazwy serwera, ale tylko ścieżki i parametrów części adresu URL.
- ApiRequest: oznacza żądanie HTTP zgłoszone z wywołaniem interfejsu API, zwykle zgłaszane przez serwer aplikacji. Takie zdarzenie zwykle ma mniej informacji związanych z siecią. W przypadku raportowania przez serwer aplikacji zgłoszony adres URL nie powinien zawierać schematu i nazwy serwera, ale tylko ścieżki i parametrów części adresu URL.
EventResult Obowiązkowy Enumerated Opisuje wynik zdarzenia znormalizowany do jednej z następujących wartości:
- Success
- Partial
- Failure
- NA (nie dotyczy)

W przypadku sesji Success HTTP kod stanu jest zdefiniowany jako kod stanu niższy niż 400, i Failure jest zdefiniowany jako kod stanu wyższy niż 400. Listę kodów stanu HTTP można znaleźć w organizacji W3.

Źródło może podać tylko wartość pola EventResultDetails , które należy przeanalizować, aby uzyskać wartość EventResult .
EventResultDetails Zalecane String Kod stanu HTTP.

Uwaga: wartość może być podana w rekordzie źródłowym przy użyciu różnych terminów, które powinny być znormalizowane do tych wartości. Oryginalna wartość powinna być przechowywana w polu EventOriginalResultDetails .
EventSchema Obowiązkowy String Nazwa schematu udokumentowanego tutaj to WebSession.
EventSchemaVersion Obowiązkowy String Wersja schematu. Wersja schematu udokumentowana tutaj jest 0.2.6
Pola dvc W przypadku zdarzeń sesji sieci Web pola urządzenia odwołują się do systemu raportowania zdarzenia sesji sieci Web. Zazwyczaj jest to urządzenie pośredniczące dla HTTPSession zdarzeń oraz docelowy serwer internetowy lub serwer aplikacji dla WebServerSession zdarzeń i ApiRequest .

Wszystkie typowe pola

Pola wyświetlane w poniższej tabeli są wspólne dla wszystkich schematów ASIM. Wszelkie wytyczne określone powyżej zastępują ogólne wytyczne dotyczące pola. Na przykład pole może być ogólnie opcjonalne, ale obowiązkowe dla określonego schematu. Aby uzyskać więcej informacji na temat każdego pola, zapoznaj się z artykułem ASIM Common Fields (Wspólne pola karty ASIM).

Klasa Pola
Obowiązkowy - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Zalecane - EventResultDetails
- EventSeverity
- Identyfikator zdarzenia
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Opcjonalnie - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- Właściciel zdarzenia
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Dodatkowe pola
- DvcDescription
- DvcScopeId
- DvcScope

Pola sesji sieciowej

Sesje HTTP to sesje warstwy aplikacji, które używają protokołu TCP/IP jako podstawowej sesji warstwy sieciowej. Schemat sesji sieci Web jest super zestawem schematu sesji sieciowej ASIM, a wszystkie pola schematu sieciowego są również zawarte w schemacie sesji sieci Web.

Następujące pola schematu sesji sieciowej karty ASIM mają określone wytyczne dotyczące użycia zdarzenia sesji sieci Web:

  • Alias Użytkownik powinien odwoływać się do nazwy SrcUsername , a nie do nazwy DstUsername.
  • Pole EventOriginalResultDetails może przechowywać dowolny wynik zgłoszony przez źródło oprócz kodu stanu HTTP przechowywanego w elemecie EventResultDetails.
  • W przypadku sesji sieci Web podstawowym polem docelowym jest pole adresu URL. DstDomain jest opcjonalny, a nie zalecany. W szczególności, jeśli nie jest dostępny, nie ma potrzeby wyodrębniania go z adresu URL w analizatorze.
  • Pola NetworkRuleName i NetworkRuleNumber są odpowiednio zmieniane i RuleNumber zmienianeRuleName.

Zdarzenia sesji sieci Web są często zgłaszane przez urządzenia pośrednie, które przerywają połączenie HTTP z klienta i inicjują nowe połączenie działające jako serwer proxy z serwerem. Aby reprezentować urządzenie pośrednie, użyj pól urządzenia pośredniczącego schematu sesji sieciowej ASIM

Pola sesji HTTP

Poniżej przedstawiono dodatkowe pola specyficzne dla sesji internetowych:

Pole Klasa Type Opis
Adres URL Obowiązkowy String Adres URL żądania HTTP, w tym parametry. W przypadku HTTPSession zdarzeń adres URL może zawierać schemat i powinien zawierać nazwę serwera. Dla WebServerSession i dla ApiRequest adresu URL zwykle nie zawiera schematu i serwera, które można znaleźć odpowiednio w polach NetworkApplicationProtocol i DstFQDN .

Przykład: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory Opcjonalnie String Zdefiniowane grupowanie adresu URL lub części domeny adresu URL. Kategoria jest często dostarczana przez bramy zabezpieczeń sieci Web i jest oparta na zawartości witryny, do których wskazuje adres URL.

Przykład: wyszukiwarki, osoby dorosłe, wiadomości, reklamy i zaparkowane domeny.
UrlOriginal Opcjonalnie String Oryginalna wartość adresu URL, gdy adres URL został zmodyfikowany przez urządzenie raportowania i podano obie wartości.
HttpVersion Opcjonalnie String Wersja żądania HTTP.

Przykład: 2.0
HttpRequestMethod Zalecane Enumerated Metoda HTTP. Wartości są zdefiniowane w dokumentach RFC 7231 i RFC 5789 oraz obejmują GET, HEAD, CONNECTPOSTDELETEOPTIONSPUT, TRACE, i .PATCH

Przykład: GET
HttpStatusCode Alias Kod stanu HTTP. Alias do eventResultDetails.
HttpContentType Opcjonalnie String Nagłówek typu zawartości odpowiedź HTTP.

Uwaga: pole HttpContentType może zawierać zarówno format zawartości, jak i dodatkowe parametry, takie jak kodowanie używane do pobierania rzeczywistego formatu.

Przykład: text/html; charset=ISO-8859-4
HttpContentFormat Opcjonalnie String Część formatu zawartości typu HttpContentType

Przykład: text/html
HttpReferrer Opcjonalnie String Nagłówek odwołania HTTP.

Uwaga: karta ASIM, zsynchronizowana z OSSEM, używa poprawnej pisowni dla odwołania, a nie oryginalnej pisowni nagłówka HTTP.

Przykład: https://developer.mozilla.org/docs
HttpUserAgent Opcjonalnie String Nagłówek agenta użytkownika HTTP.

Przykład:
Mozilla/5.0 (Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, na przykład Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Alias Alias do httpUserAgent
HttpRequestXff Opcjonalnie Adres IP Nagłówek HTTP X-Forwarded-For.

Przykład: 120.12.41.1
HttpRequestTime Opcjonalnie Integer Czas wysyłania żądania do serwera w milisekundach, jeśli ma to zastosowanie.

Przykład: 700
HttpResponseTime Opcjonalnie Integer Czas w milisekundach trwał, jeśli ma to zastosowanie, aby otrzymać odpowiedź na serwerze.

Przykład: 800
HttpHost Opcjonalnie String Wirtualny serwer internetowy, którego dotyczy żądanie HTTP. Ta wartość jest zwykle oparta na nagłówku hosta HTTP.
Pod nazwą Opcjonalnie String W przypadku przekazywania HTTP nazwa przekazanego pliku.
FileMD5 Opcjonalnie MD5 W przypadku przekazywania HTTP skrót MD5 przekazanego pliku.

Przykład: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 Opcjonalnie SHA1 W przypadku przekazywania HTTP skrót SHA1 przekazanego pliku.

Przykład:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 Opcjonalnie SHA256 W przypadku przekazywania HTTP skrót SHA256 przekazanego pliku.

Przykład:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 Opcjonalnie SHA512 W przypadku przekazywania HTTP skrót SHA512 przekazanego pliku.
Skrót Alias Alias dostępnego pola Skrót.
FileHashType Opcjonalnie Enumerated Typ skrótu w polu Skrót . Możliwe wartości to: MD5, , SHA256SHA1i SHA512.
Rozmiar pliku Opcjonalnie Długi W przypadku przekazywania HTTP rozmiar w bajtach przekazanego pliku.
FileContentType Opcjonalnie String W przypadku przekazywania HTTP typ zawartości przekazanego pliku.

Inne pola

Jeśli zdarzenie jest zgłaszane przez jeden z punktów końcowych sesji sieci Web, może zawierać informacje o procesie, który zainicjował lub zakończył sesję. W takich przypadkach schemat zdarzenia procesu ASIM w celu normalizacji tych informacji.

Aktualizacje schematu

Schemat sesji sieci Web opiera się na schemacie sesji sieciowej. W związku z tym aktualizacje schematu sesji sieciowej mają zastosowanie również do schematu sesji sieci Web.

Poniżej przedstawiono zmiany w wersji 0.2.5 schematu:

  • Dodano pole HttpHost.

Poniżej przedstawiono zmiany w wersji 0.2.6 schematu:

  • Typ FileSize został zmieniony z Liczba całkowita na Long.

Następne kroki

Aby uzyskać więcej informacji, zobacz: