2024년 5월 28일 화요일

엘라스틱 Runtime field - 9th

윈도우 4656 이벤트의 권한 요청 내역.


스플렁크는 첫 번째 요청 권한만을 별도 필드값으로 추출한다. 제일 중요한 정보라고 판단하는 건가? 


엘라스틱은 전체 내역을 별도 필드로 추출한다.


첫 번째 요청 권한만 따로 추출해보자. ingest pipeline을 이용해서 첫 번째 배열값 추출.
POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "processors": [
      {
        "script": {
          "source": """
          ctx.put('target_access', ctx.message[0]);
          """
        }
      }
    ]
  },
  "docs": [
    {
      "_source": {
        "message": ["DELETE", "READ_CONTROL", "Query key value", "Set key value", "Create sub-key", "Enumerate sub-keys", "Notify about changes to keys"]  
      }
    }
  ]
}
{
  "docs": [
    {
      "doc": {
        "_index": "_index",
        "_version": "-3",
        "_id": "_id",
        "_source": {
          "message": [
            "DELETE",
            "READ_CONTROL",
            "Query key value",
            "Set key value",
            "Create sub-key",
            "Enumerate sub-keys",
            "Notify about changes to keys"
          ],
          "target_access": "DELETE"
        },
        "_ingest": {
          "timestamp": "2024-05-28T12:12:53.6007524Z"
        }
      }
    }
  ]
}


ingest pipeline은 문제 없음. 그런데 런타임 필드는 배열 데이터에 접근하지 못한다.


특이한 건 전체 데이터에 접근하면 배열된 데이터 중 하나만 불러온다. 애초에 데이터를 하나만 불러오니 배열 인덱스를 인식하자 못하는 듯. 뭐가 문제지?


댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스