> For the complete documentation index, see [llms.txt](https://docs.plura.io/ko/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plura.io/ko/v6/fn/comm/search.md).

# 검색기능

{% hint style="info" %}
**로그 검색 도움말 및 방법**

각 페이지 우측 상단의 `[도움말]`을 클릭하면 해당 로그의 상세 필드 구성을 확인할 수 있습니다.

문자열과 숫자를 사용하여 다양한 방식으로 검색이 가능합니다.
{% endhint %}

### 1. 개요

* PLURA의 **검색 기능**은 웹방화벽, 호스트보안, 상관분석 등 모든 로그 페이지에서 공통으로 사용할 수 있는 통합 검색 시스템입니다.
* Solr 기반의 검색엔진을 사용하며, 사용자가 원하는 로그를 신속하고 정확하게 조회할 수 있습니다.

***

### 2. 검색 영역 구성

#### ▪ 검색 입력창

* **돋보기(🔍) 클릭 시 검색 실행**

<figure><img src="https://3207796176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fna9RRdnPjbRdAlosxaSV%2Fuploads%2FIiY6G33sI6kf6xPx5EE3%2F20251112_093801.png?alt=media&amp;token=c1556154-91f5-475a-8e6e-81f0eaa1fbc2" alt=""><figcaption></figcaption></figure>

***

### 3. 검색 레이어 구조

* 검색창 클릭 시 레이어가 열립니다.

| 탭          | 설명                                                                                                                                                 |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **키(Key)** | <p>각 로그 서비스(웹방화벽/호스트보안 등)에 따라 상이한 검색 키 목록을 제공합니다. </p><p>예: <code>HostIP</code>, <code>URI</code>, <code>Status</code>, <code>UserAgent</code></p> |

<figure><img src="https://3207796176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fna9RRdnPjbRdAlosxaSV%2Fuploads%2FBY4c3bTcJSfdwm6kzJIT%2F20251112_093930.png?alt=media&amp;token=cac3664f-4c6e-4ca1-8117-8196ec12957c" alt=""><figcaption></figcaption></figure>

***

### 4. 검색식 작성 가이드&#x20;

* 검색은 **Solr Query 문법**을 기반으로 하며, 기본 키와 연산자를 조합해 작성합니다.

| 유형     | 예시                         | 설명                                             |
| ------ | -------------------------- | ---------------------------------------------- |
| 전체검색   | `*:검색어`                    | 모든 필드에서 ‘검색어’가 포함된 로그 검색                       |
| 일치검색   | `key:검색어`                  | 지정한 키에서 정확히 일치하는 로그 검색                         |
| 포함검색   | `key:*검색어*`                | 지정 키의 일부 일치 검색                                 |
| 불포함검색  | `-key:검색어` 또는 `-key:*검색어*` | 해당 키에 특정 문자열이 포함되지 않은 로그 검색                    |
| AND 조건 | `key1:값1 AND key2:값2`      | 두 조건 모두 만족하는 로그 검색                             |
| OR 조건  | `key1:값1 OR key2:값2`       | 두 조건 중 하나 이상 만족하는 로그 검색                        |
| 범위검색   | `key:[시작값 TO 종료값]`         | 대괄호 `[ ]`를 사용하면 시작값과 종료값을 포함(이상/이하)하는 검색이 됩니다. |

* 예시

```
(Path:/wordpress/ AND HostIP:172.16.12.126) OR 필터명:+로그인
```

→ `/wordpress` 경로에서 `172.16.12.126` IP의 접근 중 “로그인” 필터가 포함된 로그 검색

***

### 5. 검색 결과 영역

| 항목            | 설명                                         |
| ------------- | ------------------------------------------ |
| **결과 수 표시**   | 상단에 “총 N건의 검색결과가 있습니다.” 문구와 함께 출력          |
| **정렬 옵션**     | “날짜순 / 최신순 / 상태값순” 등 정렬 기준 선택 가능           |
| **상세 검색 아이콘** | 상세검색 아이콘 클릭 시 ‘상세검색 레이어’가 열려 다중 조건으로 검색 가능 |

> &#x20;“검색결과 없음” 또는 “검색식 오류” 시에는\
> 각각 “검색 결과가 없습니다.” / “검색 방법을 확인해 주세요.” 문구가 표시됩니다.

***

### 6. 상세 검색&#x20;

* 검색창 우측의 **상세검색 아이콘** 클릭 시 레이어가 열립니다.
* 복수의 필드를 체크박스로 선택하고, 조건을 직접 입력하여 정밀 검색 수행.
* 조건식은 AND 기준으로 결합되며, “초기화 / 적용 / 닫기” 버튼으로 제어합니다.

<figure><img src="https://3207796176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fna9RRdnPjbRdAlosxaSV%2Fuploads%2FUEajPDG2COPNILVNqnsU%2F20251112_094319.png?alt=media&amp;token=c76afd70-23a2-4f98-ae03-01804b40d79e" alt=""><figcaption></figcaption></figure>

***

### 7. 사용 예시

**✅ 기본 검색**

```
URI:/admin AND Status:403
```

→ `/admin` 접근 중 403 오류 발생 로그 검색

**✅ 포함 검색**

```
UserAgent:*curl*
```

→ curl을 이용한 요청 탐지

**✅ 복합 조건 검색**

```
HostIP:(172.16.12.126 OR 172.16.12.127) AND Path:/wordpress/
```

→ 특정 IP 2개에서 `/wordpress` 접근한 로그 검색

**✅ 범위 검색**

```
CPU: [0 TO 50]
```

→ CPU 사용량이 0%에서 50% 사이인 경우 (0% 이상 50% 이하)

**✅ CreateDate 검색**

날짜 검색은 ISO-8601 표준 형식을 따르며, CreateDate:\[시작시간 TO 종료시간] 형태의 범위 검색이 가장 정확합니다.

**⚠️ 중요: UTC(협정 세계시) 기준 검색**\
PLURA의 모든 시간 값은 UTC(협정 세계시)를 기준으로 저장되고 검색됩니다. 한국 시간(KST)은 UTC보다 9시간 빠르므로, CreateDate 쿼리로 검색 시 이를 반드시 고려해야 합니다.\
PLURA UI를 통해 검색하는 경우에는 해당 국가의 시간대로 검색됩니다.\
아래의 설명은 쿼리문 검색에 대한 안내입니다.<br>

**1. 시간 변환 예시 (한국 시간 ↔ UTC)**

실제 한국 시간으로 2026년 5월 1일 00시의 로그를 찾으려면, 쿼리에는 9시간을 뺀 2026년 4월 30일 15시로 입력해야 합니다.

| **구분** | **한국 시간 (KST, Local)** | **검색 입력 시간 (UTC, Z)** |
| ------ | ---------------------- | --------------------- |
| 시작 시점  | 2026-05-01 00:00:00    | 2026-04-30T15:00:00Z  |
| 종료 시점  | 2026-05-01 23:59:59    | 2026-05-01T14:59:59Z  |

**2. 특정 일자 검색 예시 (한국 시간 5월 1일 하루 전체)**

* 쿼리: `CreateDate:[2026-04-30T15:00:00Z TO 2026-05-01T14:59:59Z]`
* 설명: 한국 시간 기준으로 5월 1일 00:00:00 \~ 23:59:59 사이의 데이터를 정확히 추출합니다.

**3. 상대적 날짜 검색 (Date Math)**

현재 시간(`NOW`)을 기준으로 연산을 사용할 때도 시스템 내부적으로 UTC 기준의 '오늘(DAY)'이나 '시간(HOUR)'을 계산합니다.

* 오늘 (UTC 0시 \~ 현재): `CreateDate:[NOW/DAY TO NOW]`
  * *주의: 한국 시간으로는 오전 9시부터 현재까지의 로그가 조회됩니다.*
* 최근 1시간: `CreateDate:[NOW-1HOUR TO NOW]`

**⚠️ 주의사항 (필독)**

1. Z 표기법: 시간 뒤의 `Z`는 UTC를 의미하며, 필수 입력 사항입니다. 생략 시 검색 결과가 나오지 않거나 에러가 발생할 수 있습니다.
2. 대문자 연산자: 범위 지정 시 `TO`, `AND`, `OR` 등은 반드시 대문자로 입력해야 합니다.
3. 날짜 형식: `YYYY-MM-DDTHH:mm:ssZ` 형식을 엄격히 준수해야 합니다. (예: `2026-05-01T00:00:00Z`)

**✅ 위험도(RiskLevel) 검색**

```
RiskLevel: 5 
```

→ 위험도 최상(5)인 로그만 검색

| **위험도**       | **검색 값** | **비고**         |
| ------------- | -------- | -------------- |
| 최상 (CRITICAL) | `5`      | 즉각 대응이 필요한 위협  |
| 상 (HIGH)      | `4`      | 공격 시도가 명확한 이벤트 |
| 중 (MEDIUM)    | `3`      | 이상 징후 또는 주의 수준 |
| 하 (LOW)       | `2`      | 일반적인 보안 탐지     |

***

### 8. Solr 로그 검색 가이드 <a href="#id-8" id="id-8"></a>

PLURA 시스템에 수집된 로그는 Solr 검색 엔진을 통해 강력한 조건별 검색이 가능합니다. \
각 로그 유형별(Windows, Linux, Web) 주요 검색 필드와 활용 방법을 안내합니다.

#### 8-1. 호스트보안 (Windows Event Log) <a href="#id-8-1" id="id-8-1"></a>

Windows 서버에서 발생하는 수많은 이벤트 로그 중에서 내가 원하는 정보를 '족집게'처럼 찾아내는 방법을 안내합니다. PLURA의 검색 시스템은 복잡한 로그를 의미 있는 단어 단위로 쪼개어 기억하므로, 포털 사이트에서 검색하듯 편리하게 사용할 수 있습니다.

8-1-1. 검색의 기본 원리: "단어 조각으로 찾기"

시스템은 긴 문장이나 파일 경로를 의미 있는 단위(Token)로 쪼개어 저장합니다.

* 예시: `C:\Windows\System32\LogonUI.exe`
* 위 경로가 저장될 때 시스템은 `C`, `Windows`, `System32`, `LogonUI`, `exe`로 각각 나누어 기억합니다.
* 활용: 전체 경로를 다 입력할 필요 없이 LogonUI라는 단어 하나만으로도 해당 로그를 검색할 수 있습니다.

8-1-2. 검색을 쉽게 만드는 3가지 핵심 규칙

| **규칙**     | **설명**                            | **예시**                                        |
| ---------- | --------------------------------- | --------------------------------------------- |
| 대소문자 무관    | 대문자와 소문자를 구분하지 않고 똑똑하게 검색합니다.     | `Error`, `error`, `ERROR` 모두 동일 결과            |
| 결합 단어 분리   | 붙어 있는 단어나 숫자도 각각 분리해서 검색이 가능합니다.  | `NetworkLogon` → `Network` 또는 `Logon`으로 검색 가능 |
| 구문 검색(" ") | 단어들이 순서대로 배치된 정확한 문장을 찾을 때 사용합니다. | `"User Login Failed"` (해당 문구 전체 일치)           |

8-1-3. 상황별 검색 예시 (꿀팁)

Windows 로그 분석 시 자주 사용하는 검색 패턴입니다.

* 특정 에러 코드 찾기: 오류 번호를 그대로 입력합니다.
  * 예: `0x80070005`
* 특정 프로그램 활동 추적: 실행 파일명이나 확장자를 입력합니다.
  * 예: `powershell.exe` 또는 `LogonUI`
* 불필요한 정보 제외: 로그에 포함된 `<HTML>` 태그 등은 시스템이 자동으로 무시하므로, 실제 텍스트 내용만 입력하면 됩니다.

#### 8-2. 호스트보안 (Linux syslog / auditlog) <a href="#id-8-2" id="id-8-2"></a>

Linux 시스템의 커널, 인증, 명령 실행 기록을 담고 있는 syslog와 auditlog는 보안 관제의 핵심 데이터입니다. PLURA는 로그 본문(`message`) 내의 주요 보안 식별자를 자동으로 추출하여 복잡한 파싱 없이도 즉시 검색할 수 있는 기능을 제공합니다.

8-2-1. 보안 핵심 요소별 검색 (객체 기반 검색)

로그 내에 포함된 IP, URL, 파일 경로 등은 자동으로 인덱싱됩니다. 다음 키워드 패턴을 활용하여 조사를 가속화하세요.

| **분석 대상**    | **검색 키워드 패턴**                | **관제 활용 예시**                      |
| ------------ | ---------------------------- | --------------------------------- |
| 외부 통신        | `https://` 또는 `domain.com`   | 악성 URL 접속 및 피싱 사이트 연결 확인          |
| 공격자/내부 IP    | `192.168.1.100`              | 특정 IP의 수평 이동(Lateral Movement) 추적 |
| 민감 파일 접근     | `/etc/shadow` 또는 `/bin/bash` | 권한 상승 및 주요 설정 변경 탐지               |
| 관리자 계정       | `admin@company.com`          | 계정 탈취 의심 시 특정 사용자 활동 전수 조사        |
| Linux 감사 이벤트 | `audit(167253...:456)`       | 특정 Audit ID 기반 연관 시스템 호출 추적       |

8-2-2. 침해 사고 대응을 위한 실전 쿼리 조합

단일 키워드 검색보다 여러 조건을 조합하면 탐지 정밀도를 높일 수 있습니다.

* 비정상적인 권한 획득 시도 탐지
  * 쿼리: `type=USER_AUTH AND res=failed`
  * 분석 포인트: 반복적인 실패 로그는 무작위 대입 공격(Brute Force)의 신호일 수 있습니다.
* 공유 디렉토리 내 실행 파일 감시
  * 쿼리: `/tmp/ AND "type=EXECVE"`
  * 분석 포인트: `/tmp`와 같이 누구나 쓰기가 가능한 디렉토리에서 실행 파일이 작동하는지 확인합니다.
* 특정 IP의 전체 행위 조사(Timeline)
  * 쿼리: `10.50.10.5`
  * 분석 포인트: 해당 IP가 출발지, 목적지, 메시지 본문 어디에 있든 모든 행위를 시간대별로 재구성합니다.

8-2-3. \[msgAnalysis] 필드의 작동 원리

PLURA의 검색은 단순한 텍스트 매칭이 아닌, 보안에 유의미한 데이터를 '태그'화하여 관리합니다.

1. 자동 인덱싱: 별도의 파싱 규칙 설정 없이도 IP, URL 등이 즉시 검색 가능한 상태가 됩니다.
2. 대소문자 무관: 공격자가 탐지를 피하기 위해 `SUCCESS`를 `suCCess`로 기록하더라도 동일하게 `success`로 인식하여 검색합니다.
3. 유연한 경로 분리: `/var/log/secure`를 검색할 때 전체 경로는 물론, `secure`라는 단어만으로도 관련 로그를 신속하게 필터링할 수 있습니다.

#### 8-3. 웹로그 (Full log) <a href="#id-8-3" id="id-8-3"></a>

FullLog 검색은 수집된 웹 로그의 모든 필드(요청 헤더, 바디, URI, IP 등)를 하나의 데이터셋으로 통합하여 검색하는 기능입니다. 공격 흔적이 어느 필드에 남았는지 불분명할 때 전수 조사를 위한 가장 강력한 도구입니다.

8-3-1. FullLog 검색의 특징

* 노이즈 자동 제거: 로그 원문에 포함된 JSON 기호(`{ } [ ] " ,`)를 자동으로 제거하여 순수 텍스트와 값 위주로 빠르게 검색합니다.
* 특수 형식 보존: 공격 분석의 핵심인 URL, 이메일, IP 주소는 의미가 깨지지 않도록 통째로 보관하여 검색 정확도를 높였습니다.
* 통합 검색 지원: 도메인 이름만 입력해도 URL 전체가 포함된 로그를 포함하여 연관된 모든 기록을 찾아냅니다.

8-3-2. 관제 시나리오별 실전 검색 예시

보안 사고 의심 시 검색창에 `FullLog:키워드` 형태로 입력하여 조사를 시작하세요.

| **분석 시나리오** | **검색 쿼리 예시**                         | **탐지 의도**                           |
| ----------- | ------------------------------------ | ----------------------------------- |
| 커맨드 인젝션     | `FullLog:curl` 또는 `FullLog:shell.sh` | 요청 바디나 URL에 포함된 원격 쉘 실행 명령어 추적      |
| 특정 IP 전수 조사 | `FullLog:218.39.176.237`             | X-Forwarded-For 등 헤더 속에 숨겨진 IP까지 탐지 |
| 취약점 스캐닝     | `FullLog:cgi-bin`                    | 관리자 페이지나 알려진 취약 경로를 훑고 간 흔적 탐지      |
| 공격 도구 추적    | `FullLog:curl/7.76.1`                | 특정 User-Agent를 사용하는 공격 도구 활동 파악     |
| 정교한 페이로드    | `FullLog:"http://malicious.com"`     | 특정 악성 도메인이 포함된 모든 웹 요청 확인           |

8-3-3. 분석 효율을 높이는 고급 검색 팁

* 대소문자 및 결합 단어 검색
  * 시스템이 대소문자를 구분하지 않으며, 숫자와 문자가 섞인 토큰도 영리하게 처리합니다.
  * 예: `WAF/6.1.1` 검색 시 `waf`나 `6.1.1` 부분 키워드만으로도 탐지가 가능합니다.
* URL 및 복잡한 경로 검색
  * URL 전용 분석 알고리즘이 적용되어 복잡한 주소도 깨지지 않고 검색됩니다.
  * Tip: 경로 중간에 특수문자가 너무 많아 검색이 안 될 때는 핵심 파일명(예: `shell.sh`)만 입력하는 것이 더 빠르고 정확합니다.
* 구문 검색(Phrase Query) 활용
  * 공격자가 보낸 특정 JSON 구조나 문구를 정확히 찾으려면 큰따옴표(`" "`)를 사용하세요.
  * 예: `FullLog:"operation write"`
  * 중간에 JSON 기호가 있어도 시스템이 내부적으로 공백 처리하여 인덱싱하므로, 단어 순서만 맞으면 정확히 검색됩니다.
* 국가별 검색 활용
  * 공격자의 IP주소를 국가 코드로 검색할 수 있습니다.&#x20;
  * 예: `countryIsoCode:US`
