Linux auditd 로그를 찾는 위치 및 내보내는 방법

Linux auditd 로그를 찾는 위치 및 내보내는 방법

SOC Prime Team
SOC Prime Team linkedin icon 팔로우

auditd는 /var/log/audit/audit.log에 기록하며, 이는 root만 읽을 수 있습니다. 원본 형식에서 시간 창을 가장 빠르게 내보내는 방법은 다음과 같습니다:

sudo ausearch --raw -ts yesterday > web-03_audit.log

/var/log/audit가 존재하지 않으면, auditd가 설치되지 않은 것입니다. 이는 Debian과 Ubuntu의 기본값입니다. 이 경우 커널의 감사 이벤트는 journal로 이동하며, journalctl _TRANSPORT=audit에서 찾을 수 있습니다.

auditd는 Linux의 “누가 무엇을 실행하고, 어떤 파일을 건드렸는가”에 대한 답변입니다: 프로세스 실행, 파일 접근, 권한 변경 및 계정 변경까지, syscall까지 다룹니다. Prime Core는 440개 MITRE ATT&CK 기법에 매핑된 auditd 데이터에 대한 1350개의 탐지 규칙을 보유하고 있습니다. 그 중에는 악의적인 셸 사용 (T1059.004), 심어진 SSH 키 (T1098.004), 중요한 파일에 대한 권한 변경 (T1222.002)가 포함됩니다.

무료로 시작하기

시작하기 전에

실행 중이며, 무엇을 기록하고 있습니까?

systemctl is-active auditd

sudo auditctl -l

Red Hat 계열 시스템은 기본적으로 auditd를 설치합니다; Debian과 Ubuntu는 auditd 패키지가 필요합니다. auditctl -l이 No rules를 출력하면 여전히 로그인, 인증 및 SELinux 거부에 대한 기본 기록을 얻을 수 있습니다. 그러나 명령 실행이나 파일 액세스 기록은 없습니다, 아무도 이를 요청하지 않았기 때문입니다.

Root 전용. /var/log/audit는 엄격히 잠겨 있으므로, sudo를 계획하십시오.

회전은 auditd의 자체 기능입니다. auditd는 /etc/audit/auditd.conf의 max_log_file 및 num_logs를 기준으로 스스로 로그를 회전시키며, audit.log.1, audit.log.2 등으로 이동합니다. 더 오래된 기록은 이러한 파일에 있습니다.

형식에 익숙해지는 데 시간이 걸립니다. 하나의 이벤트는 종종 동일한 msg=audit(<epoch>:<serial>) 스탬프를 공유하는 여러 줄(SYSCALL, EXECVE, CWD, PATH, PROCTITLE)로 구성됩니다. 공백이 있는 값은 16진수로 인코딩됩니다. 이는 정상입니다.

단계 1: ausearch를 사용한 내보내기

ausearch는 시간, 기록 유형 또는 규칙 키로 필터링하며, –raw는 원본 형식을 유지합니다:

# 하루, 원본

sudo ausearch --raw -ts yesterday -te today > web-03_audit.log

keywords인 today, yesterday, this-week, recent (최근 10분)은 날짜 형식으로부터 당신을 구해줍니다. 명시적 날짜는 지역 설정을 따르며, 예를 들어 en_US에서는 10/19/2026 00:00:00인데 이는 ‘no matches’라는 놀람의 주된 원인이 됩니다.

업로드를 위해 –raw를 유지하십시오: 원본 기록은 해석된 보기보다 더 많은 정보를 제공합니다.

모든 것을 가져오려면, 파일을 오래된 순서로 연결하십시오:

sudo cat $(ls -tr /var/log/audit/audit.log*) > web-03_audit_all.log

단계 2 (auditd 없음): journal에서 감사 이벤트 가져오기

auditd가 없으면, 커널의 감사 기록은 여전히 journald에 도달합니다:

sudo journalctl _TRANSPORT=audit --since yesterday -o json --no-pager > web-03_audit.jsonl

규칙이 로드되지 않은 경우 대부분 로그인 및 SELinux 또는 AppArmor 메시지를 기대할 수 있지만, 없는 것보다는 낫습니다.

LogTotal에 업로드, 정리 및 검토

[PROOF: confirm LogTotal parses raw auditd format. If it doesn’t yet, publish this guide with the journal JSON route only, or hold it until support lands.]

  1. 업로드. 열기 logtotal.com 및 파일을 드롭하세요.
  2. 정화. [PROOF: what gets masked in auditd records: usernames, hostnames, IPs, paths]. Look it over before you continue.
  3. 검토. 

문제가 발생했을 때

증상가능한 원인Fix
/var/log/audit가 존재하지 않음auditd가 설치되지 않음저널 경로 사용 (2단계)
권한 거부됨root가 아님sudo
로그인만 존재함, 명령 없음로드된 실행 규칙 없음예상됨; 미래를 위한 규칙 추가
ausearch에 <일치 없음>날짜 형식이 지역 설정과 일치하지 않음today, yesterday, this-week 사용
커널 메시지에 “backlog limit exceeded”커널이 로드 중에 감사 이벤트를 놓침로그에 간격이 있는 것으로 취급; backlog_limit 증가

FAQ

지금 auditd를 켜야 하나요?

네, 다음 번을 위해. 규칙이 모든 것을 결정하므로, 자체적으로 작성하기보다는 알려진 규칙 세트에서 시작하십시오. audit 패키지는 샘플 규칙을 제공하며, 잘 유지관리되는 커뮤니티 세트도 존재합니다.

auditd 또는 저널: 어떤 것이 진짜 기록인가?

auditd가 실행 중인 경우, /var/log/audit/audit.log가 완전한 것입니다. 저널은 구성에 따라 부분 사본을 가질 수 있습니다.

SOC Prime의 Detection as Code 플랫폼에 가입하세요 귀사의 비즈니스에 가장 중요한 위협에 대한 가시성을 개선하세요. 시작을 돕고 즉각적인 가치를 제공하기 위해 지금 SOC Prime 전문가와의 회의를 예약하세요.