시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 47/50편 (전체 147/450)
학습 단계: SOC 탐지 연계
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
C영역 상관분석(C46)을 Wazuh로 자동화합니다. 핵심은 auditd의 recon 키를 Wazuh가 받아, 세션 기준으로 상관하는 것입니다. C영역 룰은 102000번대를 씁니다.
탐지 파이프라인
auditd 규칙(recon_*) → audit.log
↓ Wazuh audit 디코더
Wazuh manager (룰 매칭) → recon 단건 룰 + 세션 상관 룰
↓
Alert (102000대) → 대시보드(148편)
룰 계층
단건 : recon_* 키별 조회 (낮은 레벨)
세션 상관: 다영역 결합 (높은 레벨, 102450)
유스케이스: 정찰→다음단계 (E·F·G 연계)
A영역 47편(룰셋 관리)의 방식을 C영역에 적용합니다.
-p r(읽기) 규칙은 이벤트가 많아, 사람 세션(auid)·키·빈도로 좁히지 않으면 로그가 폭증합니다.wazuh-logtest로 검증하고 테스트 환경에서 오탐을 튜닝한 뒤 배포합니다.| 요소 | 내용 |
|---|---|
| auditd 연동 | recon_* 키 규칙(C01~45) |
| Wazuh 디코더 | audit → data.audit.key·session·auid |
| 단건 룰 | 102000~102440(키별) |
| 상관 룰 | 102450(세션 다영역) |
| 검증 | wazuh-logtest |
| 튜닝 | 사람 세션·빈도·예외 |
# 1) auditd recon 규칙이 Wazuh로 수집되는지 확인 (실습 예시)
sudo tail -f /var/ossec/logs/alerts/alerts.log | grep -E 'recon_|102[0-9]{3}'
# 2) 샘플 정찰 로그로 룰 매칭 검증
sudo /var/ossec/bin/wazuh-logtest
# 입력: type=SYSCALL ... auid=1002 ses=12 comm="uname" key="recon_sysinfo"
# 출력: id '102000'(또는 상관 102450) 확인
# 3) 오탐 튜닝: 관리자 계정·백업 스크립트 세션 예외 (좁게)
# local_rules.xml 에 특정 auid/프로그램 예외 룰 추가
**Phase 3: Completed filtering (rules).
id: '102450'
level: '12'
description: '단일 세션의 전방위 정보 수집(다영역 정찰 상관)'
groups: '[..., syssec_c, recon]'
샘플 정찰 로그가 상관 룰(102450)에 매칭되고, 관리자 정상 세션은 단건 낮은 레벨에 그치는 상태가 정상입니다.
$ sudo tail /var/ossec/logs/ossec.log
wazuh-analysisd: ERROR: Invalid regex at rule '102440'
또는
(recon_log 단건 Alert 폭증 — tail/cat 정상 작업까지 탐지)
-p r 읽기 규칙이 너무 넓어 정상 로그 열람까지 Alert 폭증 → 사람 세션·빈도로 좁혀야 함Wazuh 탐지 결과의 구조입니다(가상의 예시).
rule.id: 102450 level: 12
rule.description: 단일 세션의 전방위 정보 수집
data.audit.auid: 1002 data.audit.session: 12
agent.name: rocky9-web01 timestamp: 2026-10-02T02:17:00
rule.mitre.id: ["T1082","T1016","T1087"]
| 필드 | 활용 |
|---|---|
| audit.session | 세션 상관 |
| audit.auid | 행위자 |
| rule.mitre.id | ATT&CK 매핑 |
| agent.name | 호스트 |
-p r 읽기 규칙은 사람 세션·빈도·예외로 좁혀 폭증을 막습니다.<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
<!-- 정상 백업 스크립트 세션 예외(좁게) -->
<rule id="102460" level="2">
<if_sid>102000,102440</if_sid>
<field name="audit.auid">^991$</field> <!-- backup 계정 UID 예시 -->
<description>백업 계정의 정보 조회(정상) - 집계용</description>
</rule>
</group>
예외는 계정·프로그램을 좁게 지정합니다(A영역 48편 원칙). 넓은 예외는 공격자가 그 계정을 악용하는 통로가 됩니다.
| 구분 | 핵심 내용 |
|---|---|
| ID 대역 | C영역 102000~102999 |
| 파이프라인 | auditd(recon_*) → Wazuh → 상관 Alert |
| 핵심 룰 | 102450 세션 다영역 상관 |
| 주의 | -p r 규칙 폭증 → 사람 세션·빈도로 제한 |
| 면접 포인트 | "읽기 감사는 폭증하기 쉬워 세션·빈도로 좁히고 검증 후 배포" |
다음 편 148. Linux 정보 수집 — ELK/SIEM 기반 정보 수집 탐지와 정탐·오탐 판단 에서는 ELK/SIEM 기반 탐지와 정탐·오탐 판단을 다룹니다.
이전 편: 146. Linux 정보 수집 — Linux 정보 수집 행위의 이벤트 상관분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점