ASIM(고급 보안 정보 모델) 웹 세션 정규화 스키마 참조(공개 미리 보기)
웹 세션 정규화 스키마는 IP 네트워크 활동을 설명하는 데 사용됩니다. 예를 들어 IP 네트워크 활동은 웹 서버, 웹 프록시 및 웹 보안 게이트웨이에 의해 보고됩니다.
Microsoft Sentinel의 정규화에 대한 자세한 내용은 정규화 및 ASIM(고급 보안 정보 모델)을 참조하세요.
Important
네트워크 정규화 스키마는 현재 미리 보기 상태입니다. 이 기능은 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다.
Azure Preview 추가 약관에는 베타, 미리 보기 또는 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 추가 법률 용어가 포함되어 있습니다.
스키마 개요
웹 세션 정규화 스키마는 모든 HTTP 네트워크 세션을 나타내며 다음을 포함한 일반적인 원본 형식에 대한 지원을 제공하는 데 적합합니다.
- 웹 서버
- 웹 프록시.
- 웹 보안 게이트웨이
ASIM 웹 세션 스키마는 HTTP 및 HTTPS 프로토콜 작업을 나타냅니다. 스키마는 프로토콜 작업을 나타내기 때문에 RFC 및 공식적으로 할당된 매개 변수 목록에 의해 관리되며 적절한 경우 이 문서에서 참조됩니다.
웹 세션 스키마는 원본 디바이스의 감사 이벤트를 나타내지 않습니다. 예를 들어 웹 보안 게이트웨이 정책을 수정하는 이벤트는 웹 세션 스키마로 나타낼 수 없습니다.
HTTP 세션은 TCP/IP를 기본 네트워크 계층 세션으로 활용하는 애플리케이션 계층 세션이므로 웹 세션 스키마는 ASIM 네트워크 세션 스키마의 상위 집합입니다.
웹 세션 스키마에서 가장 중요한 필드는 다음과 같습니다.
- URL: 클라이언트가 서버에서 요청한 URL을 보고합니다.
- SrcIpAddr(IpAddr에 대한 별칭): 요청이 생성된 IP 주소를 나타냅니다.
- EventResultDetails 필드는 일반적으로 HTTP 상태 코드를 보고합니다.
웹 세션 이벤트에는 요청을 시작하는 사용자 및 프로세스에 대한 사용자 및 프로세스 정보도 포함될 수 있습니다.
파서
ASIM 파서에 대한 자세한 내용은 ASIM 파서 개요를 참조하세요.
파서 통합
모든 ASIM 기본 제공 파서를 통합하는 파서를 사용하고 구성된 모든 원본에서 분석이 실행되도록 하려면 _Im_WebSession
필터링 파서 또는 _ASim_WebSession
매개 변수가 없는 파서를 사용합니다.
또한 Microsoft Sentinel GitHub 리포지토리에서 배포하여 작업 영역에 배포된 ImWebSession
및 ASimWebSession
파서를 사용할 수 있습니다. 자세한 내용은 기본 제공 ASIM 파서 및 작업 영역 배포 파서를 참조하세요.
기본 제공 원본 관련 파서
Microsoft Sentinel이 기본 제공하는 웹 세션 파서 목록은 ASIM 파서 목록을 참조하세요.
사용자 고유의 정규화된 파서 추가
웹 세션 정보 모델에 대한 사용자 지정 파서를 구현할 때 다음 구문을 사용하여 KQL 함수의 이름을 지정합니다.
vimWebSession<vendor><Product>
- 매개 변수화된 파서의 경우ASimWebSession<vendor><Product>
- 일반 파서의 경우
파서 매개 변수 필터링
im
및 vim*
파서는 필터링 매개 변수를 지원합니다. 이러한 파서는 선택 사항이지만 쿼리 성능을 개선시킬 수 있습니다.
다음 필터링 매개 변수를 사용할 수 있습니다.
속성 | 형식 | 설명 |
---|---|---|
starttime | 날짜/시간 | 이 시간 이후에 시작한 웹 세션만 필터링합니다. |
endtime | 날짜/시간 | 이 시간 또는 그 이전에 실행을 시작한 웹 세션만 필터링합니다. |
srcipaddr_has_any_prefix | dynamic | 원본 IP 주소 필드 접두사가 나열된 값 중 하나에 있는 웹 세션만 필터링합니다. 값 목록에는 IP 주소와 IP 주소 접두사가 포함될 수 있습니다. 접두사는 . 로 끝나야 합니다(예: 10.0. ). 목록의 길이는 10,000개 항목으로 제한됩니다. |
ipaddr_has_any_prefix | dynamic | 대상 IP 주소 필드 또는 원본 IP 주소 필드 접두사가 나열된 값 중 하나에 있는 네트워크 세션만 필터링합니다. 접두사는 . 로 끝나야 합니다(예: 10.0. ). 목록의 길이는 10,000개 항목으로 제한됩니다.ASimMatchingIpAddr 필드는 일치하는 필드 또는 필드를 반영하기 위해 SrcIpAddr , DstIpAddr 또는 Both 값 중 하나로 설정됩니다. |
url_has_any | dynamic | URL 필드에 나열된 값이 있는 웹 세션만 필터링합니다. 원본에서 보고하지 않는 경우 파서는 매개 변수로 전달된 URL의 스키마를 무시할 수 있습니다. 지정되고 세션이 웹 세션이 아닌 경우 결과가 반환되지 않습니다. 목록의 길이는 10,000개 항목으로 제한됩니다. |
httpuseragent_has_any | dynamic | 사용자 에이전트 필드에 나열된 값이 있는 웹 세션만 필터링합니다. 지정되고 세션이 웹 세션이 아닌 경우 결과가 반환되지 않습니다. 목록의 길이는 10,000개 항목으로 제한됩니다. |
eventresultdetails_in | dynamic | EventResultDetails 필드에 저장된 HTTP 상태 코드가 나열된 값 중 하나인 웹 세션만 필터링합니다. |
eventresult | string | 특정 EventResult 값이 있는 네트워크 세션만 필터링합니다. |
일부 매개 변수는 형식 dynamic
값 목록 또는 단일 문자열 값을 모두 허용할 수 있습니다. 동적 값이 필요한 매개 변수에 리터럴 목록을 전달하려면 동적 리터럴을 명시적으로 사용합니다. 예: dynamic(['192.168.','10.'])
예를 들어 지정된 도메인 이름 목록에 대한 웹 세션만 필터링하려면 다음을 사용합니다.
let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)
스키마 세부 정보
웹 세션 정보 모델은 OSSEM 네트워크 엔터티 스키마 및 OSSEM HTTP 엔터티 스키마와 일치합니다.
업계 모범 사례를 준수하기 위해 웹 세션 스키마는 설명자 Src 및 Dst 를 사용하여 필드 이름에 토큰 Dvc를 포함하지 않고 세션 원본 및 대상 디바이스를 식별합니다.
따라서 예를 들어 소스 디바이스 호스트 이름과 IP 주소의 이름은 SrcDvcHostname 및 SrcDvcIpAddr이 아니라 각각 SrcHostname 및 SrcIpAddr로 지정됩니다. 접두사 Dvc는 해당되는 경우 보고 또는 중간 디바이스에만 사용됩니다.
원본 및 대상 디바이스와 연결된 사용자 및 애플리케이션을 설명하는 필드도 Src 및 Dst 설명자를 사용합니다.
다른 ASIM 스키마는 일반적으로 Dst 대신 Target을 사용합니다.
일반적인 ASIM 필드
Important
모든 스키마에 공통적인 필드는 ASIM 공통 필드 문서에 자세히 설명되어 있습니다.
특정 지침이 있는 공통 필드
다음 목록에는 웹 세션 이벤트에 대한 특정 지침이 있는 필드가 나와 있습니다.
필드 | 클래스 | Type | 설명 |
---|---|---|---|
EventType | 필수 | Enumerated | 레코드에서 보고하는 작업을 설명합니다. 허용된 값은 다음과 같습니다. - HTTPsession : 일반적으로 프록시 또는 웹 보안 게이트웨이와 같은 중개 디바이스에서 보고되는 HTTP 또는 HTTPS에 사용되는 네트워크 세션을 나타냅니다.- WebServerSession : 웹 서버에서 보고한 HTTP 요청을 나타냅니다. 이러한 이벤트에는 일반적으로 네트워크 관련 정보가 적습니다. 보고된 URL에는 스키마와 서버 이름이 포함되어서는 안 되며, URL의 경로와 매개 변수 부분만 포함되어야 합니다. - ApiRequest : 일반적으로 애플리케이션 서버에서 보고하는 API 호출과 관련하여 보고된 HTTP 요청을 나타냅니다. 이러한 이벤트에는 일반적으로 네트워크 관련 정보가 적습니다. 애플리케이션 서버에서 보고할 때 보고된 URL에는 스키마와 서버 이름이 포함되어서는 안 되며 URL의 경로와 매개 변수 부분만 포함되어야 합니다. |
EventResult | 필수 | Enumerated | 다음 값 중 하나로 정규화된 이벤트 결과를 설명합니다. - Success - Partial - Failure - NA (해당 없음) HTTP 세션의 경우 Success 는 400 보다 낮은 상태 코드로 정의되고 Failure 는 400 보다 높은 상태 코드로 정의됩니다. HTTP 상태 코드 목록은 W3 조직을 참조하세요.원본은 EventResultDetails 필드에 대한 값만 제공할 수 있으며 EventResult 값을 가져오기 위해 분석해야 합니다. |
EventResultDetails | 권장 | 문자열 | HTTP 상태 코드입니다. 참고: 이 값은 이러한 값으로 정규화되어야 하는 다른 용어를 사용하여 원본 레코드에 제공될 수 있습니다. 원래 값은 EventOriginalResultDetails 필드에 저장해야 합니다. |
EventSchema | 필수 | 문자열 | 여기에 설명된 스키마의 이름은 WebSession 입니다. |
EventSchemaVersion | 필수 | 문자열 | 스키마의 버전입니다. 여기에 설명된 스키마의 버전은 0.2.6 입니다 |
Dvc 필드 | 웹 세션 이벤트의 경우 디바이스 필드는 웹 세션 이벤트를 보고하는 시스템을 나타냅니다. 이는 일반적으로 HTTPSession 이벤트의 중개 디바이스이고, WebServerSession 및 ApiRequest 이벤트의 대상 웹 또는 애플리케이션 서버입니다. |
모든 공통 필드
아래 표에 나열된 필드는 모든 ASIM 스키마에 공통적으로 적용됩니다. 위에 지정된 모든 지침은 필드에 대한 일반 지침을 재정의합니다. 예를 들어 필드가 일반적으로 선택 사항이지만 특정 스키마에서는 필수 사항일 수 있습니다. 각 필드에 대한 자세한 내용은 ASIM 공통 필드 문서를 참조하세요.
네트워크 세션 필드
HTTP 세션은 TCP/IP를 기본 네트워크 계층 세션으로 활용하는 애플리케이션 계층 세션입니다. 웹 세션 스키마는 ASIM 네트워크 세션 스키마의 슈퍼 집합이며 모든 네트워크 스키마 필드도 웹 세션 스키마에 포함됩니다.
다음 ASIM 네트워크 세션 스키마 필드에는 웹 세션 이벤트에 사용할 때 특정 지침이 있습니다.
- 별칭 사용자는 DstUsername이 아니라 SrcUsername을 참조해야 합니다.
- EventOriginalResultDetails 필드에는 EventResultDetails에 저장된 HTTP 상태 코드 외에 원본에서 보고한 모든 결과가 포함될 수 있습니다.
- 웹 세션의 경우 기본 대상 필드는 URL 필드입니다. DstDomain은 권장 사항이 아니라 선택 사항입니다. 특히, 사용할 수 없는 경우 파서의 URL에서 추출할 필요가 없습니다.
- 필드
NetworkRuleName
와NetworkRuleNumber
이름이 각각 바뀝RuleName
RuleNumber
니다.
웹 세션 이벤트는 일반적으로 클라이언트의 HTTP 연결을 종료하고 서버와의 프록시 역할을 하는 새 연결을 시작하는 중간 디바이스에 의해 보고됩니다. 중간 디바이스를 나타내려면 ASIM 네트워크 세션 스키마 중간 디바이스 필드를 사용합니다.
HTTP 세션 필드
다음은 웹 세션과 관련된 추가 필드입니다.
필드 | 클래스 | Type | 설명 |
---|---|---|---|
Url | 필수 | 문자열 | 매개 변수를 포함한 HTTP 요청 URL입니다. HTTPSession 이벤트의 경우 URL은 스키마를 포함할 수 있으며 서버 이름을 포함해야 합니다. WebServerSession 및 ApiRequest 의 경우 URL에는 일반적으로 각각 NetworkApplicationProtocol 및 DstFQDN 필드에서 찾을 수 있는 스키마 및 서버가 포함되지 않습니다. 예: https://contoso.com/fo/?k=v&q=u#f |
UrlCategory | 선택 사항 | 문자열 | URL의 정의된 그룹화 또는 URL의 도메인 부분입니다. 범주는 일반적으로 웹 보안 게이트웨이에서 제공되며 URL이 가리키는 사이트의 콘텐츠를 기반으로 합니다. 예: 검색 엔진, 성인용, 뉴스, 광고 및 파킹 도메인. |
UrlOriginal | 선택 사항 | 문자열 | URL이 보고 디바이스에 의해 수정되고 두 값이 모두 제공된 경우 URL의 원래 값입니다. |
HttpVersion | 선택 사항 | 문자열 | HTTP 요청 버전. 예: 2.0 |
HttpRequestMethod | 권장 | Enumerated | HTTP 메서드입니다. 값은 RFC 7231 및 RFC 5789에 정의되어 있으며 GET , HEAD , POST , PUT , DELETE , CONNECT , OPTIONS , TRACE 및 PATCH 를 포함합니다.예: GET |
HttpStatusCode | 별칭 | HTTP 상태 코드입니다. EventResultDetails에 대한 별칭입니다. | |
HttpContentType | 선택 사항 | 문자열 | HTTP 응답 콘텐츠 형식 헤더입니다. 참고: HttpContentType 필드에는 실제 형식을 가져오는 데 사용되는 인코딩과 같은 추가 매개 변수와 콘텐츠 형식이 모두 포함될 수 있습니다. 예: text/html; charset=ISO-8859-4 |
HttpContentFormat | 선택 사항 | 문자열 | HttpContentType의 콘텐츠 형식 부분 예: text/html |
HttpReferrer | 선택 사항 | 문자열 | HTTP 참조 페이지 헤더입니다. 참고: ASIM은 OSSEM과 동기화되어 원래 HTTP 헤더 맞춤법이 아닌 referrer에 올바른 맞춤법을 사용합니다. 예: https://developer.mozilla.org/docs |
HttpUserAgent | 선택 사항 | 문자열 | HTTP 사용자 에이전트 헤더입니다. 예시: Mozilla/5.0 (Windows NT 10.0; WOW64)AppleWebKit/537.36 (Gecko와 같은 KHTML)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 | 선택 사항 | 문자열 | HTTP 요청이 대상으로 지정한 가상 웹 서버입니다. 이 값은 일반적으로 HTTP 호스트 헤더를 기반으로합니다. |
FileName | 선택 사항 | 문자열 | HTTP 업로드의 경우 업로드된 파일의 이름입니다. |
FileMD5 | 선택 사항 | MD5 | HTTP 업로드의 경우 업로드된 파일의 MD5 해시입니다. 예: 75a599802f1fa166cdadb360960b1dd0 |
FileSHA1 | 선택 사항 | SHA1 | HTTP 업로드의 경우 업로드된 파일의 SHA1 해시입니다. 예시: d55c5a4df19b46db8c54 c801c4665d3338acdab0 |
FileSHA256 | 선택 사항 | SHA256 | HTTP 업로드의 경우 업로드된 파일의 SHA256 해시입니다. 예시: e81bb824c4a09a811af17deae22f22dd 2e1ec8cbb00b22629d2899f7c68da274 |
FileSHA512 | 선택 사항 | SHA512 | HTTP 업로드의 경우 업로드된 파일의 SHA512 해시입니다. |
해시 | 별칭 | 사용 가능한 해시 필드에 대한 별칭입니다. | |
FileHashType | 선택 사항 | Enumerated | 해시 필드의 해시 형식입니다. 가능한 값은 MD5 , SHA1 , SHA256 및 SHA512 입니다. |
FileSize | 선택 사항 | Long | HTTP 업로드의 경우 업로드된 파일의 크기(바이트)입니다. |
FileContentType | 선택 사항 | 문자열 | HTTP 업로드의 경우 업로드된 파일의 콘텐츠 형식입니다. |
기타 필드
이벤트가 웹 세션의 엔드포인트 중 하나에서 보고되면 세션을 시작하거나 종료한 프로세스에 대한 정보가 포함될 수 있습니다. 이러한 경우 ASIM 프로세스 이벤트 스키마가 이 정보를 정규화합니다.
스키마 업데이트
웹 세션 스키마는 네트워크 세션 스키마에 의존합니다. 따라서 네트워크 세션 스키마 업데이트는 웹 세션 스키마에도 적용됩니다.
다음은 스키마 버전 0.2.5의 변경 내용입니다.
HttpHost
필드를 추가했습니다.
다음은 스키마 버전 0.2.6의 변경 내용입니다.
- FileSize 형식이 Integer에서 Long으로 변경되었습니다.
다음 단계
자세한 내용은 다음을 참조하세요.