# Auditd 로그

## 개요

Panther는 수집을 지원합니다 [auditd](https://sematext.com/glossary/auditd/) Linux Audit Daemon이 생성한 로그를 스트리밍하여 [HTTP 소스](/ko/data-onboarding/data-transports/http.md)로 전달한 후, [Fluent Bit.](https://docs.fluentbit.io/manual/)

## Panther에 auditd 감사 로그를 온보딩하는 방법

### 1단계: Panther에 새 auditd 로그 소스 생성

1. Panther Console의 왼쪽 탐색 표시줄에서 **구성** > **Log Sources.**
2. 다음을 클릭하세요. **새로 만들기**.
3. "Auditd"를 검색한 다음 해당 타일을 클릭합니다.
   * 슬라이드아웃 패널에서 **전송 메커니즘** 오른쪽 상단의 드롭다운이 다음 값으로 미리 채워집니다. **HTTP** 옵션.
4. 다음을 클릭하세요. **설정 시작**.
5. Panther의 [HTTP Source 구성 지침을 따라](/ko/data-onboarding/data-transports/http.md#how-to-set-up-an-http-log-source-in-panther)5단계부터 시작합니다.
   * 소스의 **Auth method** 를 설정할 때는 다음 사용을 권장합니다. [**Shared Secret**](/ko/data-onboarding/data-transports/http.md#shared-secret).
   * 이 소스로 전송된 페이로드는 다음의 적용을 받습니다. [모든 HTTP 소스에 대한 페이로드 요구 사항](/ko/data-onboarding/data-transports/http.md#payload-requirements).
   * HTTP 엔드포인트 생성이 완료될 때까지 다음 단계로 진행하지 마세요.

### 2단계: Fluent Bit 구성

1. 다음을 따르세요. [Fluent Bit 시작하기 안내](https://docs.fluentbit.io/manual/installation/getting-started-with-fluent-bit) 를 사용하여 Fluent Bit를 서비스로 설치합니다.
2. 새 [Fluent Bit 구성 파일](https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/classic-mode/configuration-file).

   * `[INPUT]` 변수:
     * **Name:** 다음을 `tail` 및
     * **Path**로 설정: 로그 파일 경로로 설정합니다.
   * `[OUTPUT]` 변수:
     * **호스트**로 설정: Panther URL을 입력합니다.
       * 예시: `logs.instance-name.runpanther.net`
     * **URI**로 설정: HTTP Source 수집 URL의 끝부분을 입력합니다(이 절차의 1단계에서 생성됨). 시작 부분은 `/http/`.
       * 예시: `/http/cb015ee4-543c-4489-9f4b-testaa16d7a`
     * **Header**로 설정: 1단계에서 Panther Console의 HTTP 소스를 구성할 때 만든 헤더 이름과 생성한 시크릿을 입력합니다.
     * **이름**: 다음으로 설정 `http`.
     * **TLS**: 다음으로 설정 `ON`.
     * **포트**: 다음으로 설정 `443`.

   ```editorconfig
   [SERVICE]
       Flush      1

   [INPUT]
       Name       tail
       Path       /var/log/audit/audit.log

   [OUTPUT]
       Name       http
       Match      *
       Host       logs.instance-name.runpanther.net
       Port       443
       URI        /http/cb015ee4-543c-4489-9f4b-testaa16d7a
       Header     x-sender-header {YOUR_SECRET_HERE}
       Format     json_lines
       TLS        On
       TLS.Verify On
   ```
3. 새 구성 파일 경로를 전달하여 Fluent Bit를 시작합니다.

## 지원되는 로그 유형

### Linux.Auditd

다음은 Linux 감사 로그 스키마를 정의합니다:

```yaml
schema: Linux.Auditd
description: Linux 감사 로그
referenceURL: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-understanding_audit_log_files
fields:
  - 이름: type
    required: true
    description: 감사 레코드 유형. 전체 목록은 https://access.redhat.com/articles/4409591#audit-record-types-2 를 참조하세요
    type: string
  - name: a0
    description: 시스템 호출의 첫 번째 인수를 16진수 표기법으로 기록합니다.
    type: string
  - name: a1
    description: 시스템 호출의 두 번째 인수를 16진수 표기법으로 기록합니다.
    type: string
  - name: a2
    description: 시스템 호출의 세 번째 인수를 16진수 표기법으로 기록합니다.
    type: string
  - name: a3
    description: 시스템 호출의 네 번째 인수를 16진수 표기법으로 기록합니다.
    type: string
  - name: acct
    description: 프로세스가 실행된 사용자 계정 이름을 기록합니다.
    type: string
  - 이름: action
    description: 무결성 정책 룰에서 발생한 작업을 기록합니다.
    type: string
  - name: appraise_type
    description: 무결성 정책 룰에서 사용된 평가 유형을 기록합니다.
    type: string
  - name: addr
    description: IPv4 또는 IPv6 주소를 기록합니다. 이 필드는 일반적으로 호스트 이름 필드 뒤에 오며, 호스트 이름이 해석되는 주소를 포함합니다.
    type: string
    indicators:
      - ip
  - name: arch
    description: 시스템의 CPU 아키텍처 정보를 16진수 표기법으로 기록합니다.
    type: string
  - name: calipso_doi
    description: RFC5570 Calipso 항목의 DOI를 기록합니다.
    type: string
  - name: calipso_type
    description: RFC5570 Calipso 항목의 유형을 기록합니다.
    type: string
  - name: capability
    description: 특정 Linux capability를 설정하는 데 사용된 비트 수를 기록합니다. Linux capability에 대한 자세한 내용은 capabilities(7) man page를 참조하세요.
    type: string
  - name: cap_fe
    description: 효과적인 파일 시스템 기반 capability 비트 설정과 관련된 데이터를 기록합니다.
    type: string
  - name: cap_fi
    description: 상속된 파일 시스템 기반 capability 설정과 관련된 데이터를 기록합니다.
    type: string
  - name: cap_fp
    description: 허용된 파일 시스템 기반 capability 설정과 관련된 데이터를 기록합니다.
    type: string
  - name: cap_fver
    description: 파일 시스템 기반 capability의 버전을 기록합니다.
    type: string
  - name: cap_pe
    description: 효과적인 프로세스 기반 capability 설정과 관련된 데이터를 기록합니다.
    type: string
  - name: cap_pi
    description: 상속된 프로세스 기반 capability 설정과 관련된 데이터를 기록합니다.
    type: string
  - name: cap_pp
    description: 허용된 프로세스 기반 capability 설정과 관련된 데이터를 기록합니다.
    type: string
  - name: cause
    description: 무결성 정책 룰의 원인을 기록합니다.
    type: string
  - name: cgroup
    description: Audit 이벤트가 생성될 당시 프로세스가 포함된 cgroup의 경로를 기록합니다.
    type: string
  - name: cmd
    description: 실행된 전체 명령줄을 기록합니다. 이는 exe 필드가 예를 들어 /bin/bash를 셸 인터프리터로 기록하고 cmd 필드가 실행된 명령줄의 나머지 부분(예: helloworld.sh --help)을 기록하는 셸 인터프리터의 경우에 유용합니다.
    type: string
  - name: code
    description: seccomp 작업을 기록합니다.
    type: string
  - name: comm
    description: 실행된 명령을 기록합니다. 이는 exe 필드가 예를 들어 /bin/bash를 셸 인터프리터로 기록하고 comm 필드가 실행된 스크립트 이름(예: helloworld.sh)을 기록하는 셸 인터프리터의 경우에 유용합니다.
    type: string
  - name: compat
    description: seccomp 작업에서 syscall 호환성 모드를 기록합니다.
    type: string
  - name: cwd
    description: 시스템 호출이 호출된 디렉터리의 경로를 기록합니다.
    type: string
  - name: data
    description: TTY 레코드와 관련된 데이터를 기록합니다.
    type: string
  - name: dev
    description: 이벤트에 기록된 파일 또는 디렉터리를 포함하는 장치의 소수 및 주 ID를 기록합니다.
    type: string
  - name: devmajor
    description: 주 장치 ID를 기록합니다.
    type: string
  - name: devminor
    description: 소수 장치 ID를 기록합니다.
    type: string
  - name: exe
    description: 분석된 프로세스를 호출하는 데 사용된 실행 파일의 경로를 기록합니다.
    type: string
  - name: exit
    description: '시스템 호출이 반환한 종료 코드를 기록합니다. 이 값은 시스템 호출에 따라 다릅니다. 다음 명령으로 이 값을 사람이 읽을 수 있는 값으로 해석할 수 있습니다: ausearch --interpret --exit exit_code'
    type: string
  - name: family
    description: 사용된 주소 프로토콜 유형을 기록합니다. IPv4 또는 IPv6입니다.
    type: string
  - name: feature
    description: 설정되거나 해제되는 감사 기능을 기록합니다.
    type: string
  - name: file
    description: 무결성 측정에 관련된 파일을 기록합니다.
    type: string
  - name: filetype
    description: 파일 유형을 기록합니다.
    type: string
  - name: flags
    description: 파일 시스템 이름 플래그를 기록합니다.
    type: string
  - name: fowner
    description: 무결성 정책 룰에서 사용된 파일 소유자를 기록합니다.
    type: string
  - name: fsgid
    description: 분석된 프로세스를 시작한 사용자의 파일 시스템 그룹 ID를 기록합니다.
    type: string
  - name: fsmagic
    description: 무결성 정책 룰에서 사용된 filesystem magic을 기록합니다.
    type: string
  - name: fsuuid
    description: 무결성 정책 룰에서 사용된 fsuuid를 기록합니다.
    type: string
  - name: fsuid
    description: 분석된 프로세스를 시작한 사용자의 파일 시스템 사용자 ID를 기록합니다.
    type: string
  - name: func
    description: 무결성 정책 룰에 관련된 함수를 기록합니다.
    type: string
  - name: hash
    description: 무결성 측정에 관련된 파일의 해시를 기록합니다.
    type: string
  - 이름: hostname
    description: 호스트 이름을 기록합니다.
    type: string
    indicators:
      - hostname
  - name: icmptype
    description: 수신된 Internet Control Message Protocol(ICMP) 패키지의 유형을 기록합니다. 이 필드를 포함하는 감사 메시지는 일반적으로 iptables에 의해 생성됩니다.
    type: string
  - name: id
    description: 변경된 계정의 사용자 ID를 기록합니다.
    type: string
  - name: inode
    description: Audit 이벤트에 기록된 파일 또는 디렉터리와 연결된 inode 번호를 기록합니다.
    type: string
  - name: inode_gid
    description: inode 소유자의 그룹 ID를 기록합니다.
    type: string
  - name: inode_uid
    description: inode 소유자의 사용자 ID를 기록합니다.
    type: string
  - name: ip
    description: seccomp 작업의 instruction pointer를 기록합니다.
    type: string
    indicators:
      - ip
  - name: items
    description: 이 레코드에 연결된 경로 레코드 수를 기록합니다.
    type: string
  - name: key
    description: Audit 로그에서 특정 이벤트를 생성한 룰과 관련된 사용자 정의 문자열을 기록합니다.
    type: string
  - name: list
    description: 'Audit 룰 목록 ID를 기록합니다. 알려진 ID 목록은 다음과 같습니다: 0 — user, 1 — task, 4 — exit, 5 — exclude'
    type: string
  - name: mode
    description: 파일 또는 디렉터리 권한을 숫자 표기법으로 기록합니다.
    type: string
  - name: msgtype
    description: 사용자 기반 AVC 거부의 경우 반환되는 메시지 유형을 기록합니다. 메시지 유형은 D-Bus에 의해 결정됩니다.
    type: string
  - name: name
    description: 시스템 호출에 인수로 전달된 파일 또는 디렉터리의 전체 경로를 기록합니다.
    type: string
  - name: new-disk
    description: 가상 머신에 할당된 새 디스크 리소스의 이름을 기록합니다.
    type: string
  - name: new-mem
    description: 가상 머신에 할당된 새 메모리 리소스의 양을 기록합니다.
    type: string
  - name: new-vcpu
    description: 가상 머신에 할당된 새 가상 CPU 리소스의 수를 기록합니다.
    type: string
  - name: new-net
    description: 가상 머신에 할당된 새 네트워크 인터페이스 리소스의 MAC 주소를 기록합니다.
    type: string
  - name: new_gid
    description: 사용자에게 할당된 그룹 ID를 기록합니다.
    type: string
  - name: new_lock
    description: 감사 기능에 설정되는 잠금의 새 값을 기록합니다.
    type: string
  - name: nsec
    description: 시스템 시계가 이동한 나노초 수를 기록합니다.
    type: string
  - name: ocomm
    description: 대상 프로세스를 시작하는 데 사용된 명령을 기록합니다. 이 필드는 OBJ_PID 유형 레코드에만 해당합니다.
    type: string
  - name: old_lock
    description: 감사 기능에 설정되는 잠금의 이전 값을 기록합니다.
    type: string
  - name: oses
    description: 대상 프로세스의 세션 ID를 기록합니다. 이 필드는 OBJ_PID 유형 레코드에만 해당합니다.
    type: string
  - name: obj
    description: 객체의 SELinux 컨텍스트를 기록합니다. 객체는 파일, 디렉터리, 소켓 또는 주체의 동작을 받는 모든 것이 될 수 있습니다.
    type: string
  - name: objtype
    description: syscall 컨텍스트에서 PATH 레코드 객체의 의도를 기록합니다.
    type: string
  - name: obj_gid
    description: 객체의 그룹 ID를 기록합니다.
    type: string
  - name: obj_lev_high
    description: 객체의 높은 SELinux 레벨을 기록합니다.
    type: string
  - name: obj_lev_low
    description: 객체의 낮은 SELinux 레벨을 기록합니다.
    type: string
  - name: obj_role
    description: 객체의 SELinux 역할을 기록합니다.
    type: string
  - name: obj_type
    description: 객체의 유형을 기록합니다.
    type: string
  - name: obj_uid
    description: 객체의 UID를 기록합니다
    type: string
  - name: obj_user
    description: 객체와 관련된 사용자를 기록합니다.
    type: string
  - name: old-disk
    description: 새 디스크 리소스가 가상 머신에 할당될 때 기존 디스크 리소스의 이름을 기록합니다.
    type: string
  - name: old-mem
    description: 새 메모리 양이 가상 머신에 할당될 때 기존 메모리 리소스의 양을 기록합니다.
    type: string
  - name: old-vcpu
    description: 새 가상 CPU가 가상 머신에 할당될 때 기존 가상 CPU 리소스의 수를 기록합니다.
    type: string
  - name: old-net
    description: 새 네트워크 인터페이스가 가상 머신에 할당될 때 기존 네트워크 인터페이스 리소스의 MAC 주소를 기록합니다.
    type: string
  - name: old_prom
    description: 네트워크 promiscuity 플래그의 이전 값을 기록합니다.
    type: string
  - name: path
    description: AVC 관련 Audit 이벤트의 경우 시스템 호출에 인수로 전달된 파일 또는 디렉터리의 전체 경로를 기록합니다
    type: string
  - name: perm
    description: 이벤트를 생성하는 데 사용된 파일 권한을 기록합니다(즉, 읽기, 쓰기, 실행 또는 속성 변경)
    type: string
  - name: ppid
    description: 부모 프로세스 ID(PID)를 기록합니다.
    type: string
  - name: proctitle
    description: 분석된 프로세스를 호출하는 데 사용된 명령의 전체 명령줄을 기록합니다. 이 필드는 사용자가 Audit 로그 파서에 영향을 주지 못하도록 16진수 표기법으로 인코딩됩니다. 텍스트는 이 Audit 이벤트를 트리거한 명령으로 디코딩됩니다. ausearch 명령으로 Audit 레코드를 검색할 때는 -i 또는 --interpret 옵션을 사용하여 16진수 값을 자동으로 사람이 읽을 수 있는 값으로 변환하세요.
    type: string
  - name: prom
    description: 네트워크 promiscuity 플래그를 기록합니다.
    type: string
  - name: proto
    description: 사용된 네트워킹 프로토콜을 기록합니다. 이 필드는 iptables에 의해 생성된 Audit 이벤트에만 해당합니다.
    type: string
  - name: res
    description: Audit 이벤트를 트리거한 작업의 결과를 기록합니다.
    type: string
  - name: resp
    description: fanotify 접근 제어 결정의 응답을 기록합니다.
    type: string
  - name: result
    description: Audit 이벤트를 트리거한 작업의 결과를 기록합니다.
    type: string
  - name: saddr
    description: 소켓 주소를 기록합니다.
    type: string
  - name: sec
    description: 시스템 시계가 이동한 초 수를 기록합니다.
    type: string
  - name: ses
    description: 분석된 프로세스가 호출된 세션의 세션 ID를 기록합니다.
    type: string
  - name: sig
    description: 프로그램을 비정상 종료시키는 시그널의 번호를 기록합니다. 일반적으로 이는 시스템 침입의 징후입니다.
    type: string
  - name: subj
    description: 주체의 SELinux 컨텍스트를 기록합니다. 주체는 프로세스, 사용자 또는 객체에 작용하는 모든 것이 될 수 있습니다.
    type: string
  - name: subj_clr
    description: 주체의 SELinux 보안 허가 수준을 기록합니다.
    type: string
  - name: subj_role
    description: 주체의 SELinux 역할을 기록합니다.
    type: string
  - name: subj_sen
    description: 주체의 SELinux 민감도를 기록합니다.
    type: string
  - name: subj_type
    description: 주체의 유형을 기록합니다.
    type: string
  - name: subj_user
    description: 주체와 관련된 사용자를 기록합니다.
    type: string
  - name: success
    description: 시스템 호출이 성공했는지 실패했는지 기록합니다.
    type: string
  - name: syscall
    description: 커널로 전송된 시스템 호출의 유형을 기록합니다.
    type: string
  - name: terminal
    description: 터미널 이름(/dev/ 제외)을 기록합니다.
    type: string
  - name: tty
    description: 제어 터미널의 이름을 기록합니다. 프로세스에 제어 터미널이 없으면 (none) 값이 사용됩니다.
    type: string
  - name: vm
    description: Audit 이벤트가 발생한 가상 머신의 이름을 기록합니다.
    type: string
  - name: xattr
    description: EVM에 의해 수정되고 보호된 확장 속성 집합을 기록합니다.
    type: string
  - 이름: pid
    description: pid 필드의 의미는 이 필드의 값 출처에 따라 달라집니다. 사용자 공간에서 생성된 필드에서는 이 필드가 프로세스 ID를 보유합니다. 커널에서 생성된 필드에서는 이 필드가 스레드 ID를 보유합니다. 단일 스레드 프로세스의 경우 스레드 ID는 프로세스 ID와 같습니다. 이 스레드 ID의 값은 사용자 공간에서 사용되는 pthread_t ID의 값과 다릅니다. 자세한 내용은 gettid(2) man page를 참조하세요.
    type: string
  - name: sauid
    description: 발신자 Audit 로그인 사용자 ID를 기록합니다. 커널은 원래 auid를 보내는 사용자를 볼 수 없기 때문에 이 ID는 D-Bus에 의해 제공됩니다.
    type: string
  - name: sgid
    description: 분석된 프로세스를 시작한 사용자의 set group ID를 기록합니다.
    type: string
  - name: oauid
    description: 시스템에 접근하기 위해 로그인한 사용자(예: su 사용과는 다름)로서 대상 프로세스를 시작한 사용자의 사용자 ID를 기록합니다. 이 필드는 OBJ_PID 유형 레코드에만 해당합니다.
    type: string
  - name: opid
    description: 대상 프로세스의 프로세스 ID를 기록합니다. 이 필드는 OBJ_PID 유형 레코드에만 해당합니다.
    type: string
  - name: ouid
    description: 대상 프로세스의 실제 사용자 ID를 기록합니다
    type: string
  - name: ogid
    description: 객체 소유자의 그룹 ID를 기록합니다.
    type: string
  - name: uid
    description: 분석된 프로세스를 시작한 사용자의 실제 사용자 ID를 기록합니다.
    type: string
    indicators:
      - actor_id
  - name: suid
    description: 분석된 프로세스를 시작한 사용자의 set user ID를 기록합니다.
    type: string
  - name: egid
    description: 분석된 프로세스를 시작한 사용자의 효과적 그룹 ID를 기록합니다.
    type: string
  - name: auid
    description: Audit 사용자 ID를 기록합니다. 이 ID는 로그인 시 사용자에게 할당되며, 사용자의 신원이 변경되더라도(예: su -john으로 사용자 계정 전환) 모든 프로세스에 의해 상속됩니다.
    type: string
  - name: euid
    description: 분석된 프로세스를 시작한 사용자의 효과적 사용자 ID를 기록합니다.
    type: string
  - 이름: gid
    description: 그룹 ID를 기록합니다.
    type: string
  - name: extra_message_fields
    description: Panther가 정의한 필드입니다. auditd 로그의 msg 필드에는 임의의 키-값 쌍이 포함될 수 있으며, 이를 맵으로 구조화합니다
    type: json
  - 이름: timestamp
    required: true
    description: 감사 이벤트가 발생했을 때
    type: timestamp
    timeFormats:
      - 유닉스
    isEventTime: true
  - name: eventId
    description: 감사 이벤트의 ID입니다. 동일한 Audit 이벤트의 일부로 생성된 경우 여러 레코드가 동일한 타임스탬프와 ID를 공유할 수 있습니다
    type: string
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/auditd-logs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
