ASIM(고급 보안 정보 모델) 웹 세션 정규화 스키마 참조

웹 세션 정규화 스키마는 IP 네트워크 활동을 설명하는 데 사용됩니다. 예를 들어 IP 네트워크 활동은 웹 서버, 웹 프록시 및 웹 보안 게이트웨이에서 보고됩니다.

Microsoft Sentinel 정규화에 대한 자세한 내용은 정규화 및 ASIM(고급 보안 정보 모델)을 참조하세요.

스키마 개요

웹 세션 정규화 스키마는 HTTP 네트워크 세션을 나타내며 다음을 비롯한 일반적인 소스 형식에 대한 지원을 제공하는 데 적합합니다.

  • 웹 서버
  • 웹 프록시
  • 웹 보안 게이트웨이

ASIM 웹 세션 스키마는 HTTP 및 HTTPS 프로토콜 활동을 나타냅니다. 스키마는 프로토콜 활동을 나타내므로 RFC 및 공식적으로 할당된 매개 변수 목록이 제어되며, 이 목록은 적절한 경우 이 문서에서 참조됩니다.

웹 세션 스키마는 원본 디바이스의 감사 이벤트를 나타내지 않습니다. 예를 들어 웹 보안 게이트웨이 정책을 수정하는 이벤트는 웹 세션 스키마로 나타낼 수 없습니다.

HTTP 세션은 TCP/IP를 기본 네트워크 계층 세션으로 활용하는 애플리케이션 계층 세션이므로 웹 세션 스키마는 ASIM 네트워크 세션 스키마의 슈퍼 집합입니다.

웹 세션 스키마에서 가장 중요한 필드는 다음과 같습니다.

  • Url - 클라이언트가 서버에서 요청한 URL을 보고합니다.
  • 요청이 생성된 IP 주소를 나타내는 SrcIpAddr ( IpAddr에 별칭 지정)입니다.
  • EventResultDetails 필드는 일반적으로 HTTP 상태 코드를 보고합니다.

웹 세션 이벤트에는 사용자 및 요청을 시작하는 프로세스 에 대한 사용자 및 프로세스 정보도 포함될 수 있습니다.

파서

ASIM 파서에 대한 자세한 내용은 ASIM 파서 개요를 참조하세요.

파서 통합

모든 ASIM 기본 파서를 통합하는 파서를 사용하고 구성된 모든 원본에서 분석이 실행되도록 하려면 파서를 사용합니다 _Im_WebSession .

기본 제공 원본별 파서

기본 제공 Microsoft Sentinel 웹 세션 파서 목록은 ASIM 파서 목록을 참조하세요.

정규화된 자체 파서 추가

웹 세션 정보 모델에 대한 사용자 지정 파서를 구현하는 경우 다음 구문을 사용하여 KQL 함수의 이름을 지정합니다.

  • vimWebSession<vendor><Product> 매개 변수가 있는 파서의 경우
  • ASimWebSession<vendor><Product> 일반 파서용

파서 매개 변수 필터링

및 파서는 필터링 매개 변수를 지원합니다.vim*im 이러한 파서는 선택 사항이지만 쿼리 성능을 향상시킬 수 있습니다.

다음 필터링 매개 변수를 사용할 수 있습니다.

이름 유형 설명
Starttime datetime 이 시간 이후에 시작된 웹 세션만 필터링합니다. 이 매개 변수는 TimeGenerated EventStartTime 및 EventEndTime 필드의 파서별 매핑에 관계없이 이벤트 시간의 표준 지정자인 필드를 필터링합니다.
Endtime datetime 이 시간 또는 그 이전에 실행 되기 시작한 웹 세션만 필터링합니다. 이 매개 변수는 TimeGenerated EventStartTime 및 EventEndTime 필드의 파서별 매핑에 관계없이 이벤트 시간의 표준 지정자인 필드를 필터링합니다.
srcipaddr_has_any_prefix 동적 원본 IP 주소 필드 접두사가 나열된 값 중 하나에 있는 웹 세션만 필터링합니다. 값 목록에는 IP 주소 및 IP 주소 접두사를 포함할 수 있습니다. 접두사는 로 .끝나야 합니다(예: 10.0.). 목록의 길이는 10,000개 항목으로 제한됩니다.
ipaddr_has_any_prefix 동적 대상 IP 주소 필드 또는 원본 IP 주소 필드 접두사가 나열된 값 중 하나에 있는 네트워크 세션만 필터링합니다. 접두사는 로 .끝나야 합니다(예: 10.0.). 목록의 길이는 10,000개 항목으로 제한됩니다.

ASimMatchingIpAddr 필드가 , 또는 BothSrcIpAddrDstIpAddr중 하나로 설정되거나 일치하는 필드 또는 필드를 반영하도록 설정됩니다.
url_has_any 동적 URL 필드에 나열된 값이 있는 웹 세션만 필터링합니다. 파서는 원본이 보고하지 않는 경우 매개 변수로 전달된 URL의 스키마를 무시할 수 있습니다. 지정된 경우 세션이 웹 세션이 아닌 경우 결과가 반환되지 않습니다. 목록의 길이는 10,000개 항목으로 제한됩니다.
httpuseragent_has_any 동적 사용자 에이전트 필드에 나열된 값이 있는 웹 세션만 필터링합니다. 지정된 경우 세션이 웹 세션이 아닌 경우 결과가 반환되지 않습니다. 목록의 길이는 10,000개 항목으로 제한됩니다.
eventresultdetails_in 동적 EventResultDetails 필드에 저장된 HTTP 상태 코드가 나열된 값인 웹 세션만 필터링합니다.
eventresult 문자열 특정 EventResult 값을 사용하여 네트워크 세션만 필터링합니다.

일부 매개 변수는 형식 dynamic 의 값 목록 또는 단일 문자열 값을 모두 허용할 수 있습니다. 동적 값이 필요한 매개 변수에 리터럴 목록을 전달하려면 동적 리터럴을 명시적으로 사용합니다. 예: dynamic(['192.168.','10.'])

예를 들어 지정된 도메인 이름 목록에 대한 웹 세션만 필터링하려면 다음을 사용합니다.

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

스키마 세부 정보

웹 세션 정보 모델은 OSSEM 네트워크 엔터티 스키마OSSEM HTTP 엔터티 스키마와 정렬됩니다.

업계 모범 사례를 준수하기 위해 웹 세션 스키마는 설명자 SrcDst 를 사용하여 필드 이름에 토큰 Dvc 를 포함하지 않고 세션 원본 및 대상 디바이스를 식별합니다.

예를 들어 원본 디바이스 호스트 이름 및 IP 주소의 이름은 SrcHostnameSrcIpAddr이며 SrcDvcHostname 및 SrcDvcIpAddr이 아닙니다. 접두사 Dvc 는 해당하는 경우 보고 또는 중간 디바이스에만 사용됩니다.

원본 및 대상 디바이스와 연결된 사용자 및 애플리케이션을 설명하는 필드는 SrcDst 설명자도 사용합니다.

다른 ASIM 스키마는 일반적으로 Dst 대신 Target을 사용합니다.

일반 ASIM 필드

중요

모든 스키마에 공통된 필드는 ASIM 공통 필드 문서에서 자세히 설명합니다.

특정 지침이 있는 공통 필드

다음 목록에서는 웹 세션 이벤트에 대한 특정 지침이 있는 필드를 설명합니다.

필드 클래스 유형 설명
EventType 필수 열거 레코드에서 보고한 작업에 대해 설명합니다. 사용 가능한 값은 다음과 같습니다.
- HTTPsession: 일반적으로 프록시 또는 웹 보안 게이트웨이와 같은 중간 디바이스에서 보고하는 HTTP 또는 HTTPS에 사용되는 네트워크 세션을 표시합니다.
- WebServerSession: 웹 서버에서 보고한 HTTP 요청을 표시합니다. 이러한 이벤트에는 일반적으로 네트워크 관련 정보가 적습니다. 보고된 URL은 스키마와 서버 이름이 아니라 URL의 경로 및 매개 변수 부분만 포함해야 합니다.
- ApiRequest: 일반적으로 애플리케이션 서버에서 보고하는 API 호출과 연결된 HTTP 요청을 표시합니다. 이러한 이벤트에는 일반적으로 네트워크 관련 정보가 적습니다. 애플리케이션 서버에서 보고하는 경우 보고된 URL에는 스키마와 서버 이름이 아니라 URL의 경로 및 매개 변수 부분만 포함되어야 합니다.
EventResult 필수 열거 다음 값 중 하나로 정규화된 이벤트 결과를 설명합니다.
- Success
- Partial
- Failure
- NA (해당 없음)

HTTP 세션 Success 의 경우 는 보다 400낮은 상태 코드로 정의되며 Failure 보다 높은 400상태 코드로 정의됩니다. HTTP 상태 코드 목록은 W3 조직을 참조하세요.

원본은 EventResultDetails 필드에 대한 값만 제공할 수 있습니다. EventResult 값을 얻으려면 분석해야 합니다.
EventResultDetails 권장 열거 World Wide Web 컨소시엄에서 정의한 HTTP 상태 코드

참고: 값은 이러한 값으로 정규화되어야 하는 다른 용어를 사용하여 원본 레코드에 제공될 수 있습니다. 원래 값은 EventOriginalResultDetails 필드에 저장되어야 합니다.
EventSchema 필수 열거 여기에 설명된 스키마의 이름은 입니다 WebSession.
EventSchemaVersion 필수 SchemaVersion(문자열) 스키마의 버전입니다. 여기에 설명된 스키마의 버전은 다음과 같습니다. 0.2.7
Dvc 필드 웹 세션 이벤트의 경우 디바이스 필드는 웹 세션 이벤트를 보고하는 시스템을 참조합니다. 일반적으로 이벤트에 대한 중간 디바이스이며 및 이벤트에 대한 HTTPSessionWebServerSessionApiRequest 대상 웹 또는 애플리케이션 서버입니다.

모든 공통 필드

아래 표에 표시되는 필드는 모든 ASIM 스키마에 공통적으로 적용됩니다. 위에 지정된 모든 지침은 필드에 대한 일반 지침을 재정의합니다. 예를 들어 필드는 일반적으로 선택 사항이지만 특정 스키마에는 필수일 수 있습니다. 각 필드에 대한 자세한 내용은 ASIM 공통 필드 문서를 참조하세요.

클래스 필드
필수 - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
권장 - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
옵션 - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

네트워크 세션 필드

HTTP 세션은 TCP/IP를 기본 네트워크 계층 세션으로 활용하는 애플리케이션 계층 세션입니다. 웹 세션 스키마는 ASIM 네트워크 세션 스키마 의 슈퍼 집합이며 모든 네트워크 스키마 필드도 웹 세션 스키마에 포함됩니다.

다음 ASIM 네트워크 세션 스키마 필드에는 웹 세션 이벤트에 사용할 때 특정 지침이 있습니다.

  • 별칭 사용자는 DstUsername이 아니라 SrcUsername을 참조해야 합니다.
  • EventOriginalResultDetails 필드는 EventResultDetails에 저장된 HTTP 상태 코드 외에도 소스에서 보고한 결과를 저장할 수 있습니다.
  • 웹 세션의 경우 기본 대상 필드는 URL 필드입니다. DstDomain은 권장되는 것이 아니라 선택 사항입니다. 특히 사용할 수 없는 경우 파서의 URL에서 추출할 필요가 없습니다.
  • NetworkRuleNumber 필드 NetworkRuleName 의 이름은 각각 및 RuleNumber 로 바뀝 RuleName 니다.

웹 세션 이벤트는 일반적으로 클라이언트에서 HTTP 연결을 종료하고 서버와 함께 프록시 역할을 하는 새 연결을 시작하는 중간 디바이스에서 보고됩니다. 중간 디바이스를 나타내려면 ASIM 네트워크 세션 스키마중간 디바이스 필드를 사용합니다.

HTTP 세션 필드

다음은 웹 세션과 관련된 추가 필드입니다.

필드 클래스 유형 설명
Url 필수 URL(문자열) 매개 변수를 포함한 HTTP 요청 URL입니다. 이벤트의 경우 HTTPSession URL에 스키마가 포함될 수 있으며 서버 이름을 포함해야 합니다. 및 의 ApiRequest 경우 WebServerSession URL에는 일반적으로 및 필드에서 각각 찾을 수 있는 스키마와 DstFQDN 서버가 NetworkApplicationProtocol 포함되지 않습니다.

예: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory 옵션 String URL 또는 URL의 도메인 부분의 정의된 그룹화입니다. 범주는 일반적으로 웹 보안 게이트웨이에서 제공되며 URL이 가리키는 사이트의 콘텐츠를 기반으로 합니다.

예: 검색 엔진, 성인, 뉴스, 광고 및 주차된 도메인.
UrlOriginal 옵션 URL(문자열) URL이 보고 디바이스에 의해 수정되고 두 값이 모두 제공되는 URL의 원래 값입니다.
HttpVersion 옵션 String HTTP 요청 버전입니다.

예: 2.0
HttpRequestMethod 권장 열거 HTTP 메서드입니다. 값은 RFC 7231RFC 5789에 정의되어 있으며 , , HEAD, POST, PUT, DELETEOPTIONSCONNECT, , , TRACEPATCH를 포함합니다.GET

예: GET
HttpStatusCode 별칭 HTTP 상태 코드입니다. EventResultDetails에 대한 별칭입니다.
HttpContentType 옵션 String HTTP 응답 콘텐츠 형식 헤더입니다.

참고: HttpContentType 필드에는 콘텐츠 형식과 실제 형식을 가져오는 데 사용되는 인코딩과 같은 추가 매개 변수가 모두 포함될 수 있습니다.

예: text/html; charset=ISO-8859-4
HttpContentFormat 옵션 String HttpContentType의 콘텐츠 형식 부분

예: text/html
HttpReferrer 옵션 String HTTP 참조자 헤더입니다.

참고: ASIM은 OSSEM과 동기화되어 원래 HTTP 헤더 맞춤법이 아닌 참조에 올바른 맞춤법을 사용합니다.

예: https://developer.mozilla.org/docs
HttpUserAgent 옵션 String HTTP 사용자 에이전트 헤더입니다.

예:
Mozilla/5.0(Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, 예: Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent 별칭 별칭에서 HttpUserAgent
HttpRequestXff 옵션 IP 주소 HTTP X-Forwarded-For 헤더입니다.

예: 120.12.41.1
HttpRequestTime 옵션 정수 해당하는 경우 서버에 요청을 보내는 데 걸린 시간(밀리초)입니다.

예: 700
HttpResponseTime 옵션 정수 해당하는 경우 서버에서 응답을 받는 데 걸린 시간(밀리초)입니다.

예: 800
HttpHost 옵션 String HTTP 요청이 대상으로 지정한 가상 웹 서버입니다. 이 값은 일반적으로 HTTP 호스트 헤더를 기반으로합니다.
파일 선택 String HTTP 업로드의 경우 업로드된 파일의 이름입니다.
FileMD5 옵션 MD5 HTTP 업로드의 경우 업로드된 파일의 MD5 해시입니다.

예: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 옵션 SHA1 HTTP 업로드의 경우 업로드된 파일의 SHA1 해시입니다.

예:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 옵션 SHA256 HTTP 업로드의 경우 업로드된 파일의 SHA256 해시입니다.

예:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 옵션 Sha512 HTTP 업로드의 경우 업로드된 파일의 SHA512 해시입니다.
해시 별칭 사용 가능한 해시 필드의 별칭입니다.
HashType 조건부 열거 해시 필드에 있는 해시의 형식입니다. 가능한 값은 MD5, , SHA1SHA256및 입니다SHA512.
Filesize 옵션 HTTP 업로드의 경우 업로드된 파일의 크기(바이트)입니다.
FileContentType 옵션 String HTTP 업로드의 경우 업로드된 파일의 콘텐츠 형식입니다.
HttpCookie 옵션 String 클라이언트에서 서버로 전송된 HTTP 쿠키 헤더의 콘텐츠로, 세션 데이터의 이름-값 쌍을 포함합니다.

예: session_id=abc123; user_pref=dark_mode
HttpIsProxied 옵션 부울 HTTP 요청이 프록시 서버를 통해 전송되었는지 여부를 나타냅니다.

예: true
HttpRequestBodyBytes 옵션 헤더를 포함하지 않는 HTTP 요청 본문의 크기(바이트)입니다.

예: 1024
HttpRequestCacheControl 옵션 String 클라이언트에서 캐싱 지시문을 지정하는 HTTP Cache-Control 요청 헤더의 콘텐츠입니다.

예: no-cache
HttpRequestHeaderCount 옵션 정수 요청에 포함된 HTTP 헤더 수입니다.

예: 12
HttpResponseBodyBytes 옵션 헤더를 포함하지 않는 HTTP 응답 본문의 크기(바이트)입니다.

예: 8192
HttpResponseCacheControl 옵션 String 서버에서 캐싱 지시문을 지정하는 HTTP Cache-Control 응답 헤더의 콘텐츠입니다.

예: max-age=3600, public
HttpResponseExpires 옵션 String 응답 콘텐츠가 만료되는 시기를 나타내는 HTTP 만료 응답 헤더의 콘텐츠입니다.

예: Thu, 01 Dec 2024 16:00:00 GMT
HttpResponseHeaderCount 옵션 정수 응답에 포함된 HTTP 헤더 수입니다.

예: 15

기타 필드

웹 세션의 엔드포인트 중 하나에서 이벤트를 보고하는 경우 세션을 시작하거나 종료한 프로세스에 대한 정보가 포함될 수 있습니다. 이러한 경우 ASIM 프로세스 이벤트 스키마 를 사용하여 이 정보를 정규화합니다.

스키마 업데이트

웹 세션 스키마는 네트워크 세션 스키마를 사용합니다. 따라서 네트워크 세션 스키마 업데이트도 웹 세션 스키마에도 적용됩니다.

다음은 스키마 버전 0.2.5의 변경 내용입니다.

  • 필드를 HttpHost추가했습니다.

다음은 스키마 버전 0.2.6의 변경 내용입니다.

  • FileSize의 형식이 정수에서 Long으로 변경되었습니다.

다음은 스키마 버전 0.2.7의 변경 내용입니다.

  • , , HttpIsProxied, HttpRequestBodyBytes, HttpRequestCacheControl, HttpRequestHeaderCount, HttpResponseBodyBytes, HttpResponseCacheControlHttpResponseHeaderCount필드HttpCookieHttpResponseExpires추가되었습니다.

다음 단계

자세한 내용은 다음을 참조하세요.